QUDA
1.0.0
|
gauge_wrapper is an internal class that is used to wrap instances of gauge accessors, currying in a specific location on the field. The operator() accessors in gauge-field accessors return instances to this class, allowing us to then use operator overloading upon this class to interact with the Matrix class. As a result we can include gauge-field accessors directly in Matrix expressions in kernels without having to declare temporaries with explicit calls to the load/save methods in the gauge-field accessors. More...
#include <gauge_field_order.h>
Public Member Functions | |
__device__ __host__ | gauge_wrapper (T &gauge, int dim, int x_cb, int parity, Float phase=1.0) |
gauge_wrapper constructor More... | |
template<typename M > | |
__device__ __host__ void | operator= (const M &a) |
Assignment operator with Matrix instance as input. More... | |
Public Attributes | |
const int | dim |
const int | x_cb |
const int | parity |
const Float | phase |
T & | gauge |
gauge_wrapper is an internal class that is used to wrap instances of gauge accessors, currying in a specific location on the field. The operator() accessors in gauge-field accessors return instances to this class, allowing us to then use operator overloading upon this class to interact with the Matrix class. As a result we can include gauge-field accessors directly in Matrix expressions in kernels without having to declare temporaries with explicit calls to the load/save methods in the gauge-field accessors.
Definition at line 44 of file gauge_field_order.h.
|
inline |
gauge_wrapper constructor
[in] | gauge | Gauge field accessor we are wrapping |
[in] | dim | Dimension we are accessing |
[in] | x_cb | Checkerboarded space-time index we are accessing |
[in] | parity | Parity we are accessing |
Definition at line 58 of file gauge_field_order.h.
|
inline |
Assignment operator with Matrix instance as input.
[in] | M | Matrix we want to store in this accessor |
Definition at line 72 of file gauge_field_order.h.
References quda::gauge_wrapper< Float, T >::dim, quda::gauge_wrapper< Float, T >::gauge, quda::gauge_wrapper< Float, T >::parity, and quda::gauge_wrapper< Float, T >::x_cb.
const int quda::gauge_wrapper< Float, T >::dim |
Definition at line 45 of file gauge_field_order.h.
Referenced by quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::abs_max(), quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::abs_min(), quda::gauge::Accessor< Float, nColor, QUDA_QDP_GAUGE_ORDER, storeFloat, use_tex >::atomic_add(), quda::gauge::Accessor< Float, nColor, QUDA_MILC_GAUGE_ORDER, storeFloat, use_tex >::atomic_add(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::Ghost(), quda::gauge::LegacyOrder< Float, length >::Ghost(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::loadGhostEx(), quda::gauge::LegacyOrder< Float, length >::loadGhostEx(), quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::norm1(), quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::norm2(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::operator()(), quda::gauge::QDPOrder< Float, length >::operator()(), quda::gauge::QDPJITOrder< Float, length >::operator()(), quda::gauge::MILCOrder< Float, length >::operator()(), quda::gauge::MILCSiteOrder< Float, length >::operator()(), quda::gauge::CPSOrder< Float, length >::operator()(), quda::gauge::BQCDOrder< Float, length >::operator()(), quda::gauge::TIFROrder< Float, length >::operator()(), quda::gauge::TIFRPaddedOrder< Float, length >::operator()(), quda::gauge_wrapper< Float, T >::operator=(), quda::gauge_ghost_wrapper< Float, T >::operator=(), and quda::gauge::LegacyOrder< Float, length >::saveGhostEx().
T& quda::gauge_wrapper< Float, T >::gauge |
Definition at line 49 of file gauge_field_order.h.
Referenced by quda::gauge::MILCSiteOrder< Float, length >::load(), quda::Matrix< T, N >::Matrix(), quda::gauge_wrapper< Float, T >::operator=(), quda::gauge_ghost_wrapper< Float, T >::operator=(), and quda::gauge::MILCSiteOrder< Float, length >::save().
const int quda::gauge_wrapper< Float, T >::parity |
Definition at line 47 of file gauge_field_order.h.
Referenced by quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::Ghost(), quda::gauge::LegacyOrder< Float, length >::Ghost(), quda::gauge::BQCDOrder< Float, length >::load(), quda::gauge::TIFROrder< Float, length >::load(), quda::gauge::TIFRPaddedOrder< Float, length >::load(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::loadGhostEx(), quda::gauge::LegacyOrder< Float, length >::loadGhostEx(), quda::gauge::FieldOrder< Float, nColor, nSpinCoarse, order, native_ghost, storeFloat, use_tex >::operator()(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::operator()(), quda::gauge::QDPOrder< Float, length >::operator()(), quda::gauge::QDPJITOrder< Float, length >::operator()(), quda::gauge::MILCOrder< Float, length >::operator()(), quda::gauge::MILCSiteOrder< Float, length >::operator()(), quda::gauge::CPSOrder< Float, length >::operator()(), quda::gauge::BQCDOrder< Float, length >::operator()(), quda::gauge::TIFROrder< Float, length >::operator()(), quda::gauge::TIFRPaddedOrder< Float, length >::operator()(), quda::gauge_wrapper< Float, T >::operator=(), quda::gauge_ghost_wrapper< Float, T >::operator=(), quda::gauge::QDPJITOrder< Float, length >::save(), quda::gauge::BQCDOrder< Float, length >::save(), quda::gauge::TIFROrder< Float, length >::save(), quda::gauge::TIFRPaddedOrder< Float, length >::save(), and quda::gauge::LegacyOrder< Float, length >::saveGhostEx().
const Float quda::gauge_wrapper< Float, T >::phase |
Definition at line 48 of file gauge_field_order.h.
Referenced by quda::gauge::Reconstruct< 13, Float, ghostExchange_, stag_phase >::getPhase(), quda::gauge::Reconstruct< 9, Float, ghostExchange_, stag_phase >::getPhase(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::Ghost(), quda::gauge::LegacyOrder< Float, length >::Ghost(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::operator()(), quda::gauge::Reconstruct< 13, Float, ghostExchange_, stag_phase >::Unpack(), and quda::gauge::Reconstruct< 9, Float, ghostExchange_, stag_phase >::Unpack().
const int quda::gauge_wrapper< Float, T >::x_cb |
Definition at line 46 of file gauge_field_order.h.
Referenced by quda::gauge::Accessor< Float, nColor, QUDA_MILC_GAUGE_ORDER, storeFloat, use_tex >::atomic_add(), quda::gauge::Accessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, storeFloat, use_tex >::atomic_add(), quda::gauge::GhostAccessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, native_ghost, storeFloat, use_tex >::operator()(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::operator()(), quda::gauge::QDPOrder< Float, length >::operator()(), quda::gauge::QDPJITOrder< Float, length >::operator()(), quda::gauge::MILCOrder< Float, length >::operator()(), quda::gauge::MILCSiteOrder< Float, length >::operator()(), quda::gauge::CPSOrder< Float, length >::operator()(), quda::gauge::BQCDOrder< Float, length >::operator()(), quda::gauge::TIFROrder< Float, length >::operator()(), quda::gauge::TIFRPaddedOrder< Float, length >::operator()(), and quda::gauge_wrapper< Float, T >::operator=().