QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Functions | Variables
quda::gauge Namespace Reference

Classes

struct  abs_
 
struct  abs_< Float, char >
 
struct  abs_< Float, int >
 
struct  abs_< Float, short >
 
struct  Accessor
 
struct  Accessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, storeFloat, use_tex >
 
struct  Accessor< Float, nColor, QUDA_MILC_GAUGE_ORDER, storeFloat, use_tex >
 
struct  Accessor< Float, nColor, QUDA_QDP_GAUGE_ORDER, storeFloat, use_tex >
 
struct  BQCDOrder
 struct to define BQCD ordered gauge fields: More...
 
struct  CPSOrder
 
struct  FieldOrder
 
struct  fieldorder_wrapper
 fieldorder_wrapper is an internal class that is used to wrap instances of FieldOrder accessors, currying in the specific location on the field. This is used as a helper class for fixed-point accessors providing the necessary conversion and scaling when writing to a fixed-point field. More...
 
struct  FloatNOrder
 
struct  GhostAccessor
 
struct  GhostAccessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, native_ghost, storeFloat, use_tex >
 
struct  GhostAccessor< Float, nColor, QUDA_MILC_GAUGE_ORDER, native_ghost, storeFloat, use_tex >
 
struct  GhostAccessor< Float, nColor, QUDA_QDP_GAUGE_ORDER, native_ghost, storeFloat, use_tex >
 
struct  LegacyOrder
 The LegacyOrder defines the ghost zone storage and ordering for all cpuGaugeFields, which use the same ghost zone storage. More...
 
struct  MILCOrder
 
struct  MILCSiteOrder
 struct to define gauge fields packed into an opaque MILC site struct: More...
 
struct  QDPJITOrder
 
struct  QDPOrder
 
struct  Reconstruct
 Generic reconstruction helper with no reconstruction. More...
 
struct  Reconstruct< 11, Float, ghostExchange_ >
 Gauge reconstruct helper for Momentum field with 10 packed elements (really 9 from the Lie algebra, with zero for last element). We label this as 11 to avoid collisions with simple load/store of momentum field where we do not seek to unpack/pack. More...
 
struct  Reconstruct< 12, Float, ghostExchange_ >
 Gauge reconstruct 12 helper where we reconstruct the third row from the cross product of the first two rows. More...
 
struct  Reconstruct< 13, Float, ghostExchange_, stag_phase >
 Gauge reconstruct 13 helper where we reconstruct the third row from the cross product of the first two rows, and include a non-trivial phase factor. More...
 
struct  Reconstruct< 8, Float, ghostExchange_ >
 Gauge reconstruct 8 helper where we reconstruct the gauge matrix from 8 packed elements (maximal compression) More...
 
struct  Reconstruct< 9, Float, ghostExchange_, stag_phase >
 Gauge reconstruct 9 helper where we reconstruct the gauge matrix from 8 packed elements (maximal compression) and include a non-trivial phase factor. More...
 
struct  S
 This is just a dummy structure we use for trove to define the required structure size. More...
 
struct  square_
 
struct  square_< ReduceType, char >
 
struct  square_< ReduceType, int >
 
struct  square_< ReduceType, short >
 
struct  TIFROrder
 struct to define TIFR ordered gauge fields: [mu][parity][volumecb][col][row] More...
 
struct  TIFRPaddedOrder
 

Functions

template<typename Float , typename storeFloat >
__host__ __device__ constexpr bool fixed_point ()
 
template<>
__host__ __device__ constexpr bool fixed_point< float, char > ()
 
template<>
__host__ __device__ constexpr bool fixed_point< float, short > ()
 
template<>
__host__ __device__ constexpr bool fixed_point< float, int > ()
 
template<typename Float , typename storeFloat >
__host__ __device__ constexpr bool match ()
 
template<>
__host__ __device__ constexpr bool match< int, int > ()
 
template<>
__host__ __device__ constexpr bool match< short, short > ()
 
template<typename Float , typename storeFloat >
__device__ __host__ complex< Float > operator* (const Float &a, const fieldorder_wrapper< Float, storeFloat > &b)
 
template<typename Float , typename storeFloat >
__device__ __host__ complex< Float > operator+ (const fieldorder_wrapper< Float, storeFloat > &a, const complex< Float > &b)
 
template<typename Float , typename storeFloat >
__device__ __host__ complex< Float > operator+ (const complex< Float > &a, const fieldorder_wrapper< Float, storeFloat > &b)
 
template<int nColor, int N>
__device__ __host__ int indexFloatN (int dim, int parity, int x_cb, int row, int col, int stride, int offset_cb)
 
template<QudaGhostExchange ghostExchange_, typename T , typename I >
__device__ __host__ T timeBoundary (int idx, const I X[QUDA_MAX_DIM], const int R[QUDA_MAX_DIM], T tBoundary, T scale, int firstTimeSliceBound, int lastTimeSliceBound, bool isFirstTimeSlice, bool isLastTimeSlice, QudaGhostExchange ghostExchange=QUDA_GHOST_EXCHANGE_NO)
 timeBoundary Compute boundary condition correction More...
 
template<typename Float , typename I >
__device__ __host__ Float milcStaggeredPhase (int dim, const int x[], const I R[])
 
__host__ __device__ constexpr int ct_sqrt (int n, int i=1)
 
__host__ __device__ constexpr int Ncolor (int length)
 Return the number of colors of the accessor based on the length of the field. More...
 
