1 #ifndef _LATTICE_FIELD_H
2 #define _LATTICE_FIELD_H
21 class cudaEigValueSet;
46 for (
int i=0; i<
nDim; i++)
x[i] = 0;
52 for (
int i=0; i<
nDim; i++) this->x[i] = x[i];
58 for (
int i=0; i<
nDim; i++) this->
x[i] = param.
X[i];
62 std::ostream&
operator<<(std::ostream& output,
const LatticeFieldParam&
param);
162 const int*
X()
const {
return x; }
182 virtual void pack(
int nFace,
int parity,
int dagger, cudaStream_t *stream_p,
bool zeroCopyPack,
183 double a=0,
double b=0)
186 virtual void gather(
int nFace,
int dagger,
int dir, cudaStream_t *stream_p=NULL)
193 {
errorQuda(
"Not implemented");
return 0; }
204 #endif // _LATTICE_FIELD_H
enum QudaPrecision_s QudaPrecision
LatticeFieldParam(int nDim, const int *x, int pad, QudaPrecision precision)
static bool bufferPinnedInit[2]
MsgHandle *** mh_send_back[2]
QudaFieldLocation Location() const
QudaSiteSubset siteSubset
void * my_fwd_face[2][QUDA_MAX_DIM]
LatticeFieldParam(const QudaGaugeParam ¶m)
virtual void setTuningString()
const int * SurfaceCB() const
QudaSiteSubset siteSubset
std::ostream & operator<<(std::ostream &output, const CloverFieldParam ¶m)
QudaPrecision Precision() const
virtual void pack(int nFace, int parity, int dagger, cudaStream_t *stream_p, bool zeroCopyPack, double a=0, double b=0)
static void * bufferDevice
__device__ __host__ int index(int i, int j)
virtual int commsQuery(int nFace, int dir, int dagger=0)
void checkField(const LatticeField &)
static void freeBuffer(int index=0)
const char * VolString() const
MsgHandle *** mh_recv_back[2]
char vol_string[TuneKey::volume_n]
enum QudaSiteSubset_s QudaSiteSubset
void * from_fwd_face[2][QUDA_MAX_DIM]
int surface[QUDA_MAX_DIM]
enum QudaFieldLocation_s QudaFieldLocation
static size_t bufferPinnedResizeCount
void * from_back_face[2][QUDA_MAX_DIM]
void resizeBufferDevice(size_t bytes) const
virtual void scatter(int nFace, int dagger, int dir)
Main header file for the QUDA library.
int SurfaceCB(const int i) const
void * my_back_face[2][QUDA_MAX_DIM]
int surfaceCB[QUDA_MAX_DIM]
static size_t bufferPinnedBytes[2]
static size_t bufferDeviceBytes
#define QUDA_MAX_DIM
Maximum number of dimensions supported by QUDA. In practice, no routines make use of more than 5...
static const int volume_n
MsgHandle *** mh_send_fwd[2]
LatticeField(const LatticeFieldParam ¶m)
virtual void gather(int nFace, int dagger, int dir, cudaStream_t *stream_p=NULL)
virtual void commsStart(int nFace, int dir, int dagger=0)
void resizeBufferPinned(size_t bytes, const int index=0) const
static void * bufferPinned[2]
MsgHandle *** mh_recv_fwd[2]
static bool bufferDeviceInit