QUDA
1.0.0
|
#include <gauge_field_order.h>
Public Member Functions | |
FieldOrder (GaugeField &U, void *gauge_=0, void **ghost_=0) | |
FieldOrder (const FieldOrder &o) | |
void | resetScale (double max) |
__device__ __host__ complex< Float > | operator() (int d, int parity, int x, int row, int col) const |
__device__ __host__ fieldorder_wrapper< Float, storeFloat > | operator() (int d, int parity, int x, int row, int col) |
__device__ __host__ complex< Float > | Ghost (int d, int parity, int x, int row, int col) const |
__device__ __host__ fieldorder_wrapper< Float, storeFloat > | Ghost (int d, int parity, int x, int row, int col) |
__device__ __host__ const complex< Float > | operator() (int d, int parity, int x, int s_row, int s_col, int c_row, int c_col) const |
__device__ __host__ fieldorder_wrapper< Float, storeFloat > | operator() (int d, int parity, int x, int s_row, int s_col, int c_row, int c_col) |
__device__ __host__ complex< Float > | Ghost (int d, int parity, int x, int s_row, int s_col, int c_row, int c_col) const |
__device__ __host__ fieldorder_wrapper< Float, storeFloat > | Ghost (int d, int parity, int x, int s_row, int s_col, int c_row, int c_col) |
template<typename theirFloat > | |
__device__ __host__ void | atomicAdd (int d, int parity, int x, int s_row, int s_col, int c_row, int c_col, const complex< theirFloat > &val) |
__device__ __host__ int | Ncolor () const |
__device__ __host__ int | Volume () const |
__device__ __host__ int | VolumeCB () const |
__device__ __host__ int | Ndim () const |
__device__ __host__ int | Geometry () const |
__device__ __host__ int | NspinCoarse () const |
__device__ __host__ int | NcolorCoarse () const |
__host__ double | norm1 (int dim=-1, bool global=true) const |
Returns the L1 norm of the field in a given dimension. More... | |
__host__ double | norm2 (int dim=-1, bool global=true) const |
Returns the L2 norm squared of the field in a given dimension. More... | |
__host__ double | abs_max (int dim=-1, bool global=true) const |
Returns the Linfinity norm of the field in a given dimension. More... | |
__host__ double | abs_min (int dim=-1, bool global=true) const |
Returns the minimum absolute value of the field. More... | |
size_t | Bytes () const |
Static Public Member Functions | |
static constexpr bool | fixedPoint () |
Public Attributes | |
const int | volumeCB |
const int | nDim |
const int_fastdiv | geometry |
const QudaFieldLocation | location |
Accessor< Float, nColor, order, storeFloat, use_tex > | accessor |
GhostAccessor< Float, nColor, order, native_ghost, storeFloat, use_tex > | ghostAccessor |
Static Public Attributes | |
static constexpr int | nColorCoarse = nColor / nSpinCoarse |
This is a template driven generic gauge field accessor. To deploy for a specifc field ordering, the two operator() accessors have to be specialized for that ordering.
Float | Underlying type returned by the accessors |
nColor | Number of colors for the field |
nSpinCoarse | Number of "spin degrees of freedom" (for coarse-link fields only) |
order | Storage order of the field |
native_ghost | Whether to use native ghosts (inlined into the padded area for internal-order fields or use a separate array if false) |
Definition at line 896 of file gauge_field_order.h.
|
inline |
Constructor for the FieldOrder class
field | The field that we are accessing |
Definition at line 912 of file gauge_field_order.h.
References errorQuda, QUDA_RECONSTRUCT_NO, and quda::GaugeField::Reconstruct().
|
inline |
Definition at line 921 of file gauge_field_order.h.
|
inline |
Returns the Linfinity norm of the field in a given dimension.
[in] | dim | Which dimension we are taking the norm of (dim=-1 mean all dimensions) |
Definition at line 1093 of file gauge_field_order.h.
References comm_allreduce_max(), and quda::gauge_wrapper< Float, T >::dim.
|
inline |
Returns the minimum absolute value of the field.
[in] | dim | Which dimension we are taking the norm of (dim=-1 mean all dimensions) |
Definition at line 1105 of file gauge_field_order.h.
References comm_allreduce_min(), and quda::gauge_wrapper< Float, T >::dim.
|
inline |
Definition at line 1038 of file gauge_field_order.h.
|
inline |
Return the size of the allocation (geometry and parity left out and added as needed in Tunable::bytes)
Definition at line 1113 of file gauge_field_order.h.
References volumeCB.
|
inlinestatic |
Definition at line 931 of file gauge_field_order.h.
|
inline |
Returns the field geometry
Definition at line 1056 of file gauge_field_order.h.
|
inline |
Read-only complex-member accessor function for the ghost zone
d | dimension index |
parity | Parity index |
x | 1-d site index |
row | row index |
c | column index |
Definition at line 963 of file gauge_field_order.h.
|
inline |
Writable complex-member accessor function for the ghost zone
d | dimension index |
parity | Parity index |
x | 1-d site index |
row | row index |
c | column index |
Definition at line 974 of file gauge_field_order.h.
|
inline |
Specialized read-only complex-member accessor function (for coarse gauge field ghost zone)
d | dimension index |
parity | Parity index |
x | 1-d site index |
s_row | row spin index |
c_row | row color index |
s_col | col spin index |
c_col | col color index |
Definition at line 1017 of file gauge_field_order.h.
|
inline |
Specialized read-only complex-member accessor function (for coarse gauge field ghost zone)
d | dimension index |
parity | Parity index |
x | 1-d site index |
s_row | row spin index |
c_row | row color index |
s_col | col spin index |
c_col | col color index |
Definition at line 1033 of file gauge_field_order.h.
|
inline |
Returns the number of field colors
Definition at line 1044 of file gauge_field_order.h.
References nColor.
|
inline |
Returns the number of coarse gauge field colors
Definition at line 1062 of file gauge_field_order.h.
|
inline |
Returns the field geometric dimension
Definition at line 1053 of file gauge_field_order.h.
|
inline |
Returns the L1 norm of the field in a given dimension.
[in] | dim | Which dimension we are taking the norm of (dim=-1 mean all dimensions) |
Definition at line 1069 of file gauge_field_order.h.
References comm_allreduce(), and quda::gauge_wrapper< Float, T >::dim.
|
inline |
Returns the L2 norm squared of the field in a given dimension.
[in] | dim | Which dimension we are taking the norm of (dim=-1 mean all dimensions) |
Definition at line 1081 of file gauge_field_order.h.
References comm_allreduce(), and quda::gauge_wrapper< Float, T >::dim.
|
inline |
Returns the number of coarse gauge field spins
Definition at line 1059 of file gauge_field_order.h.
|
inline |
Read-only complex-member accessor function
d | dimension index |
parity | Parity index |
x | 1-d site index |
row | row index |
c | column index |
Definition at line 941 of file gauge_field_order.h.
|
inline |
Writable complex-member accessor function
d | dimension index |
parity | Parity index |
x | 1-d site index |
row | row index |
c | column index |
Definition at line 952 of file gauge_field_order.h.
|
inline |
Specialized read-only complex-member accessor function (for coarse gauge field)
d | dimension index |
parity | Parity index |
x | 1-d site index |
s_row | row spin index |
c_row | row color index |
s_col | col spin index |
c_col | col color index |
Definition at line 987 of file gauge_field_order.h.
References quda::gauge_wrapper< Float, T >::parity.
|
inline |
Specialized read-only complex-member accessor function (for coarse gauge field)
d | dimension index |
parity | Parity index |
x | 1-d site index |
s_row | row spin index |
c_row | row color index |
s_col | col spin index |
c_col | col color index |
Definition at line 1003 of file gauge_field_order.h.
References quda::gauge_wrapper< Float, T >::parity.
|
inline |
Definition at line 926 of file gauge_field_order.h.
References quda::gauge::Accessor< Float, nColor, order, storeFloat, use_tex >::resetScale(), and quda::gauge::GhostAccessor< Float, nColor, order, native_ghost, storeFloat, use_tex >::resetScale().
|
inline |
|
inline |
Accessor<Float,nColor,order,storeFloat,use_tex> quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::accessor |
Definition at line 905 of file gauge_field_order.h.
const int_fastdiv quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::geometry |
Definition at line 901 of file gauge_field_order.h.
GhostAccessor<Float,nColor,order,native_ghost,storeFloat,use_tex> quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::ghostAccessor |
Definition at line 906 of file gauge_field_order.h.
const QudaFieldLocation quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::location |
Definition at line 902 of file gauge_field_order.h.
|
static |
Definition at line 903 of file gauge_field_order.h.
const int quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::nDim |
Definition at line 900 of file gauge_field_order.h.
const int quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::volumeCB |
An internal reference to the actual field we are accessing
Definition at line 899 of file gauge_field_order.h.