QUDA  v1.1.0
A library for QCD on GPUs
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc > Struct Template Reference

#include <color_spinor_field_order.h>

Public Types

using Accessor = SpaceSpinorColorOrder< Float, Ns, Nc >
 
using real = typename mapper< Float >::type
 
using complex = complex< real >
 

Public Member Functions

 SpaceSpinorColorOrder (const ColorSpinorField &a, int nFace=1, Float *field_=0, float *dummy=0, Float **ghost_=0)
 
__device__ __host__ void load (complex v[length/2], int x, int parity=0) const
 
__device__ __host__ void save (const complex v[length/2], int x, int parity=0)
 
__device__ __host__ colorspinor_wrapper< real, Accessoroperator() (int x_cb, int parity)
 This accessor routine returns a colorspinor_wrapper to this object, allowing us to overload various operators for manipulating at the site level interms of matrix operations. More...
 
__device__ __host__ const colorspinor_wrapper< real, Accessoroperator() (int x_cb, int parity) const
 This accessor routine returns a const colorspinor_wrapper to this object, allowing us to overload various operators for manipulating at the site level interms of matrix operations. More...
 
__device__ __host__ void loadGhost (complex v[length/2], int x, int dim, int dir, int parity=0) const
 
__device__ __host__ void saveGhost (const complex v[length/2], int x, int dim, int dir, int parity=0)
 
size_t Bytes () const
 

Public Attributes

Float * field
 
size_t offset
 
Float * ghost [8]
 
int volumeCB
 
int faceVolumeCB [4]
 
int stride
 
int nParity
 

Static Public Attributes

static const int length = 2 * Ns * Nc
 

Detailed Description

template<typename Float, int Ns, int Nc>
struct quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >

Definition at line 1376 of file color_spinor_field_order.h.

Member Typedef Documentation

◆ Accessor

template<typename Float , int Ns, int Nc>
using quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::Accessor = SpaceSpinorColorOrder<Float, Ns, Nc>

Definition at line 1377 of file color_spinor_field_order.h.

◆ complex

template<typename Float , int Ns, int Nc>
using quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::complex = complex<real>

Definition at line 1379 of file color_spinor_field_order.h.

◆ real

template<typename Float , int Ns, int Nc>
using quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::real = typename mapper<Float>::type

Definition at line 1378 of file color_spinor_field_order.h.

Constructor & Destructor Documentation

◆ SpaceSpinorColorOrder()

template<typename Float , int Ns, int Nc>
quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::SpaceSpinorColorOrder ( const ColorSpinorField a,
int  nFace = 1,
Float *  field_ = 0,
float *  dummy = 0,
Float **  ghost_ = 0 
)
inline

Definition at line 1388 of file color_spinor_field_order.h.

Member Function Documentation

◆ Bytes()

template<typename Float , int Ns, int Nc>
size_t quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::Bytes ( ) const
inline

Definition at line 1490 of file color_spinor_field_order.h.

◆ load()

template<typename Float , int Ns, int Nc>
__device__ __host__ void quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::load ( complex  v[length/2],
int  x,
int  parity = 0 
) const
inline

Definition at line 1400 of file color_spinor_field_order.h.

◆ loadGhost()

template<typename Float , int Ns, int Nc>
__device__ __host__ void quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::loadGhost ( complex  v[length/2],
int  x,
int  dim,
int  dir,
int  parity = 0 
) const
inline

Definition at line 1470 of file color_spinor_field_order.h.

◆ operator()() [1/2]

template<typename Float , int Ns, int Nc>
__device__ __host__ colorspinor_wrapper<real, Accessor> quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::operator() ( int  x_cb,
int  parity 
)
inline

This accessor routine returns a colorspinor_wrapper to this object, allowing us to overload various operators for manipulating at the site level interms of matrix operations.

Parameters
[in]x_cbCheckerboarded space-time index we are requesting
[in]parityParity we are requesting
Returns
Instance of a colorspinor_wrapper that curries in access to this field at the above coordinates.

Definition at line 1451 of file color_spinor_field_order.h.

◆ operator()() [2/2]

template<typename Float , int Ns, int Nc>
__device__ __host__ const colorspinor_wrapper<real, Accessor> quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::operator() ( int  x_cb,
int  parity 
) const
inline

This accessor routine returns a const colorspinor_wrapper to this object, allowing us to overload various operators for manipulating at the site level interms of matrix operations.

Parameters
[in]x_cbCheckerboarded space-time index we are requesting
[in]parityParity we are requesting
Returns
Instance of a colorspinor_wrapper that curries in access to this field at the above coordinates.

Definition at line 1465 of file color_spinor_field_order.h.

◆ save()

template<typename Float , int Ns, int Nc>
__device__ __host__ void quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::save ( const complex  v[length/2],
int  x,
int  parity = 0 
)
inline

Definition at line 1419 of file color_spinor_field_order.h.

◆ saveGhost()

template<typename Float , int Ns, int Nc>
__device__ __host__ void quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::saveGhost ( const complex  v[length/2],
int  x,
int  dim,
int  dir,
int  parity = 0 
)
inline

Definition at line 1480 of file color_spinor_field_order.h.

Member Data Documentation

◆ faceVolumeCB

template<typename Float , int Ns, int Nc>
int quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::faceVolumeCB[4]

Definition at line 1385 of file color_spinor_field_order.h.

◆ field

template<typename Float , int Ns, int Nc>
Float* quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::field

Definition at line 1381 of file color_spinor_field_order.h.

◆ ghost

template<typename Float , int Ns, int Nc>
Float* quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::ghost[8]

Definition at line 1383 of file color_spinor_field_order.h.

◆ length

template<typename Float , int Ns, int Nc>
const int quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::length = 2 * Ns * Nc
static

Definition at line 1380 of file color_spinor_field_order.h.

◆ nParity

template<typename Float , int Ns, int Nc>
int quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::nParity

Definition at line 1387 of file color_spinor_field_order.h.

◆ offset

template<typename Float , int Ns, int Nc>
size_t quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::offset

Definition at line 1382 of file color_spinor_field_order.h.

◆ stride

template<typename Float , int Ns, int Nc>
int quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::stride

Definition at line 1386 of file color_spinor_field_order.h.

◆ volumeCB

template<typename Float , int Ns, int Nc>
int quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::volumeCB

Definition at line 1384 of file color_spinor_field_order.h.


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