QUDA
v1.1.0
A library for QCD on GPUs
|
struct to define gauge fields packed into an opaque MILC site struct: More...
#include <gauge_field_order.h>
Public Types | |
using | Accessor = MILCSiteOrder< 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 | |
MILCSiteOrder (const GaugeField &u, Float *gauge_=0, Float **ghost_=0) | |
MILCSiteOrder (const MILCSiteOrder &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, Accessor > | 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< real, Accessor > | 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) | |
__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, Accessor > | Ghost (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, Accessor > | Ghost (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 |
const size_t | offset |
const size_t | size |
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 |
struct to define gauge fields packed into an opaque MILC site struct:
struct { char padding[offset]; Float [dim][row][col]; } site;
site lattice [parity][volumecb];
We are just passed the size of the struct and the offset to the required matrix elements. Typically, it is expected that this accessor will be used with zero-copy memory to the original allocation in MILC.
Definition at line 2559 of file gauge_field_order.h.
using quda::gauge::MILCSiteOrder< Float, length >::Accessor = MILCSiteOrder<Float, length> |
Definition at line 2560 of file gauge_field_order.h.
using quda::gauge::MILCSiteOrder< Float, length >::complex = complex<real> |
Definition at line 2562 of file gauge_field_order.h.
using quda::gauge::MILCSiteOrder< Float, length >::real = typename mapper<Float>::type |
Definition at line 2561 of file gauge_field_order.h.
|
inline |
Definition at line 2568 of file gauge_field_order.h.
|
inline |
Definition at line 2579 of file gauge_field_order.h.
|
inline |
Definition at line 2656 of file gauge_field_order.h.
|
inline |
Definition at line 2589 of file gauge_field_order.h.
|
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.
[in] | dir | Which dimension are we requesting |
[in] | x_cb | Checkerboarded space-time index we are requesting |
[in] | parity | Parity we are requesting |
Definition at line 2636 of file gauge_field_order.h.
|
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.
[in] | dir | Which dimension are we requesting |
[in] | x_cb | Checkerboarded space-time index we are requesting |
[in] | parity | Parity we are requesting |
Definition at line 2651 of file gauge_field_order.h.
|
inline |
Definition at line 2604 of file gauge_field_order.h.
Float* quda::gauge::MILCSiteOrder< Float, length >::gauge |
Definition at line 2563 of file gauge_field_order.h.
const int quda::gauge::MILCSiteOrder< Float, length >::geometry |
Definition at line 2565 of file gauge_field_order.h.
const size_t quda::gauge::MILCSiteOrder< Float, length >::offset |
Definition at line 2566 of file gauge_field_order.h.
const size_t quda::gauge::MILCSiteOrder< Float, length >::size |
Definition at line 2567 of file gauge_field_order.h.
const int quda::gauge::MILCSiteOrder< Float, length >::volumeCB |
Definition at line 2564 of file gauge_field_order.h.