QUDA
v1.1.0
A library for QCD on GPUs
|
#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 constexpr int | reconLen = (reconLenParam == 11) ? 10 : reconLenParam |
static constexpr int | hasPhase = (reconLen == 9 || reconLen == 13) ? 1 : 0 |
Definition at line 1845 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 1846 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 1852 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 1850 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 1849 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 1851 of file gauge_field_order.h.
|
inline |
Definition at line 1871 of file gauge_field_order.h.
|
inline |
Definition at line 1896 of file gauge_field_order.h.
|
inline |
Definition at line 2157 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 2065 of file gauge_field_order.h.
|
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 2081 of file gauge_field_order.h.
|
inline |
Restore the field from the host after tuning.
Definition at line 2150 of file gauge_field_order.h.
|
inline |
Definition at line 1916 of file gauge_field_order.h.
|
inline |
Definition at line 1995 of file gauge_field_order.h.
|
inline |
Definition at line 2087 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 1974 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 1989 of file gauge_field_order.h.
|
inline |
Backup the field to the host when tuning.
Definition at line 2141 of file gauge_field_order.h.
|
inline |
Definition at line 1943 of file gauge_field_order.h.
|
inline |
Definition at line 2028 of file gauge_field_order.h.
|
inline |
Definition at line 2112 of file gauge_field_order.h.
void* quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::backup_h |
Definition at line 1868 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 1869 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 1860 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 1864 of file gauge_field_order.h.
Float* quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::gauge |
Definition at line 1856 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 1866 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 1858 of file gauge_field_order.h.
QudaGhostExchange quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::ghostExchange |
Definition at line 1859 of file gauge_field_order.h.
|
staticconstexpr |
Definition at line 1855 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 1857 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 1867 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 1862 of file gauge_field_order.h.
|
staticconstexpr |
Definition at line 1854 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 1853 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 1865 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 1863 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 1861 of file gauge_field_order.h.