|
QUDA
1.0.0
|
#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 | |
| static int | OPP_DIR (int dir) |
| static bool | GOES_FORWARDS (int dir) |
| 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.
Referenced by computeMiddleLinkField(), computeSideLinkField(), and doHisqStaplesForceCPU().
| #define P5 tempmat[2] |
Definition at line 1240 of file hisq_force_reference2.cpp.
Referenced by doHisqStaplesForceCPU().
| #define Pmu tempmat[0] |
Definition at line 1238 of file hisq_force_reference2.cpp.
Referenced by computeMiddleLinkField(), and doHisqStaplesForceCPU().
| #define Pnumu tempmat[3] |
Definition at line 1241 of file hisq_force_reference2.cpp.
Referenced by doHisqStaplesForceCPU().
| #define Qmu tempmat[4] |
Definition at line 1242 of file hisq_force_reference2.cpp.
Referenced by computeMiddleLinkField(), and doHisqStaplesForceCPU().
| #define Qnumu tempmat[5] |
Definition at line 1243 of file hisq_force_reference2.cpp.
Referenced by doHisqStaplesForceCPU().
| #define RETURN_IF_ERR if(err) return; |
Definition at line 13 of file hisq_force_reference2.cpp.
Referenced by computeAllLinkSite(), computeMiddleLinkSite(), and computeSideLinkSite().
| 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.
References Locator< oddBit >::volume.
| 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.
References LoadStore< Real >::half_idx_conversion_normal2ex(), LoadStore< Real >::loadMatrixFromField(), and LoadStore< Real >::storeMatrixToMomentumField().

| 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.
References mu, Vh_ex, and Locator< oddBit >::volume.
| 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.
References LoadStore< Real >::addMatrixToField(), conj(), Locator< oddBit >::getFullFromHalfIndex(), Locator< oddBit >::getNeighborFromFullIndex(), GOES_FORWARDS(), LoadStore< Real >::loadMatrixFromField(), OPP_DIR(), RETURN_IF_ERR, and X.

| 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.
References Locator< oddBit >::volume.
| 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.
References LoadStore< Real >::addMatrixToField(), Locator< oddBit >::getFullFromHalfIndex(), Locator< oddBit >::getNeighborFromFullIndex(), GOES_FORWARDS(), LoadStore< Real >::half_idx_conversion_normal2ex(), LoadStore< Real >::loadMatrixFromField(), OPP_DIR(), and X.

| 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.
References mu, P3, Pmu, Qmu, Vh_ex, and Locator< oddBit >::volume.
| 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.
References LoadStore< Real >::addMatrixToField(), conj(), Locator< oddBit >::getFullFromHalfIndex(), Locator< oddBit >::getNeighborFromFullIndex(), GOES_FORWARDS(), LoadStore< Real >::loadMatrixFromField(), OPP_DIR(), RETURN_IF_ERR, LoadStore< Real >::storeMatrixToField(), and X.

| 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.
References Locator< oddBit >::volume.
Referenced by doHisqStaplesForceCPU().

| 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.
References LoadStore< Real >::addMatrixToField(), GOES_FORWARDS(), LoadStore< Real >::half_idx_conversion_normal2ex(), and LoadStore< Real >::loadMatrixFromField().

| 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.
References mu, P3, Vh_ex, and Locator< oddBit >::volume.
| 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.
References LoadStore< Real >::addMatrixToField(), conj(), Locator< oddBit >::getFullFromHalfIndex(), Locator< oddBit >::getNeighborFromFullIndex(), GOES_FORWARDS(), LoadStore< Real >::loadMatrixFromField(), OPP_DIR(), RETURN_IF_ERR, and X.

| Matrix<N,std::complex<T> > conj | ( | const Matrix< N, std::complex< T > > & | mat | ) |
Definition at line 231 of file hisq_force_reference2.cpp.
References mat().
Referenced by quda::CG::blocksolve(), cloverReference(), computeAllLinkSite(), computeMiddleLinkSite(), computeSideLinkSite(), computeSVD(), constructHHMat(), getRealBidiagMatrix(), and orthogonalize().


| 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.
References computeOneLinkField(), PathCoefficients< Real >::five, PathCoefficients< Real >::lepage, mu, PathCoefficients< Real >::one, OPP_DIR(), P3, P5, Pmu, Pnumu, Qmu, Qnumu, PathCoefficients< Real >::seven, and PathCoefficients< Real >::three.

|
static |
Definition at line 20 of file hisq_force_reference2.cpp.
Referenced by computeAllLinkSite(), computeLongLinkSite(), computeMiddleLinkSite(), computeOneLinkSite(), and computeSideLinkSite().

| void hisqCompleteForceCPU | ( | const QudaGaugeParam & | param, |
| cpuGaugeField & | oprod, | ||
| cpuGaugeField & | link, | ||
| cpuGaugeField * | mom | ||
| ) |
Definition at line 1602 of file hisq_force_reference2.cpp.
References QudaGaugeParam_s::cpu_prec, errorQuda, quda::cpuGaugeField::Gauge_p(), QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, and QudaGaugeParam_s::X.
Referenced by hisq_force_test().


| void hisqLongLinkForceCPU | ( | double | coeff, |
| const QudaGaugeParam & | param, | ||
| cpuGaugeField & | oprod, | ||
| cpuGaugeField & | link, | ||
| cpuGaugeField * | newOprod | ||
| ) |
Definition at line 1514 of file hisq_force_reference2.cpp.
References QudaGaugeParam_s::cpu_prec, errorQuda, quda::cpuGaugeField::Gauge_p(), QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, and QudaGaugeParam_s::X.
Referenced by hisq_force_test().


| 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.
References QudaGaugeParam_s::cpu_prec, errorQuda, PathCoefficients< Real >::five, quda::cpuGaugeField::Gauge_p(), PathCoefficients< Real >::lepage, PathCoefficients< Real >::naik, PathCoefficients< Real >::one, QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, PathCoefficients< Real >::seven, PathCoefficients< Real >::three, Vh_ex, Locator< oddBit >::volume, and QudaGaugeParam_s::X.
Referenced by hisq_force_test().


| 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.
References mat().

| 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.
|
static |
Definition at line 19 of file hisq_force_reference2.cpp.
Referenced by computeAllLinkSite(), computeLongLinkSite(), computeMiddleLinkSite(), computeSideLinkSite(), and doHisqStaplesForceCPU().

Definition at line 243 of file hisq_force_reference2.cpp.
References mat().

| int gauge_order |
Definition at line 17 of file gauge_force_test.cpp.
Referenced by LoadStore< Real >::addData(), display_test_info(), gauge_force_test(), LoadStore< Real >::getData(), hisq_force_init(), main(), and printQudaGaugeParam().
| int Vh |
Definition at line 28 of file test_util.cpp.
Referenced by LoadStore< Real >::addMatrixToField(), LoadStore< Real >::loadMatrixFromField(), and LoadStore< Real >::storeMatrixToField().
| int Vh_ex |
Definition at line 36 of file test_util.cpp.
Referenced by LoadStore< Real >::addMatrixToField(), computeAllLinkField(), computeMiddleLinkField(), computeSideLinkField(), hisqStaplesForceCPU(), LoadStore< Real >::loadMatrixFromField(), and LoadStore< Real >::storeMatrixToField().
1.8.13