QUDA  0.9.0
Public Types | Public Member Functions | Public Attributes | List of all members
quda::gauge::QDPOrder< Float, length > Struct Template Reference

#include <gauge_field_order.h>

Inheritance diagram for quda::gauge::QDPOrder< Float, length >:
Inheritance graph
[legend]
Collaboration diagram for quda::gauge::QDPOrder< Float, length >:
Collaboration graph
[legend]

Public Types

typedef mapper< Float >::type RegType
 
- Public Types inherited from quda::gauge::LegacyOrder< Float, length >
typedef mapper< Float >::type RegType
 

Public Member Functions

 QDPOrder (const GaugeField &u, Float *gauge_=0, Float **ghost_=0)
 
 QDPOrder (const QDPOrder &order)
 
virtual ~QDPOrder ()
 
__device__ __host__ void load (RegType v[length], int x, int dir, int parity) const
 
__device__ __host__ void save (const RegType v[length], int x, int dir, int parity)
 
__device__ __host__ gauge_wrapper< Float, QDPOrder< Float, length > > operator() (int dim, int x_cb, int parity)
 This accessor routine returns a gauge_wrapper to this object, allowing us to overload various operators for manipulating at the site level interms of matrix operations. More...
 
__device__ __host__ const gauge_wrapper< Float, QDPOrder< Float, length > > operator() (int dim, int x_cb, int parity) const
 This accessor routine returns a const gauge_wrapper to this object, allowing us to overload various operators for manipulating at the site level interms of matrix operations. More...
 
size_t Bytes () const
 
- Public Member Functions inherited from quda::gauge::LegacyOrder< Float, length >
 LegacyOrder (const GaugeField &u, Float **ghost_)
 
 LegacyOrder (const LegacyOrder &order)
 
virtual ~LegacyOrder ()
 
__device__ __host__ void loadGhost (RegType v[length], int x, int dir, int parity) const
 
__device__ __host__ void saveGhost (const RegType v[length], int x, int dir, int parity)
 
__device__ __host__ void loadGhostEx (RegType v[length], int x, int dummy, int dir, int dim, int g, int parity, const int R[]) const
 
__device__ __host__ void saveGhostEx (const RegType v[length], int x, int dummy, int dir, int dim, int g, int parity, const int R[])
 

Public Attributes

Float * gauge [QUDA_MAX_DIM]
 
const int volumeCB
 
- Public Attributes inherited from quda::gauge::LegacyOrder< Float, length >
Float * ghost [QUDA_MAX_DIM]
 
int faceVolumeCB [QUDA_MAX_DIM]
 
const int volumeCB
 
const int stride
 
const int geometry
 
const int hasPhase
 

Detailed Description

template<typename Float, int length>
struct quda::gauge::QDPOrder< Float, length >

struct to define QDP ordered gauge fields: [[dim]] [[parity][volumecb][row][col]]

Definition at line 1365 of file gauge_field_order.h.

Member Typedef Documentation

◆ RegType

template<typename Float , int length>
typedef mapper<Float>::type quda::gauge::QDPOrder< Float, length >::RegType

Definition at line 1366 of file gauge_field_order.h.

Constructor & Destructor Documentation

◆ QDPOrder() [1/2]

template<typename Float , int length>
quda::gauge::QDPOrder< Float, length >::QDPOrder ( const GaugeField u,
Float *  gauge_ = 0,
Float **  ghost_ = 0 
)
inline

Definition at line 1369 of file gauge_field_order.h.

References quda::gauge::QDPOrder< Float, length >::gauge, quda::GaugeField::Gauge_p(), and fused_exterior_ndeg_tm_dslash_cuda_gen::i.

Here is the call graph for this function:

◆ QDPOrder() [2/2]

template<typename Float , int length>
quda::gauge::QDPOrder< Float, length >::QDPOrder ( const QDPOrder< Float, length > &  order)
inline

◆ ~QDPOrder()

template<typename Float , int length>
virtual quda::gauge::QDPOrder< Float, length >::~QDPOrder ( )
inlinevirtual

Definition at line 1375 of file gauge_field_order.h.

Member Function Documentation

◆ Bytes()

template<typename Float , int length>
size_t quda::gauge::QDPOrder< Float, length >::Bytes ( ) const
inline

Definition at line 1435 of file gauge_field_order.h.

References length.

◆ load()

template<typename Float , int length>
__device__ __host__ void quda::gauge::QDPOrder< Float, length >::load ( RegType  v[length],
int  x,
int  dir,
int  parity 
) const
inline

◆ operator()() [1/2]

template<typename Float , int length>
__device__ __host__ gauge_wrapper<Float,QDPOrder<Float,length> > quda::gauge::QDPOrder< Float, length >::operator() ( int  dim,
int  x_cb,
int  parity 
)
inline

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

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

Definition at line 1415 of file gauge_field_order.h.

References dim, and parity.

◆ operator()() [2/2]

template<typename Float , int length>
__device__ __host__ const gauge_wrapper<Float,QDPOrder<Float,length> > quda::gauge::QDPOrder< Float, length >::operator() ( int  dim,
int  x_cb,
int  parity 
) const
inline

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

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

Definition at line 1430 of file gauge_field_order.h.

References dim, and parity.

◆ save()

template<typename Float , int length>
__device__ __host__ void quda::gauge::QDPOrder< Float, length >::save ( const RegType  v[length],
int  x,
int  dir,
int  parity 
)
inline

Member Data Documentation

◆ gauge

template<typename Float , int length>
Float* quda::gauge::QDPOrder< Float, length >::gauge[QUDA_MAX_DIM]

◆ volumeCB

template<typename Float , int length>
const int quda::gauge::QDPOrder< Float, length >::volumeCB

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