|
QUDA v0.3.2
A library for QCD on GPUs
|
00001 #ifndef _INVERT_QUDA_H 00002 #define _INVERT_QUDA_H 00003 00004 #include <quda.h> 00005 #include <quda_internal.h> 00006 #include <dirac_quda.h> 00007 #include <color_spinor_field.h> 00008 00009 #ifdef __cplusplus 00010 extern "C" { 00011 #endif 00012 00013 // defined in interface_quda.cpp 00014 00015 extern FullGauge cudaGaugePrecise; 00016 extern FullGauge cudaGaugeSloppy; 00017 00018 extern FullGauge cudaFatLinkPrecise; 00019 extern FullGauge cudaFatLinkSloppy; 00020 00021 extern FullGauge cudaLongLinkPrecise; 00022 extern FullGauge cudaLongLinkSloppy; 00023 00024 extern FullClover cudaCloverPrecise; 00025 extern FullClover cudaCloverSloppy; 00026 00027 extern FullClover cudaCloverInvPrecise; 00028 extern FullClover cudaCloverInvSloppy; 00029 00030 // defined in inv_cg_cuda.cpp 00031 00032 void invertCgCuda(const DiracMatrix &mat, const DiracMatrix &matSloppy, cudaColorSpinorField &x, 00033 cudaColorSpinorField &b, QudaInvertParam *param); 00034 00035 // defined in inv_multi_cg_quda.cpp 00036 00037 int invertMultiShiftCgCuda(const DiracMatrix &mat, const DiracMatrix &matSloppy, cudaColorSpinorField **x, 00038 cudaColorSpinorField b, QudaInvertParam *param, double *offsets, 00039 int num_offsets, double *residue_sq); 00040 00041 // defined in inv_bicgstab_cuda.cpp 00042 00043 void invertBiCGstabCuda(const DiracMatrix &mat, const DiracMatrix &matSloppy, cudaColorSpinorField &x, 00044 cudaColorSpinorField &b, QudaInvertParam *param); 00045 00046 #ifdef __cplusplus 00047 } 00048 #endif 00049 00050 #endif // _INVERT_QUDA_H
1.7.3