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

#include <texture.h>

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

Public Member Functions

 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
 

Protected Attributes

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]
 

Private Types

typedef bridge_mapper< RegType, StoreType >::type InterType
 

Detailed Description

template<typename RegType, typename StoreType, int N>
class SpinorTexture< RegType, StoreType, N >

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 132 of file texture.h.

Member Typedef Documentation

◆ InterType

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

Definition at line 135 of file texture.h.

Constructor & Destructor Documentation

◆ SpinorTexture() [1/3]

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

Definition at line 150 of file texture.h.

◆ SpinorTexture() [2/3]

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

Definition at line 153 of file texture.h.

◆ SpinorTexture() [3/3]

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

Definition at line 167 of file texture.h.

References SpinorTexture< RegType, StoreType, N >::ghost_stride.

◆ ~SpinorTexture()

template<typename RegType, typename StoreType, int N>
virtual SpinorTexture< RegType, StoreType, N >::~SpinorTexture ( )
inlinevirtual

Definition at line 210 of file texture.h.

Member Function Documentation

◆ Bytes()

template<typename RegType, typename StoreType, int N>
int SpinorTexture< RegType, StoreType, N >::Bytes ( ) const
inline

Definition at line 278 of file texture.h.

◆ load()

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

Definition at line 212 of file texture.h.

References quda::copyFloatN(), and parity.

Here is the call graph for this function:

◆ loadGhost()

template<typename RegType, typename StoreType, int N>
__device__ void SpinorTexture< RegType, StoreType, N >::loadGhost ( RegType  x[],
const int  i,
const int  dim 
) const
inline

Load the ghost spinor. For Wilson fermions, we assume that the ghost is spin projected

Definition at line 237 of file texture.h.

References quda::copyFloatN(), and Nspin.

Here is the call graph for this function:

◆ operator=()

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

◆ Precision()

template<typename RegType, typename StoreType, int N>
QudaPrecision SpinorTexture< RegType, StoreType, N >::Precision ( ) const
inline

◆ set()

template<typename RegType, typename StoreType, int N>
void SpinorTexture< RegType, StoreType, N >::set ( const cudaColorSpinorField &  x,
int  nFace = 1 
)
inline

Definition at line 196 of file texture.h.

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

Here is the caller graph for this function:

◆ Stride()

template<typename RegType, typename StoreType, int N>
int SpinorTexture< RegType, StoreType, N >::Stride ( ) const
inline

Definition at line 277 of file texture.h.

Member Data Documentation

◆ cb_norm_offset

template<typename RegType, typename StoreType, int N>
unsigned int SpinorTexture< RegType, StoreType, N >::cb_norm_offset
protected

Definition at line 144 of file texture.h.

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

◆ cb_offset

template<typename RegType, typename StoreType, int N>
unsigned int SpinorTexture< RegType, StoreType, N >::cb_offset
protected

Definition at line 143 of file texture.h.

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

◆ ghost_stride

template<typename RegType, typename StoreType, int N>
int SpinorTexture< RegType, StoreType, N >::ghost_stride[4]
protected

◆ ghostTex

template<typename RegType, typename StoreType, int N>
Texture<InterType, StoreType> SpinorTexture< RegType, StoreType, N >::ghostTex
protected

Definition at line 139 of file texture.h.

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

◆ norm

template<typename RegType, typename StoreType, int N>
float* SpinorTexture< RegType, StoreType, N >::norm
protected

Definition at line 140 of file texture.h.

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

◆ stride

template<typename RegType, typename StoreType, int N>
int SpinorTexture< RegType, StoreType, N >::stride
protected

Definition at line 142 of file texture.h.

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

◆ tex

template<typename RegType, typename StoreType, int N>
Texture<InterType, StoreType> SpinorTexture< RegType, StoreType, N >::tex
protected

Definition at line 138 of file texture.h.

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


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