QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Types | Private Attributes | List of all members
Spinor< RegType, StoreType, N, write > Class Template Reference

#include <texture.h>

Inheritance diagram for Spinor< RegType, StoreType, N, write >:
Inheritance graph
[legend]
Collaboration diagram for Spinor< RegType, StoreType, N, write >:
Collaboration graph
[legend]

Public Member Functions

 Spinor ()
 
 Spinor (const ColorSpinorField &x, int nFace=1)
 
 Spinor (const Spinor &st)
 
Spinoroperator= (const Spinor &src)
 
void set (const cudaColorSpinorField &x)
 
 ~Spinor ()
 
__device__ void save (RegType x[], int i, const int parity=0)
 
void backup (char **spinor_h, char **norm_h, size_t bytes, size_t norm_bytes)
 
void restore (char **spinor_h, char **norm_h, size_t bytes, size_t norm_bytes)
 
void * V ()
 
float * Norm ()
 
- Public Member Functions inherited from SpinorTexture< RegType, StoreType, N >
 SpinorTexture ()
 
 SpinorTexture (const ColorSpinorField &x, int nFace=1)
 
 SpinorTexture (const SpinorTexture &st)
 
SpinorTextureoperator= (const SpinorTexture &src)
 
void set (const cudaColorSpinorField &x, int nFace=1)
 
virtual ~SpinorTexture ()
 
__device__ void load (RegType x[], const int i, const int parity=0) const
 
__device__ void loadGhost (RegType x[], const int i, const int dim) const
 
QudaPrecision Precision () const
 
int Stride () const
 
int Bytes () const
 

Private Types

typedef bridge_mapper< RegType, StoreType >::type InterType
 
typedef SpinorTexture< RegType, StoreType, N > ST
 

Private Attributes

StoreType * spinor
 
StoreType * ghost_spinor
 

Additional Inherited Members

- Protected Attributes inherited from SpinorTexture< RegType, StoreType, N >
Texture< InterType, StoreType > tex
 
Texture< InterType, StoreType > ghostTex
 
float * norm
 
int stride
 
unsigned int cb_offset
 
unsigned int cb_norm_offset
 
int ghost_stride [4]
 

Detailed Description

template<typename RegType, typename StoreType, int N, int write>
class Spinor< RegType, StoreType, N, write >

Parameters
RegTypeRegister type used in kernel
InterTypeIntermediate format - RegType precision with StoreType ordering
StoreTypeType used to store field in memory
NLength of vector of RegType elements that this Spinor represents

Definition at line 288 of file texture.h.

Member Typedef Documentation

◆ InterType

template<typename RegType, typename StoreType, int N, int write>
typedef bridge_mapper<RegType,StoreType>::type Spinor< RegType, StoreType, N, write >::InterType
private

Definition at line 291 of file texture.h.

◆ ST

template<typename RegType, typename StoreType, int N, int write>
typedef SpinorTexture<RegType, StoreType, N> Spinor< RegType, StoreType, N, write >::ST
private

Definition at line 292 of file texture.h.

Constructor & Destructor Documentation

◆ Spinor() [1/3]

template<typename RegType, typename StoreType, int N, int write>
Spinor< RegType, StoreType, N, write >::Spinor ( )
inline

Definition at line 299 of file texture.h.

◆ Spinor() [2/3]

template<typename RegType, typename StoreType, int N, int write>
Spinor< RegType, StoreType, N, write >::Spinor ( const ColorSpinorField &  x,
int  nFace = 1 
)
inline

Definition at line 302 of file texture.h.

◆ Spinor() [3/3]

template<typename RegType, typename StoreType, int N, int write>
Spinor< RegType, StoreType, N, write >::Spinor ( const Spinor< RegType, StoreType, N, write > &  st)
inline

Definition at line 309 of file texture.h.

◆ ~Spinor()

template<typename RegType, typename StoreType, int N, int write>
Spinor< RegType, StoreType, N, write >::~Spinor ( )
inline

Definition at line 328 of file texture.h.

Member Function Documentation

◆ backup()

template<typename RegType, typename StoreType, int N, int write>
void Spinor< RegType, StoreType, N, write >::backup ( char **  spinor_h,
char **  norm_h,
size_t  bytes,
size_t  norm_bytes 
)
inline

Definition at line 350 of file texture.h.

References quda::blas::bytes, checkCudaError, and quda::norm().

Here is the call graph for this function:

◆ Norm()

template<typename RegType, typename StoreType, int N, int write>
float* Spinor< RegType, StoreType, N, write >::Norm ( )
inline

Definition at line 380 of file texture.h.

References quda::norm().

Here is the call graph for this function:

◆ operator=()

template<typename RegType, typename StoreType, int N, int write>
Spinor& Spinor< RegType, StoreType, N, write >::operator= ( const Spinor< RegType, StoreType, N, write > &  src)
inline

◆ restore()

template<typename RegType, typename StoreType, int N, int write>
void Spinor< RegType, StoreType, N, write >::restore ( char **  spinor_h,
char **  norm_h,
size_t  bytes,
size_t  norm_bytes 
)
inline

Definition at line 364 of file texture.h.

References checkCudaError, and quda::norm().

Here is the call graph for this function:

◆ save()

template<typename RegType, typename StoreType, int N, int write>
__device__ void Spinor< RegType, StoreType, N, write >::save ( RegType  x[],
int  i,
const int  parity = 0 
)
inline

Definition at line 331 of file texture.h.

References quda::copyFloatN(), quda::norm(), and parity.

Here is the call graph for this function:

◆ set()

template<typename RegType, typename StoreType, int N, int write>
void Spinor< RegType, StoreType, N, write >::set ( const cudaColorSpinorField &  x)
inline

Definition at line 321 of file texture.h.

References quda::set().

Referenced by quda::computeCloverSigmaOprod(), quda::blas::multiBlas(), and quda::blas::multiReduce().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ V()

template<typename RegType, typename StoreType, int N, int write>
void* Spinor< RegType, StoreType, N, write >::V ( )
inline

Definition at line 379 of file texture.h.

References Texture< OutputType, InputType >::spinor.

Member Data Documentation

◆ ghost_spinor

template<typename RegType, typename StoreType, int N, int write>
StoreType* Spinor< RegType, StoreType, N, write >::ghost_spinor
private

Definition at line 296 of file texture.h.

Referenced by Spinor< RegType, StoreType, N, write >::operator=().

◆ spinor

template<typename RegType, typename StoreType, int N, int write>
StoreType* Spinor< RegType, StoreType, N, write >::spinor
private

Definition at line 295 of file texture.h.

Referenced by Spinor< RegType, StoreType, N, write >::operator=().


The documentation for this class was generated from the following file: