|
QUDA v0.3.2
A library for QCD on GPUs
|
00001 #ifndef _GAUGE_QUDA_H 00002 #define _GAUGE_QUDA_H 00003 00004 #include <quda_internal.h> 00005 #include <quda.h> 00006 00007 #ifdef __cplusplus 00008 extern "C" { 00009 #endif 00010 00011 void createGaugeField(FullGauge *cudaGauge, void *cpuGauge, QudaPrecision cuda_prec, QudaPrecision cpu_prec, 00012 GaugeFieldOrder gauge_order, ReconstructType reconstruct, GaugeFixed gauge_fixed, 00013 Tboundary t_boundary, int *XX, double anisotropy, double tadpole_coeff, int pad); 00014 00015 void restoreGaugeField(void *cpuGauge, FullGauge *cudaGauge, QudaPrecision cpu_prec, GaugeFieldOrder gauge_order); 00016 00017 void freeGaugeField(FullGauge *cudaGauge); 00018 00019 void loadLinkToGPU(FullGauge cudaGauge, void *cpuGauge, QudaGaugeParam* param); 00020 void storeLinkToCPU(void* cpuGauge, FullGauge *cudaGauge, QudaGaugeParam* param); 00021 void createLinkQuda(FullGauge* cudaGauge, QudaGaugeParam* param); 00022 void createStapleQuda(FullStaple* cudaStaple, QudaGaugeParam* param); 00023 void freeStapleQuda(FullStaple* cudaStaple); 00024 void createMomQuda(FullMom* cudaMom, QudaGaugeParam* param); 00025 void freeMomQuda(FullMom *cudaMom); 00026 void storeMomToCPU(void* mom, FullMom cudaMom, QudaGaugeParam* param); 00027 void loadMomToGPU(FullMom cudaMom, void* mom, QudaGaugeParam* param); 00028 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
1.7.3