QUDA v0.4.0
A library for QCD on GPUs
Namespaces | Classes | Functions
hisq Namespace Reference

Namespaces

namespace  fermion_force

Classes

struct  ComplexTypeId< float >
struct  ComplexTypeId< double >
struct  RealTypeId< float2 >
struct  RealTypeId< double2 >
struct  PromoteTypeId
struct  PromoteTypeId< float2, float >
struct  PromoteTypeId< float, float2 >
struct  PromoteTypeId< double2, double >
struct  PromoteTypeId< double, double2 >
struct  PromoteTypeId< double, int >
struct  PromoteTypeId< int, double >
struct  PromoteTypeId< float, int >
struct  PromoteTypeId< int, float >
struct  Zero
struct  Identity
class  Matrix
class  Array

Functions

void setUnitarizeLinksPadding (int input_padding, int output_padding)
void 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)
void unitarizeLinksCuda (const QudaGaugeParam &param, cudaGaugeField &infield, cudaGaugeField *outfield, int *num_failures)
void unitarizeLinksCPU (const QudaGaugeParam &param, cpuGaugeField &infield, cpuGaugeField *outfield)
bool isUnitary (const QudaGaugeParam &param, cpuGaugeField &field, double max_error)
template<class Cmplx >
__device__ __host__ Cmplx makeComplex (const typename RealTypeId< Cmplx >::Type &a, const typename RealTypeId< Cmplx >::Type &b)
__device__ __host__ double2 makeComplex (const double &a, const double &b)
__device__ __host__ float2 makeComplex (const float &a, const float &b)
template<class Cmplx >
__device__ __host__ Cmplx operator+ (const Cmplx &a, const Cmplx &b)
template<class Cmplx >
__device__ __host__ Cmplx operator- (const Cmplx &a, const Cmplx &b)
template<class Cmplx >
__device__ __host__ Cmplx operator* (const Cmplx &a, const typename RealTypeId< Cmplx >::Type &scalar)
template<class Cmplx >
__device__ __host__ Cmplx operator/ (const Cmplx &a, const typename RealTypeId< Cmplx >::Type &scalar)
template<class Cmplx >
__device__ __host__ Cmplx operator+ (const Cmplx &a, const typename RealTypeId< Cmplx >::Type &scalar)
template<class Cmplx >
__device__ __host__ Cmplx operator+ (const typename RealTypeId< Cmplx >::Type &scalar, const Cmplx &a)
template<class Cmplx >
__device__ __host__ Cmplx operator- (const Cmplx &a, const typename RealTypeId< Cmplx >::Type &scalar)
template<class Cmplx >
__device__ __host__ Cmplx operator- (const typename RealTypeId< Cmplx >::Type &scalar, const Cmplx &a)
template<class Cmplx >
__device__ __host__ Cmplx operator* (const typename RealTypeId< Cmplx >::Type &scalar, const Cmplx &b)
template<class Cmplx >
__device__ __host__ Cmplx operator* (const Cmplx &a, const Cmplx &b)
template<class Cmplx >
__device__ __host__ Cmplx conj (const Cmplx &a)
__device__ __host__ double conj (const double &a)
__device__ __host__ float conj (const float &a)
template<class Cmplx >
__device__ __host__ Cmplx getPreciseInverse (const Cmplx &z)
std::ostream & operator<< (std::ostream &os, const float2 &z)
std::ostream & operator<< (std::ostream &os, const double2 &z)
template<int N>
__device__ __host__ int index (int i, int j)
template<class T >
__device__ __host__ T getTrace (const Matrix< T, 3 > &a)
template<class T >
__device__ __host__ T getDeterminant (const Matrix< T, 3 > &a)
template<class T , int N>
__device__ __host__ Matrix< T, N > operator+ (const Matrix< T, N > &a, const Matrix< T, N > &b)
template<class T , int N>
__device__ __host__ Matrix< T, N > operator- (const Matrix< T, N > &a, const Matrix< T, N > &b)
template<class T , int N, class S >
__device__ __host__ Matrix< T, N > operator* (const S &scalar, const Matrix< T, N > &a)
template<class T , int N, class S >
__device__ __host__ Matrix< T, N > operator* (const Matrix< T, N > &a, const S &scalar)
template<class T >
__device__ __host__ Matrix< T, 3 > operator* (const Matrix< T, 3 > &a, const Matrix< T, 3 > &b)
template<class T , class U >
__device__ __host__ Matrix
< typename PromoteTypeId< T, U >
::Type, 3 > 
operator* (const Matrix< T, 3 > &a, const Matrix< U, 3 > &b)
template<class T >
__device__ __host__ Matrix< T, 2 > operator* (const Matrix< T, 2 > &a, const Matrix< T, 2 > &b)
template<class T , int N>
__device__ __host__ Matrix< T, N > conj (const Matrix< T, N > &other)
template<class T >
__device__ __host__ void computeMatrixInverse (const Matrix< T, 3 > &u, Matrix< T, 3 > *uinv)
template<class T , int N>
__device__ __host__ void setIdentity (Matrix< T, N > *m)
template<int N>
__device__ __host__ void setIdentity (Matrix< float2, N > *m)
template<int N>
__device__ __host__ void setIdentity (Matrix< double2, N > *m)
template<class T , int N>
__device__ __host__ void setZero (Matrix< T, N > *m)
template<int N>
__device__ __host__ void setZero (Matrix< float2, N > *m)
template<int N>
__device__ __host__ void setZero (Matrix< double2, N > *m)
template<class T , int N>
__device__ __host__ void copyColumn (const Matrix< T, N > &m, int c, Array< T, N > *a)
template<class T , int N>
__device__ __host__ void outerProd (const Array< T, N > &a, const Array< T, N > &b, Matrix< T, N > *m)
template<class T , int N>
std::ostream & operator<< (std::ostream &os, const Matrix< T, N > &m)
template<class T , int N>
std::ostream & operator<< (std::ostream &os, const Array< T, N > &a)
template<class T >
__device__ void loadLinkVariableFromArray (const T *const array, int dir, int idx, int stride, Matrix< T, 3 > *link)
__device__ void loadLinkVariableFromArray (const float2 *const array, int dir, int idx, int stride, Matrix< double2, 3 > *link)
template<class T >
__device__ void writeLinkVariableToArray (const Matrix< T, 3 > &link, int dir, int idx, int stride, T *const array)
__device__ void writeLinkVariableToArray (const Matrix< double2, 3 > &link, int dir, int idx, int stride, float2 *const array)
template<class Cmplx >
__device__ __host__ void computeLinkInverse (Matrix< Cmplx, 3 > *uinv, const Matrix< Cmplx, 3 > &u)
void copyArrayToLink (Matrix< float2, 3 > *link, float *array)
template<class Cmplx , class Real >
void copyArrayToLink (Matrix< Cmplx, 3 > *link, Real *array)
void copyLinkToArray (float *array, const Matrix< float2, 3 > &link)
template<class Cmplx , class Real >
void copyLinkToArray (Real *array, const Matrix< Cmplx, 3 > &link)
template<class Cmplx >
__host__ __device__ void printLink (const Matrix< Cmplx, 3 > &link)
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])
template<class Cmplx >
__device__ __host__ bool isUnitary (const Matrix< Cmplx, 3 > &matrix, double max_error)
template<class Cmplx >
__device__ __host__ bool isUnitarizedLinkConsistent (const Matrix< Cmplx, 3 > &initial_matrix, const Matrix< Cmplx, 3 > &unitary_matrix, double max_error)
template<class T >
__device__ __host__ T getAbsMin (const T *const array, int size)
template<class Real >
__device__ __host__ bool checkAbsoluteError (Real a, Real b, Real epsilon)
template<class Real >
__device__ __host__ bool checkRelativeError (Real a, Real b, Real epsilon)
template<class Cmplx >
__device__ __host__ bool reciprocalRoot (const Matrix< Cmplx, 3 > &q, Matrix< Cmplx, 3 > *res)
template<class Cmplx >
__host__ __device__ bool unitarizeLinkMILC (const Matrix< Cmplx, 3 > &in, Matrix< Cmplx, 3 > *const result)
template<class Cmplx >
__host__ __device__ bool unitarizeLinkSVD (const Matrix< Cmplx, 3 > &in, Matrix< Cmplx, 3 > *const result)
template<class Cmplx >
__host__ __device__ bool unitarizeLinkNewton (const Matrix< Cmplx, 3 > &in, Matrix< Cmplx, 3 > *const result)
template<class Cmplx >
__global__ void getUnitarizedField (const Cmplx *inlink_even, const Cmplx *inlink_odd, Cmplx *outlink_even, Cmplx *outlink_odd, int *num_failures)

