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

clover_wrapper is an internal class that is used to wrap instances of colorspinor accessors, currying in a specifc location and chirality on the field. The operator() accessors in clover-field accessors return instances to this class, allowing us to then use operator overloading upon this class to interact with the HMatrix class. As a result we can include clover-field accessors directly in HMatrix expressions in kernels without having to declare temporaries with explicit calls to the load/save methods in the clover-field accessors. More...

#include <clover_field_order.h>

Public Member Functions

__device__ __host__ clover_wrapper (T &field, int x_cb, int parity, int chirality)
 clover_wrapper constructor More...
 
template<typename C >
__device__ __host__ void operator= (const C &a)
 Assignment operator with H matrix instance as input. More...
 

Public Attributes

T & field
 
const int x_cb
 
const int parity
 
const int chirality
 

Detailed Description

template<typename Float, typename T>
struct quda::clover_wrapper< Float, T >

clover_wrapper is an internal class that is used to wrap instances of colorspinor accessors, currying in a specifc location and chirality on the field. The operator() accessors in clover-field accessors return instances to this class, allowing us to then use operator overloading upon this class to interact with the HMatrix class. As a result we can include clover-field accessors directly in HMatrix expressions in kernels without having to declare temporaries with explicit calls to the load/save methods in the clover-field accessors.

Definition at line 34 of file clover_field_order.h.

Constructor & Destructor Documentation

◆ clover_wrapper()

template<typename Float , typename T >
__device__ __host__ quda::clover_wrapper< Float, T >::clover_wrapper ( T &  field,
int  x_cb,
int  parity,
int  chirality 
)
inline

clover_wrapper constructor

Parameters
[in]aclover field accessor we are wrapping
[in]x_cbcheckerboarded space-time index we are accessing
[in]parityParity we are accessing
[in]chiralityChirality we are accessing

Definition at line 47 of file clover_field_order.h.

Member Function Documentation

◆ operator=()

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

Assignment operator with H matrix instance as input.

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

Definition at line 55 of file clover_field_order.h.

Member Data Documentation

◆ chirality

template<typename Float , typename T >
const int quda::clover_wrapper< Float, T >::chirality

Definition at line 38 of file clover_field_order.h.

◆ field

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

Definition at line 35 of file clover_field_order.h.

◆ parity

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

Definition at line 37 of file clover_field_order.h.

◆ x_cb

template<typename Float , typename T >
const int quda::clover_wrapper< Float, T >::x_cb

Definition at line 36 of file clover_field_order.h.


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