QUDA  0.9.0
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc > Struct Template Reference

#include <gauge_field_order.h>

Collaboration diagram for quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >:
Collaboration graph
[legend]

Public Types

typedef mapper< Float >::type RegType
 
typedef VectorType< Float, N >::type Vector
 
typedef AllocType< huge_alloc >::type AllocInt
 

Public Member Functions

 FloatNOrder (const GaugeField &u, Float *gauge_=0, Float **ghost_=0, bool override=false)
 
 FloatNOrder (const FloatNOrder &order)
 
virtual ~FloatNOrder ()
 
__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, FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc > > 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, FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc > > 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...
 
__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__ gauge_ghost_wrapper< Float, FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc > > Ghost (int dim, int ghost_idx, int parity)
 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< Float, FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc > > Ghost (int dim, int ghost_idx, 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...
 
__device__ __host__ void loadGhostEx (RegType v[length], int buff_idx, int extended_idx, int dir, int dim, int g, int parity, const int R[]) const
 
__device__ __host__ void saveGhostEx (const RegType v[length], int buff_idx, int extended_idx, int dir, int dim, int g, int parity, const int R[])
 
void save ()
 Backup the field to the host when tuning. More...
 
void load ()
 Restore the field from the host after tuning. More...
 
size_t Bytes () const
 

Public Attributes

Reconstruct< reconLenParam, Float > reconstruct
 
Float * gauge
 
const AllocInt offset
 
Float * ghost [4]
 
QudaGhostExchange ghostExchange
 
int coords [QUDA_MAX_DIM]
 
int_fastdiv X [QUDA_MAX_DIM]
 
int R [QUDA_MAX_DIM]
 
const int volumeCB
 
int faceVolumeCB [4]
 
const int stride
 
const int geometry
 
const AllocInt phaseOffset
 
void * backup_h
 
size_t bytes
 host memory for backing up the field when tuning More...
 

Static Public Attributes

static const int reconLen = (reconLenParam == 11) ? 10 : reconLenParam
 
static const int hasPhase = (reconLen == 9 || reconLen == 13) ? 1 : 0
 

Detailed Description

template<typename Float, int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
struct quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >

Definition at line 949 of file gauge_field_order.h.

Member Typedef Documentation

◆ AllocInt

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
typedef AllocType<huge_alloc>::type quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::AllocInt

Definition at line 952 of file gauge_field_order.h.

◆ RegType

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
typedef mapper<Float>::type quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::RegType

Definition at line 950 of file gauge_field_order.h.

◆ Vector

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
typedef VectorType<Float,N>::type quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::Vector

Definition at line 951 of file gauge_field_order.h.

Constructor & Destructor Documentation

◆ FloatNOrder() [1/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::FloatNOrder ( const GaugeField u,
Float *  gauge_ = 0,
Float **  ghost_ = 0,
bool  override = false 
)
inline

◆ FloatNOrder() [2/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::FloatNOrder ( const FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc > &  order)
inline

◆ ~FloatNOrder()

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
virtual quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::~FloatNOrder ( )
inlinevirtual

Definition at line 1021 of file gauge_field_order.h.

Member Function Documentation

◆ Bytes()

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
size_t quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::Bytes ( ) const
inline

◆ Ghost() [1/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ gauge_ghost_wrapper<Float,FloatNOrder<Float,length,N,reconLenParam,stag_phase,huge_alloc> > quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::Ghost ( int  dim,
int  ghost_idx,
int  parity 
)
inline

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.

Parameters
[in]dirWhich dimension are we requesting
[in]ghost_idxGhost 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 1173 of file gauge_field_order.h.

References dim, and parity.

◆ Ghost() [2/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ const gauge_ghost_wrapper<Float,FloatNOrder<Float,length,N,reconLenParam,stag_phase,huge_alloc> > quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::Ghost ( int  dim,
int  ghost_idx,
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]ghost_idxGhost 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 1188 of file gauge_field_order.h.

References dim, and parity.

◆ load() [1/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ void quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::load ( RegType  v[length],
int  x,
int  dir,
int  parity 
) const
inline

◆ load() [2/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
void quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::load ( )
inline

◆ loadGhost()

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ void quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::loadGhost ( RegType  v[length],
int  x,
int  dir,
int  parity 
) const
inline

◆ loadGhostEx()

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ void quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::loadGhostEx ( RegType  v[length],
int  buff_idx,
int  extended_idx,
int  dir,
int  dim,
int  g,
int  parity,
const int  R[] 
) const
inline

◆ operator()() [1/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ gauge_wrapper<Float,FloatNOrder<Float,length,N,reconLenParam,stag_phase,huge_alloc> > quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::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 1094 of file gauge_field_order.h.

References dim, and parity.

◆ operator()() [2/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ const gauge_wrapper<Float,FloatNOrder<Float,length,N,reconLenParam,stag_phase,huge_alloc> > quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::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 1109 of file gauge_field_order.h.

References dim, and parity.

◆ save() [1/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ void quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::save ( const RegType  v[length],
int  x,
int  dir,
int  parity 
)
inline

◆ save() [2/2]

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
void quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::save ( )
inline

◆ saveGhost()

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ void quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::saveGhost ( const RegType  v[length],
int  x,
int  dir,
int  parity 
)
inline

◆ saveGhostEx()

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
__device__ __host__ void quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::saveGhostEx ( const RegType  v[length],
int  buff_idx,
int  extended_idx,
int  dir,
int  dim,
int  g,
int  parity,
const int  R[] 
)
inline

Member Data Documentation

◆ backup_h

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
void* quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::backup_h

◆ bytes

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
size_t quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::bytes

◆ coords

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::coords[QUDA_MAX_DIM]

◆ faceVolumeCB

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::faceVolumeCB[4]

◆ gauge

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
Float* quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::gauge

◆ geometry

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
const int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::geometry

◆ ghost

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
Float* quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::ghost[4]

◆ ghostExchange

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
QudaGhostExchange quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::ghostExchange

Definition at line 964 of file gauge_field_order.h.

◆ hasPhase

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
const int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::hasPhase = (reconLen == 9 || reconLen == 13) ? 1 : 0
static

◆ offset

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
const AllocInt quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::offset

◆ phaseOffset

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
const AllocInt quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::phaseOffset

◆ R

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::R[QUDA_MAX_DIM]

◆ reconLen

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
const int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::reconLen = (reconLenParam == 11) ? 10 : reconLenParam
static

◆ reconstruct

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
Reconstruct<reconLenParam,Float> quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::reconstruct

◆ stride

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
const int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::stride

◆ volumeCB

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
const int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::volumeCB

◆ X

template<typename Float , int length, int N, int reconLenParam, QudaStaggeredPhase stag_phase = QUDA_STAGGERED_PHASE_NO, bool huge_alloc = default_huge_alloc>
int_fastdiv quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::X[QUDA_MAX_DIM]

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