7 #include <sse_config.h>
8 #include "sse_dslash.h"
9 #include "sse_dslash_qdp_packer.h"
13 namespace SSERefCount {
21 QDPIO::cout <<
"Calling init_sse_su3dslash()... " << std::endl;
26 init_sse_su3dslash(Layout::lattSize().slice(),
27 Layout::QDPXX_getSiteCoords,
28 Layout::QDPXX_getLinearSiteIndex,
29 Layout::QDPXX_nodeNumber);
58 const multi1d<Real>& coeffs_)
85 const multi1d<Real>& coeffs_)
96 if (
fbc.operator->() == 0)
98 QDPIO::cerr <<
"SSEWilsonDslash: error: fbc is null" << std::endl;
103 multi1d<LatticeColorMatrix>
u =
state->getLinks();
106 for(
int mu=0;
mu <
u.size(); ++
mu)
115 QDPIO::cout <<
"Done " << std::endl << std::flush;
117 QDPIO::cout <<
"Calling pack_gauge_field..." << std::flush;
123 QDPIO::cout <<
"Done" << std::endl << std::flush;
135 QDPIO::cout <<
"Calling free_sse_su3dslash()... " << std::endl;
177 int source_cb = 1 -
cb;
179 int cbsites = QDP::Layout::sitesOnNode()/2;
182 (SSEREAL *)&(
psi.elem(0).elem(0).elem(0).real()),
183 (SSEREAL *)&(
chi.elem(0).elem(0).elem(0).real()),
184 (
int)
isign, source_cb);
Primary include file for CHROMA library code.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
void init()
Init internals.
Handle< FermBC< T, P, Q > > fbc
SSEWilsonDslash()
Empty constructor. Must use create later.
~SSEWilsonDslash()
No real need for cleanup here.
void create(Handle< FermState< T, P, Q > > state)
Creation routine.
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
multi1d< PrimitiveSU3Matrix > packed_gauge
void apply(LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, int cb) const
General Wilson-Dirac dslash.
Wilson Dslash linear operator.
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
multi1d< LatticeFermion > chi(Ncb)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
multi1d< Real > makeFermCoeffs(const AnisoParam_t &aniso)
Make fermion coefficients.
Parameters for anisotropy.