Function Documentation

template<class Real >
DEVICEHOST void hisq::accumGivensRotation ( int  index,
const Real &  c,
const Real &  s,
Matrix< Real, 3 > &  m 
) [inline]

Definition at line 136 of file svd_quda.h.

template<class Real >
DEVICEHOST void hisq::assignGivensRotation ( const Real &  c,
const Real &  s,
Matrix< Real, 2 > &  m 
) [inline]

Definition at line 150 of file svd_quda.h.

template<class Real >
DEVICEHOST void hisq::bdSVD ( Matrix< Real, 3 > &  u,
Matrix< Real, 3 > &  v,
Matrix< Real, 3 > &  b,
int  max_it 
)

Definition at line 409 of file svd_quda.h.

template<class Cmplx >
DEVICEHOST RealTypeId<Cmplx>::Type hisq::cabs ( const Cmplx &  z) [inline]

Definition at line 20 of file svd_quda.h.

template<class Real >
__device__ __host__ bool hisq::checkAbsoluteError ( Real  a,
Real  b,
Real  epsilon 
) [inline]

Definition at line 139 of file unitarize_links_quda.cu.

template<class Real >
__device__ __host__ bool hisq::checkRelativeError ( Real  a,
Real  b,
Real  epsilon 
) [inline]

Definition at line 148 of file unitarize_links_quda.cu.

