QUDA v0.3.2
A library for QCD on GPUs

quda/include/invert_quda.h

Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines