QUDA v0.4.0
A library for QCD on GPUs
quda/include/fat_force_quda.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines