QUDA
1.0.0
|
#include <gauge_field_order.h>
Public Types | |
using | Accessor = FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase > |
using | real = typename mapper< Float >::type |
using | complex = complex< real > |
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) | |
__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, real phase=1.0) |
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, real phase=1.0) 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 (complex v[length/2], int x, int dir, int parity, real inphase=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 buff_idx, int extended_idx, int dir, int dim, int g, int parity, const int R[]) const |
__device__ __host__ void | saveGhostEx (const complex v[length/2], 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, ghostExchange_, stag_phase > | 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 |
Definition at line 1692 of file gauge_field_order.h.
using quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::Accessor = FloatNOrder<Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase> |
Definition at line 1694 of file gauge_field_order.h.
typedef AllocType<huge_alloc>::type quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::AllocInt |
Definition at line 1699 of file gauge_field_order.h.
using quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::complex = complex<real> |
Definition at line 1697 of file gauge_field_order.h.
using quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::real = typename mapper<Float>::type |
Definition at line 1696 of file gauge_field_order.h.
typedef VectorType<Float, N>::type quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::Vector |
Definition at line 1698 of file gauge_field_order.h.
|
inline |
Definition at line 1723 of file gauge_field_order.h.
References errorQuda, quda::GaugeField::Gauge_p(), quda::LatticeField::Location(), quda::GaugeField::Nface(), QUDA_COARSE_GEOMETRY, QUDA_CUDA_FIELD_LOCATION, quda::LatticeField::R(), quda::LatticeField::SurfaceCB(), and quda::LatticeField::X().
|
inline |
Definition at line 1752 of file gauge_field_order.h.
References quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::faceVolumeCB, quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::ghost, quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::R, and quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::X.
|
inline |
Definition at line 2024 of file gauge_field_order.h.
|
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.
[in] | dir | Which dimension are we requesting |
[in] | ghost_idx | Ghost index we are requesting |
[in] | parity | Parity we are requesting |
Definition at line 1931 of file gauge_field_order.h.
References quda::gauge_wrapper< Float, T >::dim, quda::gauge_wrapper< Float, T >::parity, and quda::gauge_wrapper< Float, T >::phase.
|
inline |
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.
[in] | dir | Which dimension are we requesting |
[in] | ghost_idx | Ghost index we are requesting |
[in] | parity | Parity we are requesting |
Definition at line 1947 of file gauge_field_order.h.
References quda::gauge_wrapper< Float, T >::dim, quda::gauge_wrapper< Float, T >::parity, and quda::gauge_wrapper< Float, T >::phase.
|
inline |
Definition at line 1769 of file gauge_field_order.h.
References quda::copy(), tmp, and quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Unpack().
|
inline |
Restore the field from the host after tuning.
Definition at line 2017 of file gauge_field_order.h.
References checkCudaError, and host_free.
|
inline |
Definition at line 1861 of file gauge_field_order.h.
References quda::copy(), tmp, and quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Unpack().
|
inline |
Definition at line 1953 of file gauge_field_order.h.
References quda::copy(), quda::gauge_wrapper< Float, T >::dim, quda::gauge_wrapper< Float, T >::parity, tmp, and quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Unpack().
|
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 1840 of file gauge_field_order.h.
References quda::gauge_wrapper< Float, T >::dim, quda::gauge_wrapper< Float, T >::parity, quda::gauge_wrapper< Float, T >::phase, and quda::gauge_wrapper< Float, T >::x_cb.
|
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 1855 of file gauge_field_order.h.
References quda::gauge_wrapper< Float, T >::dim, quda::gauge_wrapper< Float, T >::parity, quda::gauge_wrapper< Float, T >::phase, and quda::gauge_wrapper< Float, T >::x_cb.
|
inline |
Definition at line 1808 of file gauge_field_order.h.
References quda::copy(), quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::getPhase(), quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Pack(), tmp, and quda::vector_store().
|
inline |
Backup the field to the host when tuning.
Definition at line 2007 of file gauge_field_order.h.
References checkCudaError, errorQuda, and safe_malloc.
|
inline |
Definition at line 1894 of file gauge_field_order.h.
References quda::copy(), quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::getPhase(), quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Pack(), tmp, and quda::vector_store().
|
inline |
Definition at line 1978 of file gauge_field_order.h.
References quda::copy(), quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::getPhase(), quda::gauge::Reconstruct< N, Float, ghostExchange_, QudaStaggeredPhase >::Pack(), tmp, and quda::vector_store().
void* quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::backup_h |
Definition at line 1720 of file gauge_field_order.h.
size_t quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::bytes |
host memory for backing up the field when tuning
Definition at line 1721 of file gauge_field_order.h.
int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::coords[QUDA_MAX_DIM] |
Definition at line 1712 of file gauge_field_order.h.
int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::faceVolumeCB[4] |
Definition at line 1716 of file gauge_field_order.h.
Referenced by quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::FloatNOrder().
Float* quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::gauge |
Definition at line 1703 of file gauge_field_order.h.
const int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::geometry |
Definition at line 1718 of file gauge_field_order.h.
Float* quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::ghost[4] |
Definition at line 1710 of file gauge_field_order.h.
Referenced by quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::FloatNOrder().
QudaGhostExchange quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::ghostExchange |
Definition at line 1711 of file gauge_field_order.h.
|
static |
Definition at line 1702 of file gauge_field_order.h.
const AllocInt quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::offset |
Definition at line 1704 of file gauge_field_order.h.
const AllocInt quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::phaseOffset |
Definition at line 1719 of file gauge_field_order.h.
int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::R[QUDA_MAX_DIM] |
Definition at line 1714 of file gauge_field_order.h.
Referenced by quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::FloatNOrder().
|
static |
Definition at line 1701 of file gauge_field_order.h.
Reconstruct<reconLenParam, Float, ghostExchange_, stag_phase> quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::reconstruct |
Definition at line 1700 of file gauge_field_order.h.
const int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::stride |
Definition at line 1717 of file gauge_field_order.h.
const int quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::volumeCB |
Definition at line 1715 of file gauge_field_order.h.
int_fastdiv quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::X[QUDA_MAX_DIM] |
Definition at line 1713 of file gauge_field_order.h.
Referenced by quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::FloatNOrder().