|
QUDA
v0.5.0
A library for QCD on GPUs
|
#include <cstdlib>#include <cstdio>#include <iostream>#include <iomanip>#include <cuda.h>#include <gauge_field.h>#include <quda_matrix.h>#include <svd_quda.h>#include <hisq_links_quda.h>Go to the source code of this file.
Classes | |
| class | quda::UnitarizeLinksCuda |
Namespaces | |
| namespace | quda |
Macros | |
| #define | FL_UNITARIZE_PI 3.14159265358979323846 |
| #define | FL_UNITARIZE_PI23 FL_UNITARIZE_PI*2.0/3.0 |
| #define | FL_UNITARIZE_EPS HOST_FL_UNITARIZE_EPS |
| #define | FL_REUNIT_SVD_REL_ERROR HOST_FL_REUNIT_SVD_REL_ERROR |
| #define | FL_REUNIT_SVD_ABS_ERROR HOST_FL_REUNIT_SVD_ABS_ERROR |
| #define | FL_REUNIT_SVD_ONLY HOST_FL_REUNIT_SVD_ONLY |
| #define | FL_REUNIT_ALLOW_SVD HOST_FL_REUNIT_ALLOW_SVD |
| #define | FL_MAX_ERROR HOST_FL_MAX_ERROR |
| #define | MAX_ITER HOST_MAX_ITER |
| #define | FL_MAX_ERROR HOST_FL_MAX_ERROR |
| #define | FL_CHECK_UNITARIZATION HOST_FL_CHECK_UNITARIZATION |
Functions | |
| void | quda::setUnitarizeLinksPadding (int input_padding, int output_padding) |
| template<class Cmplx > | |
| __device__ __host__ bool | quda::isUnitary (const Matrix< Cmplx, 3 > &matrix, double max_error) |
| template<class Cmplx > | |
| __device__ __host__ bool | quda::isUnitarizedLinkConsistent (const Matrix< Cmplx, 3 > &initial_matrix, const Matrix< Cmplx, 3 > &unitary_matrix, double max_error) |
| void | quda::setUnitarizeLinksConstants (double unitarize_eps, double max_error, bool allow_svd, bool svd_only, double svd_rel_error, double svd_abs_error, bool check_unitarization=true) |
| template<class T > | |
| __device__ __host__ T | quda::getAbsMin (const T *const array, int size) |
| template<class Real > | |
| __device__ __host__ bool | quda::checkAbsoluteError (Real a, Real b, Real epsilon) |
| template<class Real > | |
| __device__ __host__ bool | quda::checkRelativeError (Real a, Real b, Real epsilon) |
| template<class Cmplx > | |
| __device__ __host__ bool | quda::reciprocalRoot (const Matrix< Cmplx, 3 > &q, Matrix< Cmplx, 3 > *res) |
| template<class Cmplx > | |
| __host__ __device__ bool | quda::unitarizeLinkMILC (const Matrix< Cmplx, 3 > &in, Matrix< Cmplx, 3 > *const result) |
| template<class Cmplx > | |
| __host__ __device__ bool | quda::unitarizeLinkSVD (const Matrix< Cmplx, 3 > &in, Matrix< Cmplx, 3 > *const result) |
| template<class Cmplx > | |
| __host__ __device__ bool | quda::unitarizeLinkNewton (const Matrix< Cmplx, 3 > &in, Matrix< Cmplx, 3 > *const result) |
| template<class Cmplx > | |
| __global__ void | quda::getUnitarizedField (const Cmplx *inlink_even, const Cmplx *inlink_odd, Cmplx *outlink_even, Cmplx *outlink_odd, int *num_failures, const int threads) |
| void | quda::unitarizeLinksCuda (const QudaGaugeParam ¶m, cudaGaugeField &infield, cudaGaugeField *outfield, int *num_failures) |
| void | quda::unitarizeLinksCPU (const QudaGaugeParam ¶m, cpuGaugeField &infield, cpuGaugeField *outfield) |
| bool | quda::isUnitary (const QudaGaugeParam ¶m, cpuGaugeField &field, double max_error) |
Variables | |
| __constant__ int | quda::INPUT_PADDING =0 |
| __constant__ int | quda::OUTPUT_PADDING =0 |
| __constant__ int | quda::DEV_MAX_ITER = 20 |
| __constant__ double | quda::DEV_FL_MAX_ERROR |
| __constant__ double | quda::DEV_FL_UNITARIZE_EPS |
| __constant__ bool | quda::DEV_FL_REUNIT_ALLOW_SVD |
| __constant__ bool | quda::DEV_FL_REUNIT_SVD_ONLY |
| __constant__ double | quda::DEV_FL_REUNIT_SVD_REL_ERROR |
| __constant__ double | quda::DEV_FL_REUNIT_SVD_ABS_ERROR |
| __constant__ bool | quda::DEV_FL_CHECK_UNITARIZATION |
| #define FL_CHECK_UNITARIZATION HOST_FL_CHECK_UNITARIZATION |
| #define FL_MAX_ERROR HOST_FL_MAX_ERROR |
| #define FL_MAX_ERROR HOST_FL_MAX_ERROR |
| #define FL_REUNIT_ALLOW_SVD HOST_FL_REUNIT_ALLOW_SVD |
| #define FL_REUNIT_SVD_ABS_ERROR HOST_FL_REUNIT_SVD_ABS_ERROR |
| #define FL_REUNIT_SVD_ONLY HOST_FL_REUNIT_SVD_ONLY |
| #define FL_REUNIT_SVD_REL_ERROR HOST_FL_REUNIT_SVD_REL_ERROR |
| #define FL_UNITARIZE_EPS HOST_FL_UNITARIZE_EPS |
| #define FL_UNITARIZE_PI 3.14159265358979323846 |
Definition at line 15 of file unitarize_links_quda.cu.
| #define FL_UNITARIZE_PI23 FL_UNITARIZE_PI*2.0/3.0 |
Definition at line 18 of file unitarize_links_quda.cu.
| #define MAX_ITER HOST_MAX_ITER |
1.8.2