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

#include <gauge_field_order.h>

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

Public Types

using Accessor = MILCOrder< 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

 MILCOrder (const GaugeField &u, Float *gauge_=0, Float **ghost_=0)
 
 MILCOrder (const MILCOrder &order)
 
__device__ __host__ void load (complex v[length/2], int x, int dir, int parity, real inphase=1.0) const
 
__device__ __host__ void save (const complex v[length/2], 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
 
const int geometry
 
- 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::MILCOrder< Float, length >

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

Definition at line 2465 of file gauge_field_order.h.

Member Typedef Documentation

◆ Accessor

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

Definition at line 2466 of file gauge_field_order.h.

◆ complex

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

Definition at line 2468 of file gauge_field_order.h.

◆ real

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

Definition at line 2467 of file gauge_field_order.h.

Constructor & Destructor Documentation

◆ MILCOrder() [1/2]

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

Definition at line 2472 of file gauge_field_order.h.

◆ MILCOrder() [2/2]

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

Definition at line 2475 of file gauge_field_order.h.

Member Function Documentation

◆ Bytes()

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

Definition at line 2541 of file gauge_field_order.h.

◆ load()

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

Definition at line 2479 of file gauge_field_order.h.

◆ operator()() [1/2]

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

◆ operator()() [2/2]

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

◆ save()

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

Definition at line 2491 of file gauge_field_order.h.

Member Data Documentation

◆ gauge

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

Definition at line 2469 of file gauge_field_order.h.

◆ geometry

template<typename Float , int length>
const int quda::gauge::MILCOrder< Float, length >::geometry

Definition at line 2471 of file gauge_field_order.h.

◆ volumeCB

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

Definition at line 2470 of file gauge_field_order.h.


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