QUDA
v0.7.0
A library for QCD on GPUs
|
Go to the source code of this file.
Macros | |
#define | DEVICEHOST __device__ __host__ |
#define | SVDPREC 1e-11 |
#define | LOG2 0.69314718055994530942 |
Functions | |
template<class Cmplx > | |
DEVICEHOST RealTypeId< Cmplx > ::Type | cabs (const Cmplx &z) |
template<class T , class U > | |
DEVICEHOST PromoteTypeId< T, U > ::Type | quadSum (const T &a, const U &b) |
DEVICEHOST float | getNorm (const Array< float2, 3 > &a) |
DEVICEHOST double | getNorm (const Array< double2, 3 > &a) |
template<class T > | |
DEVICEHOST void | constructHHMat (const T &tau, const Array< T, 3 > &v, Matrix< T, 3 > &hh) |
template<class Real > | |
DEVICEHOST void | getLambdaMax (const Matrix< Real, 3 > &b, Real &lambda_max) |
template<class Real > | |
DEVICEHOST void | getGivensRotation (const Real &alpha, const Real &beta, Real &c, Real &s) |
template<class Real > | |
DEVICEHOST void | accumGivensRotation (int index, const Real &c, const Real &s, Matrix< Real, 3 > &m) |
template<class Real > | |
DEVICEHOST void | assignGivensRotation (const Real &c, const Real &s, Matrix< Real, 2 > &m) |
template<class Real > | |
DEVICEHOST void | swap (Real &a, Real &b) |
template<class Real > | |
DEVICEHOST void | smallSVD (Matrix< Real, 2 > &u, Matrix< Real, 2 > &v, Matrix< Real, 2 > &m) |
template<class Cmplx > | |
DEVICEHOST void | getRealBidiagMatrix (const Matrix< Cmplx, 3 > &mat, Matrix< Cmplx, 3 > &u, Matrix< Cmplx, 3 > &v) |
template<class Real > | |
DEVICEHOST void | bdSVD (Matrix< Real, 3 > &u, Matrix< Real, 3 > &v, Matrix< Real, 3 > &b, int max_it) |
template<class Cmplx > | |
DEVICEHOST void | computeSVD (const Matrix< Cmplx, 3 > &m, Matrix< Cmplx, 3 > &u, Matrix< Cmplx, 3 > &v, typename RealTypeId< Cmplx >::Type singular_values[3]) |
#define DEVICEHOST __device__ __host__ |
Definition at line 4 of file svd_quda.h.
#define LOG2 0.69314718055994530942 |
Definition at line 6 of file svd_quda.h.
#define SVDPREC 1e-11 |
Definition at line 5 of file svd_quda.h.
|
inline |
Definition at line 129 of file svd_quda.h.
|
inline |
Definition at line 143 of file svd_quda.h.
DEVICEHOST void bdSVD | ( | Matrix< Real, 3 > & | u, |
Matrix< Real, 3 > & | v, | ||
Matrix< Real, 3 > & | b, | ||
int | max_it | ||
) |
Definition at line 406 of file svd_quda.h.
|
inline |
Definition at line 13 of file svd_quda.h.
DEVICEHOST void computeSVD | ( | const Matrix< Cmplx, 3 > & | m, |
Matrix< Cmplx, 3 > & | u, | ||
Matrix< Cmplx, 3 > & | v, | ||
typename RealTypeId< Cmplx >::Type | singular_values[3] | ||
) |
Definition at line 635 of file svd_quda.h.
DEVICEHOST void constructHHMat | ( | const T & | tau, |
const Array< T, 3 > & | v, | ||
Matrix< T, 3 > & | hh | ||
) |
Definition at line 75 of file svd_quda.h.
DEVICEHOST void getGivensRotation | ( | const Real & | alpha, |
const Real & | beta, | ||
Real & | c, | ||
Real & | s | ||
) |
Definition at line 110 of file svd_quda.h.
DEVICEHOST void getLambdaMax | ( | const Matrix< Real, 3 > & | b, |
Real & | lambda_max | ||
) |
Definition at line 91 of file svd_quda.h.
DEVICEHOST float getNorm | ( | const Array< float2, 3 > & | a | ) |
Definition at line 52 of file svd_quda.h.
DEVICEHOST double getNorm | ( | const Array< double2, 3 > & | a | ) |
Definition at line 63 of file svd_quda.h.
DEVICEHOST void getRealBidiagMatrix | ( | const Matrix< Cmplx, 3 > & | mat, |
Matrix< Cmplx, 3 > & | u, | ||
Matrix< Cmplx, 3 > & | v | ||
) |
Definition at line 279 of file svd_quda.h.
|
inline |
Definition at line 32 of file svd_quda.h.
|
inline |
Definition at line 162 of file svd_quda.h.
|
inline |
Definition at line 153 of file svd_quda.h.