QUDA  0.9.0
Public Member Functions | Protected Attributes | Private Types | List of all members
SpinorTexture< RegType, StoreType, N, tex_id > Class Template Reference

#include <texture.h>

Inheritance diagram for SpinorTexture< RegType, StoreType, N, tex_id >:
Inheritance graph
[legend]
Collaboration diagram for SpinorTexture< RegType, StoreType, N, tex_id >:
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)
 
__device__ void loadGhost (RegType x[], const int i, const int dim)
 
QudaPrecision Precision () const
 
int Stride () const
 
int Bytes () const
 

Protected Attributes

StoreType * spinor
 
StoreType * ghost_spinor
 
Texture< InterType, StoreType, tex_id > tex
 
Texture< InterType, StoreType, -1 > ghostTex
 
floatnorm
 
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, int tex_id = -1>
class SpinorTexture< RegType, StoreType, N, tex_id >

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
tex_idWhich texture reference are we using. A default of -1 disables textures on architectures that don't support texture objects.

Definition at line 319 of file texture.h.

Member Typedef Documentation

◆ InterType

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

Definition at line 321 of file texture.h.

Constructor & Destructor Documentation

◆ SpinorTexture() [1/3]

template<typename RegType , typename StoreType , int N, int tex_id = -1>
SpinorTexture< RegType, StoreType, N, tex_id >::SpinorTexture ( )
inline

Definition at line 343 of file texture.h.

◆ SpinorTexture() [2/3]

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

Definition at line 350 of file texture.h.

References d, SpinorTexture< RegType, StoreType, N, tex_id >::ghost_stride, and x.

◆ SpinorTexture() [3/3]

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

Definition at line 366 of file texture.h.

References d, and SpinorTexture< RegType, StoreType, N, tex_id >::ghost_stride.

◆ ~SpinorTexture()

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

Definition at line 417 of file texture.h.

Member Function Documentation

◆ Bytes()

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

Definition at line 516 of file texture.h.

◆ load()

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

◆ loadGhost()

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

◆ operator=()

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

◆ Precision()

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

◆ set()

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

◆ Stride()

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

Definition at line 515 of file texture.h.

References SpinorTexture< RegType, StoreType, N, tex_id >::stride.

Member Data Documentation

◆ cb_norm_offset

template<typename RegType , typename StoreType , int N, int tex_id = -1>
unsigned int SpinorTexture< RegType, StoreType, N, tex_id >::cb_norm_offset
protected

◆ cb_offset

template<typename RegType , typename StoreType , int N, int tex_id = -1>
unsigned int SpinorTexture< RegType, StoreType, N, tex_id >::cb_offset
protected

◆ ghost_spinor

template<typename RegType , typename StoreType , int N, int tex_id = -1>
StoreType* SpinorTexture< RegType, StoreType, N, tex_id >::ghost_spinor
protected

◆ ghost_stride

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

◆ ghostTex

template<typename RegType , typename StoreType , int N, int tex_id = -1>
Texture<InterType, StoreType, -1> SpinorTexture< RegType, StoreType, N, tex_id >::ghostTex
protected

◆ norm

template<typename RegType , typename StoreType , int N, int tex_id = -1>
float* SpinorTexture< RegType, StoreType, N, tex_id >::norm
protected

◆ spinor

template<typename RegType , typename StoreType , int N, int tex_id = -1>
StoreType* SpinorTexture< RegType, StoreType, N, tex_id >::spinor
protected

◆ stride

template<typename RegType , typename StoreType , int N, int tex_id = -1>
int SpinorTexture< RegType, StoreType, N, tex_id >::stride
protected

◆ tex

template<typename RegType , typename StoreType , int N, int tex_id = -1>
Texture<InterType, StoreType, tex_id> SpinorTexture< RegType, StoreType, N, tex_id >::tex
protected

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