QUDA
1.0.0
|
Go to the source code of this file.
Classes | |
struct | quda::colorspinor_wrapper< Float, T > |
colorspinor_wrapper is an internal class that is used to wrap instances of colorspinor accessors, currying in a specifc location on the field. The operator() accessors in colorspinor-field accessors return instances to this class, allowing us to then use operator overloading upon this class to interact with the ColorSpinor class. As a result we can include colorspinor-field accessors directly in ColorSpinor expressions in kernels without having to declare temporaries with explicit calls to the load/save methods in the colorspinor-field accessors. More... | |
struct | quda::colorspinor_ghost_wrapper< Float, T > |
colorspinor_ghost_wrapper is an internal class that is used to wrap instances of colorspinor accessors, currying in a specifc location on the field. The Ghost() accessors in colorspinor-field accessors return instances to this class, allowing us to then use operator overloading upon this class to interact with the ColorSpinor class. As a result we can include colorspinor-field accessors directly in ColorSpinor expressions in kernels without having to declare temporaries with explicit calls to the loadGhost/saveGhost methods in the colorspinor-field accessors. More... | |
struct | quda::ColorSpinor< Float, Nc, Ns > |
struct | quda::ColorSpinor< Float, Nc, 4 > |
struct | quda::ColorSpinor< Float, Nc, 2 > |
Namespaces | |
quda | |
Functions | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ complex< Float > | quda::innerProduct (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b) |
Compute the inner product over color and spin dot = ,c conj(a(s,c)) * b(s,c) More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ complex< Float > | quda::innerProduct (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b, int s) |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ complex< Float > | quda::innerProduct (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b, int sa, int sb) |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ complex< Float > | quda::innerProduct (const ColorSpinor< Float, Nc, 1 > &a, const ColorSpinor< Float, Nc, Ns > &b, int s) |
Compute the inner product over color at spin s between a color vector and a color spinor dot = conj(a(c)) * b(s,c) More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ Matrix< complex< Float >, Nc > | quda::outerProdSpinTrace (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b) |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator+ (const ColorSpinor< Float, Nc, Ns > &x, const ColorSpinor< Float, Nc, Ns > &y) |
ColorSpinor addition operator. More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator- (const ColorSpinor< Float, Nc, Ns > &x, const ColorSpinor< Float, Nc, Ns > &y) |
ColorSpinor subtraction operator. More... | |
template<typename Float , int Nc, int Ns, typename S > | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator* (const S &a, const ColorSpinor< Float, Nc, Ns > &x) |
Compute the scalar-vector product y = a * x. More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator* (const Matrix< complex< Float >, Nc > &A, const ColorSpinor< Float, Nc, Ns > &x) |
Compute the matrix-vector product y = A * x. More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator* (const HMatrix< Float, Nc *Ns > &A, const ColorSpinor< Float, Nc, Ns > &x) |
Compute the matrix-vector product y = A * x. More... | |
The header file defines some helper structs for dealing with ColorSpinors (e.g., a vector with both color and spin degrees of freedom).
Definition in file color_spinor.h.