QUDA  v1.1.0
A library for QCD on GPUs
Public Member Functions | Public Attributes | List of all members
quda::colorspinor_ghost_wrapper< Float, T > Struct Template Reference

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...

#include <color_spinor_field_order.h>

Public Member Functions

__device__ __host__ colorspinor_ghost_wrapper (T &field, int dim, int dir, int ghost_idx, int parity)
 colorspinor_ghost_wrapper constructor More...
 
template<typename C >
__device__ __host__ void operator= (const C &a)
 Assignment operator with Matrix instance as input. More...
 

Public Attributes

const int dim
 
const int dir
 
const int ghost_idx
 
const int parity
 
T & field
 

Detailed Description

template<typename Float, typename T>
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.

Definition at line 114 of file color_spinor_field_order.h.

Constructor & Destructor Documentation

◆ colorspinor_ghost_wrapper()

template<typename Float , typename T >
__device__ __host__ quda::colorspinor_ghost_wrapper< Float, T >::colorspinor_ghost_wrapper ( T &  field,
int  dim,
int  dir,
int  ghost_idx,
int  parity 
)
inline

colorspinor_ghost_wrapper constructor

Parameters
[in]acolorspinor field accessor we are wrapping
[in]dimDimension of the ghost we are accessing
[in]dirDirection of the ghost we are accessing
[in]ghost_idxCheckerboarded space-time ghost index we are accessing
[in]parityParity we are accessing

Definition at line 129 of file color_spinor_field_order.h.

Member Function Documentation

◆ operator=()

template<typename Float , typename T >
template<typename C >
__device__ __host__ void quda::colorspinor_ghost_wrapper< Float, T >::operator= ( const C &  a)
inline

Assignment operator with Matrix instance as input.

Parameters
[in]CColorSpinor we want to store in this accessot

Definition at line 144 of file color_spinor_field_order.h.

Member Data Documentation

◆ dim

template<typename Float , typename T >
const int quda::colorspinor_ghost_wrapper< Float, T >::dim

Definition at line 115 of file color_spinor_field_order.h.

◆ dir

template<typename Float , typename T >
const int quda::colorspinor_ghost_wrapper< Float, T >::dir

Definition at line 116 of file color_spinor_field_order.h.

◆ field

template<typename Float , typename T >
T& quda::colorspinor_ghost_wrapper< Float, T >::field

Definition at line 119 of file color_spinor_field_order.h.

◆ ghost_idx

template<typename Float , typename T >
const int quda::colorspinor_ghost_wrapper< Float, T >::ghost_idx

Definition at line 117 of file color_spinor_field_order.h.

◆ parity

template<typename Float , typename T >
const int quda::colorspinor_ghost_wrapper< Float, T >::parity

Definition at line 118 of file color_spinor_field_order.h.


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