#include <config.h>
#include <util/data_types.h>
Go to the source code of this file.
Namespaces | |
| namespace | cps |
Classes | |
| struct | cps::comm_params |
| struct | cps::Wilson |
| A container of data relevant to the Wilson matrix multiplication. More... | |
Defines | |
| #define | ND 4 |
| Number of space-time dimensions. | |
| #define | SPINOR_SIZE 24 |
| Number of floating-point numbers in a Dirac spinor. | |
| #define | HALF_SPINOR_SIZE 12 |
| Number of floating-point numbers in half a Dirac spinor. | |
| #define | BLOCK HALF_SPINOR_SIZE |
| Number of floating-point numbers in a two-spinor. | |
| #define | COLUMN_SPINOR_SIZE 6 |
| Number of floating-point numbers in a colour vector. | |
| #define | GAUGE_SIZE 72 |
| Number of floating-point numbers in a colour matrix. | |
Functions | |
| void | wilson_init (Wilson *wilson_p) |
| Initialisation of parameters and memory used in the Wilson matrix multiplication. | |
| void | wilson_end (Wilson *wilson_p) |
| Frees memory reserved by wilson_init. | |
| void | wilson_mdagm (IFloat *chi, IFloat *u, IFloat *psi, IFloat *mp_sq_p, IFloat Kappa, Wilson *wilson_p) |
| Multiplication by the odd-even preconditioned Wilson matrix. | |
| void | wilson_dslash (IFloat *chi, IFloat *u, IFloat *psi, int cb, int dag, Wilson *wilson_p) |
| Multiplication by the Wilson matrix hopping term. | |
| void | wilson_dslash_two (Float *chi0, Float *chi1, Float *u, Float *psi0, Float *psi1, int cb0, int cb1, int dag, Wilson *wp) |
| void | wilson_m (IFloat *chi, IFloat *u, IFloat *psi, IFloat kappa, Wilson *wilson_p) |
| Multiplication by the odd-even preconditioned Wilson matrix. | |
| void | wilson_mdag (IFloat *chi, IFloat *u, IFloat *psi, IFloat kappa, Wilson *wilson_p) |
| Multiplication by the odd-even preconditioned Wilson matrix. | |
| void | wilson_set_sloppy (bool sloppy) |
Variables | |
| int | wfm_wire_map [] |
| Numbers of the wires corresponding to logical directions. | |
| int | wfm_max_scu_poll |
| Some crazy optimisation thing. | |
| int | wfm_scu_diag [] |
| Some crazy optimisation thing. | |
Definition in file wilson.h.
|
|
Number of floating-point numbers in a two-spinor.
Definition at line 48 of file wilson.h. Referenced by cps::wfm_comm_backward(), cps::wfm_comm_forward(), and cps::wfm_sublatt_pointers(). |
|
|
Number of floating-point numbers in a colour vector.
|
|
|
Number of floating-point numbers in a colour matrix.
Definition at line 50 of file wilson.h. Referenced by cps::wilson_dslash(). |
|
|
Number of floating-point numbers in half a Dirac spinor.
|
|
|
Number of space-time dimensions.
Definition at line 42 of file wilson.h. Referenced by cps::DiracOpClover::GetLink(), cps::wilson_m(), and cps::wilson_mdag(). |
|
|
Number of floating-point numbers in a Dirac spinor.
Definition at line 43 of file wilson.h. Referenced by cps::clover_init(), cps::QPropW::SaveQPropLs(), cps::FermionVectorTp::SetBoxSource(), cps::FermionVectorTp::SetVolSource(), cps::FermionVectorTp::SetWallSource(), cps::wilson_compat_init(), and cps::wilson_mdagm(). |
|
||||||||||||||||||||||||||||
|
Multiplication by the Wilson matrix hopping term. The multiplication is performed on all sites of a single parity. The resulting vector is then defined on sites of the opposite parity.
Definition at line 82 of file wilson_dslash.C. References cps::Wilson::ab, cps::Wilson::af, cps::dclock(), cps::ERR, cps::Float, GAUGE_SIZE, cps::Error::General(), cps::IFloat, cps::print_flops(), cps::MPISCU::printf(), QuadLoad, QuadStore, cps::UniqueID(), cps::Wilson::vol, cps::wfm_cmat_two_spproj(), cps::wfm_comm(), cps::wfm_mat_trick(), and cps::wfm_trick(). Referenced by cps::DiracOpClover::CalcHmdForceVecs(), cps::DiracOpClover::MatDagOrNotDbg(), cps::DiracOpClover::MatInv(), and cps::DiracOpClover::MatPcDagOrNot(). |
|
||||||||||||||||||||||||||||||||||||||||
|
Definition at line 108 of file wilson_init.C. References wfm_dslash_two(). Referenced by cps::dwf_dslash_4(), and cps::dwf_dslash_all(). |
|
|
Frees memory reserved by wilson_init. This should be called when the Wilson matrix is no longer needed.
Definition at line 37 of file wilson_init.C. References cps::Verbose::Func(), cps::VRB, wfm_vec_end(), and cps::wilson_compat_end(). Referenced by cps::clover_end(), cps::dwf_end(), and cps::Fwilson::~Fwilson(). |
|
|
Initialisation of parameters and memory used in the Wilson matrix multiplication. This needs to be called once before the Wilson matrix is used.
Definition at line 44 of file wilson_init.C. References cps::GJP, cps::GlobalJobParameter::Tnodes(), cps::GlobalJobParameter::TnodeSites(), wfm_vec_init(), cps::wilson_compat_init(), cps::GlobalJobParameter::Xnodes(), cps::GlobalJobParameter::XnodeSites(), cps::GlobalJobParameter::Ynodes(), cps::GlobalJobParameter::YnodeSites(), cps::GlobalJobParameter::Znodes(), and cps::GlobalJobParameter::ZnodeSites(). Referenced by cps::clover_init(), cps::dwf_init(), and cps::Fwilson::Fwilson(). |
|
||||||||||||||||||||||||
|
Multiplication by the odd-even preconditioned Wilson matrix. The matrix-vector multiplication is performed on all sites with odd parity.
Definition at line 31 of file wilson_m.C. References CHI, Float, cps::Float, cps::IFloat, ND, PSI, cps::Wilson::spinor_tmp, cps::Wilson::vol, cps::wilson_dslash(), and xaxpy(). |
|
||||||||||||||||||||||||
|
Multiplication by the odd-even preconditioned Wilson matrix. The matrix-vector multiplication is performed on all sites of odd parity.
Definition at line 33 of file wilson_mdag.C. References CHI, Float, cps::Float, cps::IFloat, ND, PSI, cps::Wilson::spinor_tmp, cps::Wilson::vol, cps::wilson_dslash(), and xaxpy(). |
|
||||||||||||||||||||||||||||
|
Multiplication by the odd-even preconditioned Wilson matrix.
Performs the multiplication
Definition at line 69 of file wilson_mdagm.C. References cps::dotProduct(), Float, cps::Float, cps::fTimesV1PlusV2(), cps::IFloat, SPINOR_SIZE, cps::Wilson::spinor_tmp, cps::Wilson::vol, cps::wilson_dslash(), xaxpy(), and xaxpy_norm(). |
|
|
Definition at line 33 of file wilson_init.C. Referenced by cps::AlgHmc::run(). |
|
|
Some crazy optimisation thing.
|
|
|
Some crazy optimisation thing. The maximum number of times a wire is polled before wfm_scu_wait exits with an error. Implemented only in d_op_wilson_opt_nos_hdw_diag and d_op_dwf_nos_hdw_diag. Contains diagnostic info about an scu failure to complete for wfm_max_scu_poll polls. Implemented only in d_op_wilson_opt_nos_hdw_diag and d_op_dwf_nos_hdw_diag. The elements of the array are initialized to -1 (0xffffffff) in wilson_init (called by the lattice constructor of all wilson type fermions) except for element 0 that is initialized to 0. The elements of the array have the following meaning:
|
|
|
Numbers of the wires corresponding to logical directions. The wire numbers are stored in the order +X, -X, +Y, -Y, +Z, -Z, +T, -T |
1.3.9.1