16 static std::multimap<size_t, void *> pinnedCache;
19 static std::map<void *, size_t> pinnedSize;
61 void setupDims(
const int *X,
int Ls);
63 void *allocatePinned(
size_t nbytes);
64 void freePinned(
void *ptr);
67 FaceBuffer(
const int *X,
const int nDim,
const int Ninternal,
68 const int nFace,
const QudaPrecision precision,
const int Ls = 1);
86 bool zeroCopyPack=
false,
double a=0);
89 cudaStream_t *stream,
bool zeroCopyPack=
false,
double a=0);
92 cudaStream_t *stream,
bool zeroCopyPack=
false,
double a=0);
95 cudaStream_t *stream,
bool zeroCopyPack=
false,
double a=0,
double b=0);
98 cudaStream_t *stream,
bool zeroCopyPack=
false,
double a=0,
double b=0);
101 cudaStream_t *stream,
bool zeroCopyPack=
false,
double a=0,
double b=0);
142 void** ghost_sitelink_diag,
162 #endif // _FACE_QUDA_H
void reduceMaxDouble(double &)
void exchange_llfat_cleanup(void)
void pack(quda::cudaColorSpinorField &in, quda::FullClover &clov, quda::FullClover &clovInv, int dim, int dir, int parity, int dagger, cudaStream_t *stream, bool zeroCopyPack=false, double a=0)
enum QudaPrecision_s QudaPrecision
int commDimPartitioned(int dir)
void exchange_cpu_staple(int *X, void *staple, void **ghost_staple, QudaPrecision gPrecision)
void commDimPartitionedSet(int dir)
void exchange_gpu_staple(int *X, void *_cudaStaple, cudaStream_t *stream)
void exchange_llfat_init(QudaPrecision prec)
void exchangeLink(void **ghost_link, void **link_sendbuf, QudaFieldLocation location)
void exchange_cpu_sitelink_ex(int *X, int *R, void **sitelink, QudaGaugeFieldOrder cpu_order, QudaPrecision gPrecision, int optflag, int geometry)
void exchange_gpu_staple_start(int *X, void *_cudaStaple, int dir, int whichway, cudaStream_t *stream)
void gather(quda::cudaColorSpinorField &in, int dagger, int dir, int streamIdx)
const QudaFieldLocation location
void scatter(quda::cudaColorSpinorField &out, int dagger, int dir)
static void flushPinnedCache()
void reduceDoubleArray(double *, const int len)
void exchangeCpuSpinor(quda::cpuColorSpinorField &in, int parity, int dagger)
FaceBuffer(const int *X, const int nDim, const int Ninternal, const int nFace, const QudaPrecision precision, const int Ls=1)
enum QudaGaugeFieldOrder_s QudaGaugeFieldOrder
void exchange_gpu_staple_wait(int *X, void *_cudaStaple, int dir, int whichway, cudaStream_t *stream)
enum QudaFieldLocation_s QudaFieldLocation
cpuColorSpinorField * out
void exchange_gpu_staple_comms(int *X, void *_cudaStaple, int dir, int whichway, cudaStream_t *stream)
void reduceDouble(double &)
#define QUDA_MAX_DIM
Maximum number of dimensions supported by QUDA. In practice, no routines make use of more than 5...
void exchange_cpu_sitelink(int *X, void **sitelink, void **ghost_sitelink, void **ghost_sitelink_diag, QudaPrecision gPrecision, QudaGaugeParam *param, int optflag)