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::gauge::TIFRPaddedOrder< Float, length > Struct Template Reference

#include <gauge_field_order.h>

+ Inheritance diagram for quda::gauge::TIFRPaddedOrder< Float, length >:

Public Types

using Accessor = TIFRPaddedOrder< Float, length >
 
using real = typename mapper< Float >::type
 
using complex = complex< real >
 
- Public Types inherited from quda::gauge::LegacyOrder< Float, length >
using Accessor = LegacyOrder< Float, length >
 
using real = typename mapper< Float >::type
 
using complex = complex< real >
 

Public Member Functions

 TIFRPaddedOrder (const GaugeField &u, Float *gauge_=0, Float **ghost_=0)
 
 TIFRPaddedOrder (const TIFRPaddedOrder &order)
 
__device__ __host__ int getPaddedIndex (int x_cb, int parity) const
 Compute the index into the padded field. Assumes that parity doesn't change from unpadded to padded. More...
 
__device__ __host__ void load (complex v[9], int x, int dir, int parity, real inphase=1.0) const
 
__device__ __host__ void save (const complex v[9], int x, int dir, int parity)
 
__device__ __host__ gauge_wrapper< real, Accessoroperator() (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< real, Accessoroperator() (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)
 
__device__ __host__ void loadGhost (complex v[length/2], int x, int dir, int parity, real phase=1.0) const
 
__device__ __host__ void saveGhost (const complex v[length/2], int x, int dir, int parity)
 
__device__ __host__ gauge_ghost_wrapper< real, AccessorGhost (int dim, int ghost_idx, int parity, real phase=1.0)
 This accessor routine returns a gauge_ghost_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_ghost_wrapper< real, AccessorGhost (int dim, int ghost_idx, int parity, real phase=1.0) const
 This accessor routine returns a const gauge_ghost_wrapper to this object, allowing us to overload various operators for manipulating at the site level interms of matrix operations. More...
 
__device__ __host__ void loadGhostEx (complex v[length/2], int x, int dummy, int dir, int dim, int g, int parity, const int R[]) const
 
__device__ __host__ void saveGhostEx (const complex v[length/2], int x, int dummy, int dir, int dim, int g, int parity, const int R[])
 

Public Attributes

Float * gauge
 
const int volumeCB
 
int exVolumeCB
 
const real scale
 
const real scale_inv
 
const int dim [4]
 
const int exDim [4]
 
- 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
 

Static Public Attributes

static constexpr int Nc = 3
 

Detailed Description

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

struct to define TIFR ordered gauge fields (with inlined z halo of depth two): [mu][parity][t][z+4][y][x/2][col][row]

Definition at line 2982 of file gauge_field_order.h.

Member Typedef Documentation

◆ Accessor

template<typename Float , int length>
using quda::gauge::TIFRPaddedOrder< Float, length >::Accessor = TIFRPaddedOrder<Float, length>

Definition at line 2983 of file gauge_field_order.h.

◆ complex

template<typename Float , int length>
using quda::gauge::TIFRPaddedOrder< Float, length >::complex = complex<real>

Definition at line 2985 of file gauge_field_order.h.

◆ real

template<typename Float , int length>
using quda::gauge::TIFRPaddedOrder< Float, length >::real = typename mapper<Float>::type

Definition at line 2984 of file gauge_field_order.h.

Constructor & Destructor Documentation

◆ TIFRPaddedOrder() [1/2]

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

Definition at line 2994 of file gauge_field_order.h.

◆ TIFRPaddedOrder() [2/2]

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

Definition at line 3011 of file gauge_field_order.h.

Member Function Documentation

◆ Bytes()

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

Definition at line 3112 of file gauge_field_order.h.

◆ getPaddedIndex()

template<typename Float , int length>
__device__ __host__ int quda::gauge::TIFRPaddedOrder< Float, length >::getPaddedIndex ( int  x_cb,
int  parity 
) const
inline

Compute the index into the padded field. Assumes that parity doesn't change from unpadded to padded.

Definition at line 3028 of file gauge_field_order.h.

◆ load()

template<typename Float , int length>
__device__ __host__ void quda::gauge::TIFRPaddedOrder< Float, length >::load ( complex  v[9],
int  x,
int  dir,
int  parity,
real  inphase = 1.0 
) const
inline

Definition at line 3039 of file gauge_field_order.h.

◆ operator()() [1/2]

template<typename Float , int length>
__device__ __host__ gauge_wrapper<real, Accessor> quda::gauge::TIFRPaddedOrder< 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 3092 of file gauge_field_order.h.

◆ operator()() [2/2]

template<typename Float , int length>
__device__ __host__ const gauge_wrapper<real, Accessor> quda::gauge::TIFRPaddedOrder< 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 3107 of file gauge_field_order.h.

◆ save()

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

Definition at line 3057 of file gauge_field_order.h.

Member Data Documentation

◆ dim

template<typename Float , int length>
const int quda::gauge::TIFRPaddedOrder< Float, length >::dim[4]

Definition at line 2992 of file gauge_field_order.h.

◆ exDim

template<typename Float , int length>
const int quda::gauge::TIFRPaddedOrder< Float, length >::exDim[4]

Definition at line 2993 of file gauge_field_order.h.

◆ exVolumeCB

template<typename Float , int length>
int quda::gauge::TIFRPaddedOrder< Float, length >::exVolumeCB

Definition at line 2988 of file gauge_field_order.h.

◆ gauge

template<typename Float , int length>
Float* quda::gauge::TIFRPaddedOrder< Float, length >::gauge

Definition at line 2986 of file gauge_field_order.h.

◆ Nc

template<typename Float , int length>
constexpr int quda::gauge::TIFRPaddedOrder< Float, length >::Nc = 3
staticconstexpr

Definition at line 2989 of file gauge_field_order.h.

◆ scale

template<typename Float , int length>
const real quda::gauge::TIFRPaddedOrder< Float, length >::scale

Definition at line 2990 of file gauge_field_order.h.

◆ scale_inv

template<typename Float , int length>
const real quda::gauge::TIFRPaddedOrder< Float, length >::scale_inv

Definition at line 2991 of file gauge_field_order.h.

◆ volumeCB

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

Definition at line 2987 of file gauge_field_order.h.


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