QUDA  0.9.0
contractQuda.h
Go to the documentation of this file.
1 #ifndef _CONTRACT_QUDA_H
2 #define _CONTRACT_QUDA_H
3 
4 #include <quda_internal.h>
5 #include <quda.h>
6 
7 namespace quda {
8  void contractCuda(const cudaColorSpinorField &x, const cudaColorSpinorField &y, void *result, const QudaContractType contract_type, const QudaParity parity, TimeProfile &profile);
9  void contractCuda(const cudaColorSpinorField &x, const cudaColorSpinorField &y, void *result, const QudaContractType contract_type, const int tSlice, const QudaParity parity, TimeProfile &profile);
10  void covDev(cudaColorSpinorField *out, cudaGaugeField &gauge, const cudaColorSpinorField *in, const int parity, const int mu, TimeProfile &profile);
11 
12  class CovD {
13  protected:
15  unsigned long long flops;
16 
18 
19  int commDim[QUDA_MAX_DIM]; // whether do comms or not
20 
22 
23  public:
25  ~CovD();
26  CovD& operator=(const CovD &cov);
27 
28  void checkFullSpinor(const cudaColorSpinorField &, const cudaColorSpinorField &) const;
29  void checkSpinorAlias(const cudaColorSpinorField &, const cudaColorSpinorField &) const;
31 
32  void Apply(cudaColorSpinorField &out, const cudaColorSpinorField &in, const QudaParity parity, const int mu);
33  void M(cudaColorSpinorField &out, const cudaColorSpinorField &in, const int mu);
34 
35  unsigned long long Flops();
36  };
37 
38 }
39 
40 #endif
double mu
Definition: test_util.cpp:1643
int commDim[QUDA_MAX_DIM]
Definition: contractQuda.h:19
void M(cudaColorSpinorField &out, const cudaColorSpinorField &in, const int mu)
cudaGaugeField * gauge
Definition: contractQuda.h:14
CovD(cudaGaugeField *gauge, TimeProfile &profile)
CovD & operator=(const CovD &cov)
TimeProfile * profile
Definition: contractQuda.h:21
cpuColorSpinorField * in
void checkParitySpinor(const cudaColorSpinorField &out, const cudaColorSpinorField &in) const
void Apply(cudaColorSpinorField &out, const cudaColorSpinorField &in, const QudaParity parity, const int mu)
enum QudaParity_s QudaParity
QudaTune tune
Definition: contractQuda.h:17
void checkSpinorAlias(const cudaColorSpinorField &, const cudaColorSpinorField &) const
cpuColorSpinorField * out
unsigned long long flops
Definition: contractQuda.h:15
Main header file for the QUDA library.
void contractCuda(const cudaColorSpinorField &x, const cudaColorSpinorField &y, void *result, const QudaContractType contract_type, const QudaParity parity, TimeProfile &profile)
Definition: contract.cu:202
enum QudaTune_s QudaTune
enum QudaContractType_s QudaContractType
#define QUDA_MAX_DIM
Maximum number of dimensions supported by QUDA. In practice, no routines make use of more than 5...
unsigned long long Flops()
QudaParity parity
Definition: covdev_test.cpp:53
void covDev(cudaColorSpinorField *out, cudaGaugeField &gauge, const cudaColorSpinorField *in, const int parity, const int mu, TimeProfile &profile)
void checkFullSpinor(const cudaColorSpinorField &, const cudaColorSpinorField &) const