template<class Cmplx >
__device__ __host__ void hisq::computeLinkInverse ( Matrix< Cmplx, 3 > *  uinv,
const Matrix< Cmplx, 3 > &  u 
)

Definition at line 683 of file quda_matrix.h.

template<class T >
__device__ __host__ void hisq::computeMatrixInverse ( const Matrix< T, 3 > &  u,
Matrix< T, 3 > *  uinv 
)

Definition at line 430 of file quda_matrix.h.

template<class Cmplx >
DEVICEHOST void hisq::computeSVD ( const Matrix< Cmplx, 3 > &  m,
Matrix< Cmplx, 3 > &  u,
Matrix< Cmplx, 3 > &  v,
typename RealTypeId< Cmplx >::Type  singular_values[3] 
)

Definition at line 637 of file svd_quda.h.

__device__ __host__ double hisq::conj ( const double &  a)

Definition at line 202 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::conj ( const Cmplx &  a)

Definition at line 197 of file quda_matrix.h.

template<class T , int N>
__device__ __host__ Matrix<T,N> hisq::conj ( const Matrix< T, N > &  other)

Definition at line 417 of file quda_matrix.h.

__device__ __host__ float hisq::conj ( const float &  a)

Definition at line 207 of file quda_matrix.h.

template<class T >
DEVICEHOST void hisq::constructHHMat ( const T &  tau,
const Array< T, 3 > &  v,
Matrix< T, 3 > &  hh 
)

Definition at line 82 of file svd_quda.h.

void hisq::copyArrayToLink ( Matrix< float2, 3 > *  link,
float *  array 
)

Definition at line 721 of file quda_matrix.h.

template<class Cmplx , class Real >
void hisq::copyArrayToLink ( Matrix< Cmplx, 3 > *  link,
Real *  array 
)