template<QudaStaggeredPhase phase>
__host__ __device__ bool static_phase ()
 

Variables

constexpr bool default_huge_alloc = true
 

Function Documentation

◆ ct_sqrt()

__host__ __device__ constexpr int quda::gauge::ct_sqrt ( int  n,
int  i = 1 
)

Definition at line 1664 of file gauge_field_order.h.

Referenced by Ncolor().

Here is the caller graph for this function:

◆ fixed_point()

template<typename Float , typename storeFloat >
__host__ __device__ constexpr bool quda::gauge::fixed_point ( )
inline

Definition at line 218 of file gauge_field_order.h.

◆ fixed_point< float, char >()

template<>
__host__ __device__ constexpr bool quda::gauge::fixed_point< float, char > ( )
inline

Definition at line 219 of file gauge_field_order.h.

◆ fixed_point< float, int >()

template<>
__host__ __device__ constexpr bool quda::gauge::fixed_point< float, int > ( )
inline

Definition at line 221 of file gauge_field_order.h.

◆ fixed_point< float, short >()

template<>
__host__ __device__ constexpr bool quda::gauge::fixed_point< float, short > ( )
inline

Definition at line 220 of file gauge_field_order.h.

◆ indexFloatN()

template<int nColor, int N>
__device__ __host__ int quda::gauge::indexFloatN ( int  dim,
int  parity,
int  x_cb,
int  row,
int  col,
int  stride,
int  offset_cb 
)
inline

Definition at line 673 of file gauge_field_order.h.

References index(), and nColor.

Here is the call graph for this function:

◆ match()

template<typename Float , typename storeFloat >
__host__ __device__ constexpr bool quda::gauge::match ( )
inline

Definition at line 223 of file gauge_field_order.h.

◆ match< int, int >()

template<>
__host__ __device__ constexpr bool quda::gauge::match< int, int > ( )
inline

Definition at line 224 of file gauge_field_order.h.

◆ match< short, short >()

template<>
__host__ __device__ constexpr bool quda::gauge::match< short, short > ( )
inline

Definition at line 225 of file gauge_field_order.h.

◆ milcStaggeredPhase()

template<typename Float , typename I >
__device__ __host__ Float quda::gauge::milcStaggeredPhase ( int  dim,
const int  x[],
const I  R[] 
)
inline

Definition at line 1212 of file gauge_field_order.h.

◆ Ncolor()

__host__ __device__ constexpr int quda::gauge::Ncolor ( int  length)

Return the number of colors of the accessor based on the length of the field.

Parameters
[in]lengthNumber of real numbers per link
Returns
Number of colors (=sqrt(length/2))

Definition at line 1674 of file gauge_field_order.h.

References ct_sqrt().

Referenced by quda::checkNan(), quda::copyGauge(), quda::copyGaugeEx(), quda::copyGaugeKernel(), quda::copyGhost(), quda::copyGhostKernel(), quda::extractor(), quda::injector(), and quda::CopyGauge< FloatOut, FloatIn, length, Arg >::set_ghost().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator*()

template<typename Float , typename storeFloat >
__device__ __host__ complex<Float> quda::gauge::operator* ( const Float &  a,
const fieldorder_wrapper< Float, storeFloat > &  b 
)
inline

◆ operator+() [1/2]

template<typename Float , typename storeFloat >
__device__ __host__ complex<Float> quda::gauge::operator+ ( const fieldorder_wrapper< Float, storeFloat > &  a,
const complex< Float > &  b 
)
inline

◆ operator+() [2/2]

template<typename Float , typename storeFloat >
__device__ __host__ complex<Float> quda::gauge::operator+ ( const complex< Float > &  a,
const fieldorder_wrapper< Float, storeFloat > &  b 
)
inline

◆ static_phase()

template<QudaStaggeredPhase phase>
__host__ __device__ bool quda::gauge::static_phase ( )
inline

◆ timeBoundary()

template<QudaGhostExchange ghostExchange_, typename T , typename I >
__device__ __host__ T quda::gauge::timeBoundary ( int  idx,
const I  X[QUDA_MAX_DIM],
const int  R[QUDA_MAX_DIM],
tBoundary,
scale,
int  firstTimeSliceBound,
int  lastTimeSliceBound,
bool  isFirstTimeSlice,
bool  isLastTimeSlice,
QudaGhostExchange  ghostExchange = QUDA_GHOST_EXCHANGE_NO 
)
inline

timeBoundary Compute boundary condition correction

Template Parameters
ghostExhange_Optional template the ghostExchange type to avoid the run-time overhead
Parameters
idxextended field linear index
Xthe gauge field dimensions
Rthe radii dimenions of the extended region
tBoundarythe boundary condition
isFirstTimeSliceif we're on the first time slice of nodes
isLastTimeSlideif we're on the last time slice of nodes
ghostExchangeif the field is extended or not (determines indexing type)

Definition at line 1179 of file gauge_field_order.h.

References QUDA_GHOST_EXCHANGE_EXTENDED, QUDA_GHOST_EXCHANGE_INVALID, QUDA_GHOST_EXCHANGE_PAD, R, and X.

Variable Documentation

◆ default_huge_alloc

constexpr bool quda::gauge::default_huge_alloc = true

Definition at line 1677 of file gauge_field_order.h.

Referenced by quda::complex< float >::complex(), and static_phase().