QUDA
v1.1.0
A library for QCD on GPUs
|
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <complex>
#include <quda.h>
#include <gauge_field.h>
Go to the source code of this file.
Classes | |
struct | Sign< N > |
struct | Sign< 1 > |
struct | Promote< T, U > |
struct | Promote< int, float > |
struct | Promote< float, int > |
struct | Promote< int, double > |
struct | Promote< double, int > |
struct | Promote< float, double > |
struct | Promote< double, float > |
struct | Promote< int, std::complex< float > > |
struct | Promote< std::complex< float >, int > |
struct | Promote< float, std::complex< float > > |
struct | Promote< int, std::complex< double > > |
struct | Promote< std::complex< double >, int > |
struct | Promote< float, std::complex< double > > |
struct | Promote< std::complex< double >, float > |
struct | Promote< double, std::complex< double > > |
struct | Promote< std::complex< double >, double > |
class | Matrix< N, T > |
struct | Identity< N, T > |
struct | Zero< N, T > |
class | LoadStore< Real > |
struct | Locator< oddBit > |
struct | ColorMatrix< Real > |
struct | PathCoefficients< Real > |
Macros | |
#define | RETURN_IF_ERR if(err) return; |
#define | Pmu tempmat[0] |
#define | P3 tempmat[1] |
#define | P5 tempmat[2] |
#define | Pnumu tempmat[3] |
#define | Qmu tempmat[4] |
#define | Qnumu tempmat[5] |
Functions | |
template<int N, class T > | |
Matrix< N, T > | operator+ (const Matrix< N, T > &a, const Matrix< N, T > &b) |
template<int N, class T > | |
Matrix< N, T > | operator- (const Matrix< N, T > &a, const Matrix< N, T > &b) |
template<int N, class T > | |
Matrix< N, T > | operator* (const Matrix< N, T > &a, const Matrix< N, T > &b) |
template<int N, class T > | |
Matrix< N, std::complex< T > > | conj (const Matrix< N, std::complex< T > > &mat) |
template<int N, class T > | |
Matrix< N, T > | transpose (const Matrix< N, std::complex< T > > &mat) |
template<int N, class T , class U > | |
Matrix< N, typename Promote< T, U >::Type > | operator* (const Matrix< N, T > &mat, const U &scalar) |
template<int N, class T , class U > | |
Matrix< N, typename Promote< T, U >::Type > | operator* (const U &scalar, const Matrix< N, T > &mat) |
template<int N, class T > | |
std::ostream & | operator<< (std::ostream &os, const Matrix< N, T > &m) |
template<class Real , int oddBit> | |
void | computeOneLinkSite (const int dim[4], int half_lattice_index, const Real *const oprod, int sig, Real coeff, const LoadStore< Real > &ls, Real *const output) |
template<class Real > | |
void | computeOneLinkField (const int dim[4], const Real *const oprod, int sig, Real coeff, Real *const output) |
template<class Real , int oddBit> | |
void | computeMiddleLinkSite (int half_lattice_index, const int dim[4], const Real *const oprod, const Real *const Qprev, const Real *const link, int sig, int mu, Real coeff, const LoadStore< Real > &ls, Real *const Pmu, Real *const P3, Real *const Qmu, Real *const newOprod) |
template<class Real > | |
void | computeMiddleLinkField (const int dim[4], const Real *const oprod, const Real *const Qprev, const Real *const link, int sig, int mu, Real coeff, Real *const Pmu, Real *const P3, Real *const Qmu, Real *const newOprod) |
template<class Real , int oddBit> | |
void | computeSideLinkSite (int half_lattice_index, const int dim[4], const Real *const P3, const Real *const Qprod, const Real *const link, int sig, int mu, Real coeff, Real accumu_coeff, const LoadStore< Real > &ls, Real *const shortP, Real *const newOprod) |
template<class Real > | |
void | computeSideLinkField (const int dim[4], const Real *const P3, const Real *const Qprod, const Real *const link, int sig, int mu, Real coeff, Real accumu_coeff, Real *const shortP, Real *const newOprod) |
template<class Real , int oddBit> | |
void | computeAllLinkSite (int half_lattice_index, const int dim[4], const Real *const oprod, const Real *const Qprev, const Real *const link, int sig, int mu, Real coeff, Real accumu_coeff, const LoadStore< Real > &ls, Real *const shortP, Real *const newOprod) |
template<class Real > | |
void | computeAllLinkField (const int dim[4], const Real *const oprod, const Real *const Qprev, const Real *const link, int sig, int mu, Real coeff, Real accumu_coeff, Real *const shortP, Real *const newOprod) |
template<class Real > | |
void | doHisqStaplesForceCPU (const int dim[4], PathCoefficients< double > staple_coeff, Real *oprod, Real *link, Real **tempmat, Real *newOprod) |
void | hisqStaplesForceCPU (const double *path_coeff, const QudaGaugeParam ¶m, cpuGaugeField &oprod, cpuGaugeField &link, cpuGaugeField *newOprod) |
template<class Real , int oddBit> | |
void | computeLongLinkSite (int half_lattice_index, const int dim[4], const Real *const oprod, const Real *const link, int sig, Real coeff, const LoadStore< Real > &ls, Real *const output) |
template<class Real > | |
void | computeLongLinkField (const int dim[4], const Real *const oprod, const Real *const link, int sig, Real coeff, Real *const output) |
void | hisqLongLinkForceCPU (double coeff, const QudaGaugeParam ¶m, cpuGaugeField &oprod, cpuGaugeField &link, cpuGaugeField *newOprod) |
template<class Real , int oddBit> | |
void | completeForceSite (int half_lattice_index, const int dim[4], const Real *const oprod, const Real *const link, int sig, const LoadStore< Real > &ls, Real *const mom) |
template<class Real > | |
void | completeForceField (const int dim[4], const Real *const oprod, const Real *const link, int sig, Real *const mom) |
void | hisqCompleteForceCPU (const QudaGaugeParam ¶m, cpuGaugeField &oprod, cpuGaugeField &link, cpuGaugeField *mom) |
Variables | |
int | gauge_order |
int | Vh |
int | Vh_ex |
#define P3 tempmat[1] |
Definition at line 1239 of file hisq_force_reference2.cpp.
#define P5 tempmat[2] |
Definition at line 1240 of file hisq_force_reference2.cpp.
#define Pmu tempmat[0] |
Definition at line 1238 of file hisq_force_reference2.cpp.
#define Pnumu tempmat[3] |
Definition at line 1241 of file hisq_force_reference2.cpp.
#define Qmu tempmat[4] |
Definition at line 1242 of file hisq_force_reference2.cpp.
#define Qnumu tempmat[5] |
Definition at line 1243 of file hisq_force_reference2.cpp.
#define RETURN_IF_ERR if(err) return; |
Definition at line 13 of file hisq_force_reference2.cpp.
void completeForceField | ( | const int | dim[4], |
const Real *const | oprod, | ||
const Real *const | link, | ||
int | sig, | ||
Real *const | mom | ||
) |
Definition at line 1570 of file hisq_force_reference2.cpp.
void completeForceSite | ( | int | half_lattice_index, |
const int | dim[4], | ||
const Real *const | oprod, | ||
const Real *const | link, | ||
int | sig, | ||
const LoadStore< Real > & | ls, | ||
Real *const | mom | ||
) |
Definition at line 1542 of file hisq_force_reference2.cpp.
void computeAllLinkField | ( | const int | dim[4], |
const Real *const | oprod, | ||
const Real *const | Qprev, | ||
const Real *const | link, | ||
int | sig, | ||
int | mu, | ||
Real | coeff, | ||
Real | accumu_coeff, | ||
Real *const | shortP, | ||
Real *const | newOprod | ||
) |
Definition at line 1198 of file hisq_force_reference2.cpp.
void computeAllLinkSite | ( | int | half_lattice_index, |
const int | dim[4], | ||
const Real *const | oprod, | ||
const Real *const | Qprev, | ||
const Real *const | link, | ||
int | sig, | ||
int | mu, | ||
Real | coeff, | ||
Real | accumu_coeff, | ||
const LoadStore< Real > & | ls, | ||
Real *const | shortP, | ||
Real *const | newOprod | ||
) |
Definition at line 1101 of file hisq_force_reference2.cpp.
void computeLongLinkField | ( | const int | dim[4], |
const Real *const | oprod, | ||
const Real *const | link, | ||
int | sig, | ||
Real | coeff, | ||
Real *const | output | ||
) |
Definition at line 1481 of file hisq_force_reference2.cpp.
void computeLongLinkSite | ( | int | half_lattice_index, |
const int | dim[4], | ||
const Real *const | oprod, | ||
const Real *const | link, | ||
int | sig, | ||
Real | coeff, | ||
const LoadStore< Real > & | ls, | ||
Real *const | output | ||
) |
Definition at line 1425 of file hisq_force_reference2.cpp.
void computeMiddleLinkField | ( | const int | dim[4], |
const Real *const | oprod, | ||
const Real *const | Qprev, | ||
const Real *const | link, | ||
int | sig, | ||
int | mu, | ||
Real | coeff, | ||
Real *const | Pmu, | ||
Real *const | P3, | ||
Real *const | Qmu, | ||
Real *const | newOprod | ||
) |
Definition at line 934 of file hisq_force_reference2.cpp.
void computeMiddleLinkSite | ( | int | half_lattice_index, |
const int | dim[4], | ||
const Real *const | oprod, | ||
const Real *const | Qprev, | ||
const Real *const | link, | ||
int | sig, | ||
int | mu, | ||
Real | coeff, | ||
const LoadStore< Real > & | ls, | ||
Real *const | Pmu, | ||
Real *const | P3, | ||
Real *const | Qmu, | ||
Real *const | newOprod | ||
) |
Definition at line 834 of file hisq_force_reference2.cpp.
void computeOneLinkField | ( | const int | dim[4], |
const Real *const | oprod, | ||
int | sig, | ||
Real | coeff, | ||
Real *const | output | ||
) |
Definition at line 798 of file hisq_force_reference2.cpp.
void computeOneLinkSite | ( | const int | dim[4], |
int | half_lattice_index, | ||
const Real *const | oprod, | ||
int | sig, | ||
Real | coeff, | ||
const LoadStore< Real > & | ls, | ||
Real *const | output | ||
) |
Definition at line 777 of file hisq_force_reference2.cpp.
void computeSideLinkField | ( | const int | dim[4], |
const Real *const | P3, | ||
const Real *const | Qprod, | ||
const Real *const | link, | ||
int | sig, | ||
int | mu, | ||
Real | coeff, | ||
Real | accumu_coeff, | ||
Real *const | shortP, | ||
Real *const | newOprod | ||
) |
Definition at line 1057 of file hisq_force_reference2.cpp.
void computeSideLinkSite | ( | int | half_lattice_index, |
const int | dim[4], | ||
const Real *const | P3, | ||
const Real *const | Qprod, | ||
const Real *const | link, | ||
int | sig, | ||
int | mu, | ||
Real | coeff, | ||
Real | accumu_coeff, | ||
const LoadStore< Real > & | ls, | ||
Real *const | shortP, | ||
Real *const | newOprod | ||
) |
Definition at line 980 of file hisq_force_reference2.cpp.
Matrix<N,std::complex<T> > conj | ( | const Matrix< N, std::complex< T > > & | mat | ) |
Definition at line 231 of file hisq_force_reference2.cpp.
void doHisqStaplesForceCPU | ( | const int | dim[4], |
PathCoefficients< double > | staple_coeff, | ||
Real * | oprod, | ||
Real * | link, | ||
Real ** | tempmat, | ||
Real * | newOprod | ||
) |
Definition at line 1258 of file hisq_force_reference2.cpp.
void hisqCompleteForceCPU | ( | const QudaGaugeParam & | param, |
cpuGaugeField & | oprod, | ||
cpuGaugeField & | link, | ||
cpuGaugeField * | mom | ||
) |
Definition at line 1602 of file hisq_force_reference2.cpp.
void hisqLongLinkForceCPU | ( | double | coeff, |
const QudaGaugeParam & | param, | ||
cpuGaugeField & | oprod, | ||
cpuGaugeField & | link, | ||
cpuGaugeField * | newOprod | ||
) |
Definition at line 1514 of file hisq_force_reference2.cpp.
void hisqStaplesForceCPU | ( | const double * | path_coeff, |
const QudaGaugeParam & | param, | ||
cpuGaugeField & | oprod, | ||
cpuGaugeField & | link, | ||
cpuGaugeField * | newOprod | ||
) |
Definition at line 1365 of file hisq_force_reference2.cpp.
Matrix<N,T> operator* | ( | const Matrix< N, T > & | a, |
const Matrix< N, T > & | b | ||
) |
Definition at line 216 of file hisq_force_reference2.cpp.
Matrix<N, typename Promote<T,U>::Type> operator* | ( | const Matrix< N, T > & | mat, |
const U & | scalar | ||
) |
Definition at line 255 of file hisq_force_reference2.cpp.
Matrix<N, typename Promote<T,U>::Type> operator* | ( | const U & | scalar, |
const Matrix< N, T > & | mat | ||
) |
Definition at line 269 of file hisq_force_reference2.cpp.
Matrix<N,T> operator+ | ( | const Matrix< N, T > & | a, |
const Matrix< N, T > & | b | ||
) |
Definition at line 200 of file hisq_force_reference2.cpp.
Matrix<N,T> operator- | ( | const Matrix< N, T > & | a, |
const Matrix< N, T > & | b | ||
) |
Definition at line 208 of file hisq_force_reference2.cpp.
std::ostream& operator<< | ( | std::ostream & | os, |
const Matrix< N, T > & | m | ||
) |
Definition at line 297 of file hisq_force_reference2.cpp.
Definition at line 243 of file hisq_force_reference2.cpp.
|
extern |
Definition at line 34 of file hisq_paths_force_test.cpp.
|
extern |
Definition at line 38 of file host_utils.cpp.
|
extern |
Definition at line 46 of file host_utils.cpp.