Definition at line 732 of file quda_matrix.h.

template<class T , int N>
__device__ __host__ void hisq::copyColumn ( const Matrix< T, N > &  m,
int  c,
Array< T, N > *  a 
)

Definition at line 583 of file quda_matrix.h.

void hisq::copyLinkToArray ( float *  array,
const Matrix< float2, 3 > &  link 
)

Definition at line 744 of file quda_matrix.h.

template<class Cmplx , class Real >
void hisq::copyLinkToArray ( Real *  array,
const Matrix< Cmplx, 3 > &  link 
)

Definition at line 756 of file quda_matrix.h.

template<class T >
__device__ __host__ T hisq::getAbsMin ( const T *const  array,
int  size 
)

Definition at line 127 of file unitarize_links_quda.cu.

template<class T >
__device__ __host__ T hisq::getDeterminant ( const Matrix< T, 3 > &  a)

Definition at line 310 of file quda_matrix.h.

template<class Real >
DEVICEHOST void hisq::getGivensRotation ( const Real &  alpha,
const Real &  beta,
Real &  c,
Real &  s 
)

Definition at line 117 of file svd_quda.h.

template<class Real >
DEVICEHOST void hisq::getLambdaMax ( const Matrix< Real, 3 > &  b,
Real &  lambda_max 
)

Definition at line 98 of file svd_quda.h.

DEVICEHOST float hisq::getNorm ( const Array< float2, 3 > &  a)

Definition at line 59 of file svd_quda.h.

DEVICEHOST double hisq::getNorm ( const Array< double2, 3 > &  a)

Definition at line 70 of file svd_quda.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::getPreciseInverse ( const Cmplx &  z)

Definition at line 216 of file quda_matrix.h.

template<class Cmplx >
DEVICEHOST void hisq::getRealBidiagMatrix ( const Matrix< Cmplx, 3 > &  mat,
Matrix< Cmplx, 3 > &  u,
Matrix< Cmplx, 3 > &  v 
)

Definition at line 286 of file svd_quda.h.

template<class T >
__device__ __host__ T hisq::getTrace ( const Matrix< T, 3 > &  a)

Definition at line 303 of file quda_matrix.h.

template<class Cmplx >
__global__ void hisq::getUnitarizedField ( const Cmplx *  inlink_even,
const Cmplx *  inlink_odd,
Cmplx *  outlink_even,
Cmplx *  outlink_odd,
int *  num_failures 
)

Definition at line 347 of file unitarize_links_quda.cu.

template<int N>
__device__ __host__ int hisq::index ( int  i,
int  j 
) [inline]

Definition at line 282 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ bool hisq::isUnitarizedLinkConsistent ( const Matrix< Cmplx, 3 > &  initial_matrix,
const Matrix< Cmplx, 3 > &  unitary_matrix,
double  max_error 
)

Definition at line 72 of file unitarize_links_quda.cu.

template<class Cmplx >
__device__ __host__ bool hisq::isUnitary ( const Matrix< Cmplx, 3 > &  matrix,
double  max_error 
)

Definition at line 52 of file unitarize_links_quda.cu.

bool hisq::isUnitary ( const QudaGaugeParam param,
cpuGaugeField field,
double  max_error 
)

Definition at line 440 of file unitarize_links_quda.cu.

template<class T >
__device__ void hisq::loadLinkVariableFromArray ( const T *const  array,
int  dir,
int  idx,
int  stride,
Matrix< T, 3 > *  link 
)

Definition at line 629 of file quda_matrix.h.

__device__ void hisq::loadLinkVariableFromArray ( const float2 *const  array,
int  dir,
int  idx,
int  stride,
Matrix< double2, 3 > *  link 
)

Definition at line 639 of file quda_matrix.h.

__device__ __host__ float2 hisq::makeComplex ( const float &  a,
const float &  b 
)

Definition at line 121 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::makeComplex ( const typename RealTypeId< Cmplx >::Type &  a,
const typename RealTypeId< Cmplx >::Type &  b 
)

