QUDA
1.0.0
|
Public Member Functions | |
CalculateYArg (coarseGauge &Y, coarseGauge &X, coarseGaugeAtomic &Y_atomic, coarseGaugeAtomic &X_atomic, fineSpinorTmp &UV, fineSpinor &AV, const fineGauge &U, const fineSpinorV &V, const fineClover &C, const fineClover &Cinv, double kappa, double mu, double mu_factor, const int *x_size_, const int *xc_size_, int *geo_bs_, int spin_bs_, const int *fine_to_coarse, const int *coarse_to_fine, bool bidirectional) | |
~CalculateYArg () | |
Public Attributes | |
coarseGauge | Y |
coarseGauge | X |
coarseGaugeAtomic | Y_atomic |
coarseGaugeAtomic | X_atomic |
fineSpinorTmp | UV |
fineSpinor | AV |
const fineGauge | U |
const fineSpinorV | V |
const fineClover | C |
const fineClover | Cinv |
int_fastdiv | x_size [QUDA_MAX_DIM] |
int | xc_size [QUDA_MAX_DIM] |
int_fastdiv | geo_bs [QUDA_MAX_DIM] |
const int | spin_bs |
const spin_mapper< fineSpin, coarseSpin > | spin_map |
int | comm_dim [QUDA_MAX_DIM] |
Float | kappa |
Float | mu |
Float | mu_factor |
Float | rescale |
const int | fineVolumeCB |
const int | coarseVolumeCB |
const int * | fine_to_coarse |
const int * | coarse_to_fine |
const bool | bidirectional |
bool | shared_atomic |
bool | parity_flip |
int_fastdiv | aggregates_per_block |
int_fastdiv | grid_z |
int_fastdiv | coarse_color_grid_z |
Float | max_h |
Float * | max_d |
int | dim_index |
Static Public Attributes | |
static constexpr int | coarse_color = coarseColor |
static constexpr bool | coarse_color_wave = true |
Definition at line 20 of file coarse_op_kernel.cuh.
|
inline |
Definition at line 87 of file coarse_op_kernel.cuh.
References comm_dim_partitioned(), errorQuda, QUDA_DEGRAND_ROSSI_GAMMA_BASIS, and QUDA_MAX_DIM.
|
inline |
Definition at line 112 of file coarse_op_kernel.cuh.
int_fastdiv quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::aggregates_per_block |
Definition at line 78 of file coarse_op_kernel.cuh.
fineSpinor quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::AV |
Temporary that stores the fine-link * spinor field product
Definition at line 29 of file coarse_op_kernel.cuh.
Referenced by quda::computeAV(), quda::computeTMCAV(), and quda::multiplyVUV().
const bool quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::bidirectional |
Definition at line 56 of file coarse_op_kernel.cuh.
const fineClover quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::C |
Fine grid spinor field
Definition at line 33 of file coarse_op_kernel.cuh.
const fineClover quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::Cinv |
Fine grid clover field
Definition at line 34 of file coarse_op_kernel.cuh.
|
static |
Definition at line 58 of file coarse_op_kernel.cuh.
int_fastdiv quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::coarse_color_grid_z |
Definition at line 80 of file coarse_op_kernel.cuh.
|
static |
Definition at line 65 of file coarse_op_kernel.cuh.
const int* quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::coarse_to_fine |
Definition at line 54 of file coarse_op_kernel.cuh.
const int quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::coarseVolumeCB |
Fine grid volume
Definition at line 51 of file coarse_op_kernel.cuh.
int quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::comm_dim[QUDA_MAX_DIM] |
Helper that maps fine spin to coarse spin
Definition at line 43 of file coarse_op_kernel.cuh.
int quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::dim_index |
Definition at line 85 of file coarse_op_kernel.cuh.
Referenced by quda::computeVUV().
const int* quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::fine_to_coarse |
Coarse grid volume
Definition at line 53 of file coarse_op_kernel.cuh.
const int quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::fineVolumeCB |
rescaling factor used when rescaling the Y links if the maximum increases
Definition at line 50 of file coarse_op_kernel.cuh.
int_fastdiv quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::geo_bs[QUDA_MAX_DIM] |
Dimensions of coarse grid
Definition at line 39 of file coarse_op_kernel.cuh.
int_fastdiv quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::grid_z |
Definition at line 79 of file coarse_op_kernel.cuh.
Float quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::kappa |
Node parition array
Definition at line 45 of file coarse_op_kernel.cuh.
Float* quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::max_d |
Definition at line 83 of file coarse_op_kernel.cuh.
Float quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::max_h |
Definition at line 82 of file coarse_op_kernel.cuh.
Float quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::mu |
kappa value
Definition at line 46 of file coarse_op_kernel.cuh.
Referenced by quda::AddCoarseTmDiagonalCPU(), quda::AddCoarseTmDiagonalGPU(), and quda::computeTMCAV().
Float quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::mu_factor |
mu value
Definition at line 47 of file coarse_op_kernel.cuh.
bool quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::parity_flip |
Definition at line 76 of file coarse_op_kernel.cuh.
Referenced by quda::getIndicesGlobal().
Float quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::rescale |
multiplicative factor for mu applied when mu is added to the operator
Definition at line 48 of file coarse_op_kernel.cuh.
bool quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::shared_atomic |
Definition at line 71 of file coarse_op_kernel.cuh.
Referenced by quda::getIndicesGlobal().
const int quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::spin_bs |
Geometric block dimensions
Definition at line 40 of file coarse_op_kernel.cuh.
const spin_mapper<fineSpin,coarseSpin> quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::spin_map |
Spin block size
Definition at line 41 of file coarse_op_kernel.cuh.
const fineGauge quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::U |
Temporary that stores the clover * spinor field product
Definition at line 31 of file coarse_op_kernel.cuh.
fineSpinorTmp quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::UV |
X atomic accessor used for computation before conversion to final format
Definition at line 28 of file coarse_op_kernel.cuh.
Referenced by quda::computeTMCAV(), quda::computeUV(), and quda::multiplyVUV().
const fineSpinorV quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::V |
Fine grid link field
Definition at line 32 of file coarse_op_kernel.cuh.
Referenced by quda::computeAV(), quda::computeTMCAV(), and quda::multiplyVUV().
coarseGauge quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::X |
Computed coarse link field
Definition at line 23 of file coarse_op_kernel.cuh.
Referenced by quda::computeCoarseClover(), and quda::computeVUV().
coarseGaugeAtomic quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::X_atomic |
Y atomic accessor used for computation before conversion to final format
Definition at line 26 of file coarse_op_kernel.cuh.
int_fastdiv quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::x_size[QUDA_MAX_DIM] |
Fine grid clover field
Definition at line 36 of file coarse_op_kernel.cuh.
int quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::xc_size[QUDA_MAX_DIM] |
Dimensions of fine grid
Definition at line 37 of file coarse_op_kernel.cuh.
coarseGauge quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::Y |
Definition at line 22 of file coarse_op_kernel.cuh.
Referenced by quda::computeVUV(), and quda::computeYreverse().
coarseGaugeAtomic quda::CalculateYArg< Float, fineSpin, coarseSpin, fineColor, coarseColor, coarseGauge, coarseGaugeAtomic, fineGauge, fineSpinor, fineSpinorTmp, fineSpinorV, fineClover >::Y_atomic |
Computed coarse clover field
Definition at line 25 of file coarse_op_kernel.cuh.