|
QUDA
0.9.0
|

Go to the source code of this file.
Namespaces | |
| quda | |
| quda::blas | |
Macros | |
| #define | REAL(a) (*((double*)&a)) |
| #define | IMAG(a) (*((double*)&a+1)) |
Functions | |
| void | quda::blas::init () |
| void | quda::blas::end (void) |
| void * | quda::blas::getDeviceReduceBuffer () |
| void * | quda::blas::getMappedHostReduceBuffer () |
| void * | quda::blas::getHostReduceBuffer () |
| void | quda::blas::setParam (int kernel, int prec, int threads, int blocks) |
| double | quda::blas::norm2 (const ColorSpinorField &a) |
| double | quda::blas::norm1 (const ColorSpinorField &b) |
| void | quda::blas::zero (ColorSpinorField &a) |
| void | quda::blas::copy (ColorSpinorField &dst, const ColorSpinorField &src) |
| double | quda::blas::axpyNorm (const double &a, ColorSpinorField &x, ColorSpinorField &y) |
| double | quda::blas::axpyReDot (const double &a, ColorSpinorField &x, ColorSpinorField &y) |
| double | quda::blas::reDotProduct (ColorSpinorField &x, ColorSpinorField &y) |
| double2 | quda::blas::reDotProductNormA (ColorSpinorField &a, ColorSpinorField &b) |
| double | quda::blas::xmyNorm (ColorSpinorField &x, ColorSpinorField &y) |
| void | quda::blas::axpby (const double &a, ColorSpinorField &x, const double &b, ColorSpinorField &y) |
| void | quda::blas::axpy (const double &a, ColorSpinorField &x, ColorSpinorField &y) |
| void | quda::blas::ax (const double &a, ColorSpinorField &x) |
| void | quda::blas::xpy (ColorSpinorField &x, ColorSpinorField &y) |
| void | quda::blas::xpay (ColorSpinorField &x, const double &a, ColorSpinorField &y) |
| void | quda::blas::xpayz (ColorSpinorField &x, const double &a, ColorSpinorField &y, ColorSpinorField &z) |
| void | quda::blas::mxpy (ColorSpinorField &x, ColorSpinorField &y) |
| void | quda::blas::axpyZpbx (const double &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z, const double &b) |
| void | quda::blas::axpyBzpcx (const double &a, ColorSpinorField &x, ColorSpinorField &y, const double &b, ColorSpinorField &z, const double &c) |
| void | quda::blas::caxpby (const Complex &a, ColorSpinorField &x, const Complex &b, ColorSpinorField &y) |
| void | quda::blas::caxpy (const Complex &a, ColorSpinorField &x, ColorSpinorField &y) |
| void | quda::blas::cxpaypbz (ColorSpinorField &, const Complex &b, ColorSpinorField &y, const Complex &c, ColorSpinorField &z) |
| void | quda::blas::caxpbypzYmbw (const Complex &, ColorSpinorField &, const Complex &, ColorSpinorField &, ColorSpinorField &, ColorSpinorField &) |
| void | quda::blas::caxpyBzpx (const Complex &, ColorSpinorField &, ColorSpinorField &, const Complex &, ColorSpinorField &) |
| void | quda::blas::caxpyBxpz (const Complex &, ColorSpinorField &, ColorSpinorField &, const Complex &, ColorSpinorField &) |
| Complex | quda::blas::cDotProduct (ColorSpinorField &, ColorSpinorField &) |
| Complex | quda::blas::xpaycDotzy (ColorSpinorField &x, const double &a, ColorSpinorField &y, ColorSpinorField &z) |
| double3 | quda::blas::cDotProductNormA (ColorSpinorField &a, ColorSpinorField &b) |
| double3 | quda::blas::cDotProductNormB (ColorSpinorField &a, ColorSpinorField &b) |
| double3 | quda::blas::caxpbypzYmbwcDotProductUYNormY (const Complex &a, ColorSpinorField &x, const Complex &b, ColorSpinorField &y, ColorSpinorField &z, ColorSpinorField &w, ColorSpinorField &u) |
| void | quda::blas::cabxpyAx (const double &a, const Complex &b, ColorSpinorField &x, ColorSpinorField &y) |
| double | quda::blas::caxpyNorm (const Complex &a, ColorSpinorField &x, ColorSpinorField &y) |
| void | quda::blas::caxpyXmaz (const Complex &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| void | quda::blas::caxpyXmazMR (const Complex &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| double | quda::blas::caxpyXmazNormX (const Complex &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| double | quda::blas::cabxpyAxNorm (const double &a, const Complex &b, ColorSpinorField &x, ColorSpinorField &y) |
| void | quda::blas::caxpbypz (const Complex &, ColorSpinorField &, const Complex &, ColorSpinorField &, ColorSpinorField &) |
| void | quda::blas::caxpbypczpw (const Complex &, ColorSpinorField &, const Complex &, ColorSpinorField &, const Complex &, ColorSpinorField &, ColorSpinorField &) |
| Complex | quda::blas::caxpyDotzy (const Complex &a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| Complex | quda::blas::axpyCGNorm (const double &a, ColorSpinorField &x, ColorSpinorField &y) |
| double3 | quda::blas::HeavyQuarkResidualNorm (ColorSpinorField &x, ColorSpinorField &r) |
| double3 | quda::blas::xpyHeavyQuarkResidualNorm (ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &r) |
| void | quda::blas::tripleCGUpdate (const double &alpha, const double &beta, ColorSpinorField &q, ColorSpinorField &r, ColorSpinorField &x, ColorSpinorField &p) |
| double3 | quda::blas::tripleCGReduction (ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| double4 | quda::blas::quadrupleCGReduction (ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| void | quda::blas::caxpy (const Complex *a, std::vector< ColorSpinorField *> &x, std::vector< ColorSpinorField *> &y) |
| Compute the block "caxpy" with over the set of ColorSpinorFields. E.g., it computes. More... | |
| void | quda::blas::caxpy (const Complex *a, ColorSpinorField &x, ColorSpinorField &y) |
| This is a wrapper for calling the block "caxpy" with a composite ColorSpinorField. E.g., it computes. More... | |
| void | quda::blas::caxpy_U (const Complex *a, std::vector< ColorSpinorField *> &x, std::vector< ColorSpinorField *> &y) |
| Compute the block "caxpy_U" with over the set of ColorSpinorFields. E.g., it computes. More... | |
| void | quda::blas::caxpy_U (const Complex *a, ColorSpinorField &x, ColorSpinorField &y) |
| This is a wrapper for calling the block "caxpy_U" with a composite ColorSpinorField. E.g., it computes. More... | |
| void | quda::blas::caxpy_L (const Complex *a, std::vector< ColorSpinorField *> &x, std::vector< ColorSpinorField *> &y) |
| Compute the block "caxpy_L" with over the set of ColorSpinorFields. E.g., it computes. More... | |
| void | quda::blas::caxpy_L (const Complex *a, ColorSpinorField &x, ColorSpinorField &y) |
| This is a wrapper for calling the block "caxpy_U" with a composite ColorSpinorField. E.g., it computes. More... | |
| void | quda::blas::caxpyz (const Complex *a, std::vector< ColorSpinorField *> &x, std::vector< ColorSpinorField *> &y, std::vector< ColorSpinorField *> &z) |
| Compute the block "caxpyz" with over the set of ColorSpinorFields. E.g., it computes. More... | |
| void | quda::blas::caxpyz (const Complex *a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| This is a wrapper for calling the block "caxpyz" with a composite ColorSpinorField. E.g., it computes. More... | |
| void | quda::blas::caxpyz_U (const Complex *a, std::vector< ColorSpinorField *> &x, std::vector< ColorSpinorField *> &y, std::vector< ColorSpinorField *> &z) |
| Compute the block "caxpyz" with over the set of ColorSpinorFields. E.g., it computes. More... | |
| void | quda::blas::caxpyz_U (const Complex *a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| This is a wrapper for calling the block "caxpyz" with a composite ColorSpinorField. E.g., it computes. More... | |
| void | quda::blas::caxpyz_L (const Complex *a, std::vector< ColorSpinorField *> &x, std::vector< ColorSpinorField *> &y, std::vector< ColorSpinorField *> &z) |
| Compute the block "caxpyz" with over the set of ColorSpinorFields. E.g., it computes. More... | |
| void | quda::blas::caxpyz_L (const Complex *a, ColorSpinorField &x, ColorSpinorField &y, ColorSpinorField &z) |
| This is a wrapper for calling the block "caxpyz" with a composite ColorSpinorField. E.g., it computes. More... | |
| void | quda::blas::axpyBzpcx (const double *a, std::vector< ColorSpinorField *> &x, std::vector< ColorSpinorField *> &y, const double *b, ColorSpinorField &z, const double *c) |
| Compute the vectorized "axpyBzpcx" with over the set of ColorSpinorFields, where the third vector, z, is constant over the batch. E.g., it computes. More... | |
| void | quda::blas::caxpyBxpz (const Complex *a_, std::vector< ColorSpinorField *> &x_, ColorSpinorField &y_, const Complex *b_, ColorSpinorField &z_) |
| Compute the vectorized "caxpyBxpz" over the set of ColorSpinorFields, where the second and third vector, y and z, is constant over the batch. E.g., it computes. More... | |
| void | quda::blas::reDotProduct (double *result, std::vector< ColorSpinorField *> &a, std::vector< ColorSpinorField *> &b) |
| void | quda::blas::cDotProduct (Complex *result, std::vector< ColorSpinorField *> &a, std::vector< ColorSpinorField *> &b) |
| Computes the matrix of inner products between the vector set a and the vector set b. More... | |
| void | quda::blas::hDotProduct (Complex *result, std::vector< ColorSpinorField *> &a, std::vector< ColorSpinorField *> &b) |
| Computes the matrix of inner products between the vector set a and the vector set b. This routine is specifically for the case where the result matrix is guarantted to be Hermitian. Requires a.size()==b.size(). More... | |
| void | quda::blas::hDotProduct_Anorm (Complex *result, std::vector< ColorSpinorField *> &a, std::vector< ColorSpinorField *> &b) |
| Computes the matrix of inner products between the vector set a and the vector set b. This routine is specifically for the case where the result matrix is guarantted to be Hermitian. Uniquely defined for cases like (p, Ap) where the output is Hermitian, but there's an A-norm instead of an L2 norm. Requires a.size()==b.size(). More... | |
| void | quda::blas::cDotProductCopy (Complex *result, std::vector< ColorSpinorField *> &a, std::vector< ColorSpinorField *> &b, std::vector< ColorSpinorField *> &c) |
| Computes the matrix of inner products between the vector set a and the vector set b, and copies b into c. More... | |
Variables | |
| unsigned long long | quda::blas::flops |
| unsigned long long | quda::blas::bytes |
Definition at line 14 of file blas_quda.h.
Referenced by quda::blas::cabxpyAx(), quda::blas::cabxpyAxNorm(), quda::blas::caxpby(), quda::blas::caxpbypczpw(), quda::blas::caxpbypz(), quda::blas::caxpbypzYmbw(), quda::blas::caxpbypzYmbwcDotProductUYNormY(), quda::blas::caxpyBxpz(), quda::blas::caxpyBzpx(), quda::blas::caxpyDotzy(), quda::blas::caxpyNorm(), quda::blas::caxpyXmaz(), quda::blas::caxpyXmazMR(), quda::blas::caxpyXmazNormX(), and quda::blas::cxpaypbz().
Definition at line 13 of file blas_quda.h.
Referenced by quda::blas::cabxpyAx(), quda::blas::cabxpyAxNorm(), quda::blas::caxpby(), quda::blas::caxpbypczpw(), quda::blas::caxpbypz(), quda::blas::caxpbypzYmbw(), quda::blas::caxpbypzYmbwcDotProductUYNormY(), quda::blas::caxpyBxpz(), quda::blas::caxpyBzpx(), quda::blas::caxpyDotzy(), quda::blas::caxpyNorm(), quda::blas::caxpyXmaz(), quda::blas::caxpyXmazMR(), quda::blas::caxpyXmazNormX(), and quda::blas::cxpaypbz().
1.8.14