Definition at line 107 of file quda_matrix.h.

__device__ __host__ double2 hisq::makeComplex ( const double &  a,
const double &  b 
)

Definition at line 116 of file quda_matrix.h.

template<class T , class U >
__device__ __host__ Matrix<typename PromoteTypeId<T,U>::Type,3> hisq::operator* ( const Matrix< T, 3 > &  a,
const Matrix< U, 3 > &  b 
)

Definition at line 385 of file quda_matrix.h.

template<class T >
__device__ __host__ Matrix<T,3> hisq::operator* ( const Matrix< T, 3 > &  a,
const Matrix< T, 3 > &  b 
)

Definition at line 363 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator* ( const typename RealTypeId< Cmplx >::Type &  scalar,
const Cmplx &  b 
)

Definition at line 185 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator* ( const Cmplx &  a,
const Cmplx &  b 
)

Definition at line 191 of file quda_matrix.h.

template<class T >
__device__ __host__ Matrix<T,2> hisq::operator* ( const Matrix< T, 2 > &  a,
const Matrix< T, 2 > &  b 
)

Definition at line 404 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator* ( const Cmplx &  a,
const typename RealTypeId< Cmplx >::Type &  scalar 
)

Definition at line 148 of file quda_matrix.h.

template<class T , int N, class S >
__device__ __host__ Matrix<T,N> hisq::operator* ( const S &  scalar,
const Matrix< T, N > &  a 
)

Definition at line 345 of file quda_matrix.h.

template<class T , int N, class S >
__device__ __host__ Matrix<T,N> hisq::operator* ( const Matrix< T, N > &  a,
const S &  scalar 
)

Definition at line 355 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator+ ( const Cmplx &  a,
const Cmplx &  b 
)

Definition at line 137 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator+ ( const Cmplx &  a,
const typename RealTypeId< Cmplx >::Type &  scalar 
)

Definition at line 160 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator+ ( const typename RealTypeId< Cmplx >::Type &  scalar,
const Cmplx &  a 
)

Definition at line 166 of file quda_matrix.h.

template<class T , int N>
__device__ __host__ Matrix<T,N> hisq::operator+ ( const Matrix< T, N > &  a,
const Matrix< T, N > &  b 
)

Definition at line 321 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator- ( const Cmplx &  a,
const Cmplx &  b 
)

Definition at line 142 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator- ( const typename RealTypeId< Cmplx >::Type &  scalar,
const Cmplx &  a 
)

Definition at line 178 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator- ( const Cmplx &  a,
const typename RealTypeId< Cmplx >::Type &  scalar 
)

Definition at line 172 of file quda_matrix.h.

template<class T , int N>
__device__ __host__ Matrix<T,N> hisq::operator- ( const Matrix< T, N > &  a,
const Matrix< T, N > &  b 
)

Definition at line 333 of file quda_matrix.h.

template<class Cmplx >
__device__ __host__ Cmplx hisq::operator/ ( const Cmplx &  a,
const typename RealTypeId< Cmplx >::Type &  scalar 
)

Definition at line 154 of file quda_matrix.h.

template<class T , int N>
std::ostream& hisq::operator<< ( std::ostream &  os,
const Matrix< T, N > &  m 
)

Definition at line 607 of file quda_matrix.h.

template<class T , int N>
std::ostream& hisq::operator<< ( std::ostream &  os,
const Array< T, N > &  a 
)

Definition at line 619 of file quda_matrix.h.

std::ostream& hisq::operator<< ( std::ostream &  os,
const float2 &  z 
)

Definition at line 225 of file quda_matrix.h.

std::ostream& hisq::operator<< ( std::ostream &  os,
const double2 &  z 
)

Definition at line 230 of file quda_matrix.h.

template<class T , int N>
__device__ __host__ void hisq::outerProd ( const Array< T, N > &  a,
const Array< T, N > &  b,
Matrix< T, N > *  m 
)

