QUDA v0.4.0
A library for QCD on GPUs
|
00001 #ifndef _FAT_FORCE_QUDA_H 00002 #define _FAT_FORCE_QUDA_H 00003 00004 #include <quda_internal.h> 00005 #include <quda.h> 00006 #include "gauge_field.h" 00007 00008 #ifdef __cplusplus 00009 extern "C" { 00010 #endif 00011 00012 void loadLinkToGPU(cudaGaugeField* cudaGauge, cpuGaugeField* cpuGauge, QudaGaugeParam* param); 00013 void loadLinkToGPU_ex(cudaGaugeField* cudaGauge, cpuGaugeField* cpuGauge); 00014 void loadLinkToGPU_gf(cudaGaugeField* cudaGauge, cpuGaugeField *cpuGauge, QudaGaugeParam* param); 00015 void storeLinkToCPU(cpuGaugeField* cpuGauge, cudaGaugeField *cudaGauge, QudaGaugeParam* param); 00016 /* void createMomQuda(FullMom* cudaMom, QudaGaugeParam* param); 00017 void freeMomQuda(FullMom *cudaMom); 00018 void storeMomToCPU(void* mom, FullMom cudaMom, QudaGaugeParam* param); 00019 void loadMomToGPU(FullMom cudaMom, void* mom, QudaGaugeParam* param);*/ 00020 void packGhostStaple(int* X, void* even, void* odd, int volume, QudaPrecision prec, int stride, 00021 int dir, int whichway, void** fwd_nbr_buf_gpu, void** back_nbr_buf_gpu, 00022 void** fwd_nbr_buf, void** back_nbr_buf, cudaStream_t* stream); 00023 void unpackGhostStaple(int* X, void* _even, void* _odd, int volume, QudaPrecision prec, int stride, 00024 int dir, int whichway, void** fwd_nbr_buf, void** back_nbr_buf, 00025 cudaStream_t* stream); 00026 void pack_ghost_all_staples_cpu(void *staple, void **cpuGhostStapleBack, void** cpuGhostStapleFwd, int nFace, QudaPrecision precision, int* X); 00027 void pack_ghost_all_links(void **cpuLink, void **cpuGhostBack, void** cpuGhostFwd, int dir, int nFace, QudaPrecision precision, int* X); 00028 void pack_gauge_diag(void* buf, int* X, void** sitelink, int nu, int mu, int dir1, int dir2, QudaPrecision prec); 00029 #define freeLinkQuda freeGaugeField 00030 00031 #define momSiteSize 10 // real numbers per momentum 00032 #define gaugeSiteSize 18 // real numbers per gauge field 00033 00034 #ifdef __cplusplus 00035 } 00036 #endif 00037 00038 #endif // _GAUGE_QUDA_H