Definition at line 594 of file quda_matrix.h.

template<class Cmplx >
__host__ __device__ void hisq::printLink ( const Matrix< Cmplx, 3 > &  link)

Definition at line 771 of file quda_matrix.h.

template<class T , class U >
DEVICEHOST PromoteTypeId<T,U>::Type hisq::quadSum ( const T &  a,
const U &  b 
) [inline]

Definition at line 39 of file svd_quda.h.

template<class Cmplx >
__device__ __host__ bool hisq::reciprocalRoot ( const Matrix< Cmplx, 3 > &  q,
Matrix< Cmplx, 3 > *  res 
)

Definition at line 162 of file unitarize_links_quda.cu.

template<int N>
__device__ __host__ void hisq::setIdentity ( Matrix< float2, N > *  m) [inline]

Definition at line 486 of file quda_matrix.h.

template<class T , int N>
__device__ __host__ void hisq::setIdentity ( Matrix< T, N > *  m) [inline]

Definition at line 472 of file quda_matrix.h.

template<int N>
__device__ __host__ void hisq::setIdentity ( Matrix< double2, N > *  m) [inline]

Definition at line 500 of file quda_matrix.h.

void hisq::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 
)

Definition at line 92 of file unitarize_links_quda.cu.

void hisq::setUnitarizeLinksPadding ( int  input_padding,
int  output_padding 
)

Definition at line 42 of file unitarize_links_quda.cu.

template<int N>
__device__ __host__ void hisq::setZero ( Matrix< float2, N > *  m) [inline]

Definition at line 528 of file quda_matrix.h.

template<int N>
__device__ __host__ void hisq::setZero ( Matrix< double2, N > *  m) [inline]

Definition at line 541 of file quda_matrix.h.

template<class T , int N>
__device__ __host__ void hisq::setZero ( Matrix< T, N > *  m) [inline]

Definition at line 515 of file quda_matrix.h.

template<class Real >
DEVICEHOST void hisq::smallSVD ( Matrix< Real, 2 > &  u,
Matrix< Real, 2 > &  v,
Matrix< Real, 2 > &  m 
) [inline]

Definition at line 169 of file svd_quda.h.

template<class Real >
DEVICEHOST void hisq::swap ( Real &  a,
Real &  b 
) [inline]

Definition at line 160 of file svd_quda.h.

template<class Cmplx >
__host__ __device__ bool hisq::unitarizeLinkMILC ( const Matrix< Cmplx, 3 > &  in,
Matrix< Cmplx, 3 > *const  result 
)

Definition at line 254 of file unitarize_links_quda.cu.

template<class Cmplx >
__host__ __device__ bool hisq::unitarizeLinkNewton ( const Matrix< Cmplx, 3 > &  in,
Matrix< Cmplx, 3 > *const  result 
)

Definition at line 312 of file unitarize_links_quda.cu.

void hisq::unitarizeLinksCPU ( const QudaGaugeParam param,
cpuGaugeField infield,
cpuGaugeField outfield 
)

Definition at line 418 of file unitarize_links_quda.cu.

void hisq::unitarizeLinksCuda ( const QudaGaugeParam param,
cudaGaugeField infield,
cudaGaugeField outfield,
int *  num_failures 
)

Definition at line 392 of file unitarize_links_quda.cu.

template<class Cmplx >
__host__ __device__ bool hisq::unitarizeLinkSVD ( const Matrix< Cmplx, 3 > &  in,
Matrix< Cmplx, 3 > *const  result 
)

Definition at line 285 of file unitarize_links_quda.cu.

template<class T >
__device__ void hisq::writeLinkVariableToArray ( const Matrix< T, 3 > &  link,
int  dir,
int  idx,
int  stride,
T *const  array 
)

Definition at line 656 of file quda_matrix.h.

__device__ void hisq::writeLinkVariableToArray ( const Matrix< double2, 3 > &  link,
int  dir,
int  idx,
int  stride,
float2 *const  array 
)

Definition at line 668 of file quda_matrix.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines