STORMM Source Documentation
|
Collect pointers to data subject to reduction operations. Reductions can happen on up to three data sets at once, with one consistent fixed-precision scaling factor (if fixed-precision applies). More...
#include <reduction_abstracts.h>
Public Member Functions | |
GenericRdSubstrate (const T *x_read_in, double *x_buffer_in, T *x_write_in, const int scale_bits_in=0) | |
The constructor can take up to three buffers, each with possible overflows to accommodate extended fixed-precision formats. | |
GenericRdSubstrate (const T *x_read_in, const T *y_read_in, const T *z_read_in, double *x_buffer_in, double *y_buffer_in, double *z_buffer_in, T *x_write_in, T *y_write_in, T *z_write_in, const int scale_bits_in=0) | |
GenericRdSubstrate (const T *x_read_in, const int *x_read_ovrf_in, double *x_buffer_in, T *x_write_in, int *x_write_ovrf_in, const int scale_bits_in=0) | |
GenericRdSubstrate (const T *x_read_in, const int *x_read_ovrf_in, const T *y_read_in, const int *y_read_ovrf_in, const T *z_read_in, const int *z_read_ovrf_in, double *x_buffer_in, double *y_buffer_in, double *z_buffer_in, T *x_write_in, int *x_write_ovrf_in, T *y_write_in, int *y_write_ovrf_in, T *z_write_in, int *z_write_ovrf_in, const int scale_bits_in=0) | |
GenericRdSubstrate (const GenericRdSubstrate &original)=default | |
Take the typical copy and move constructors for an abstract with const elements. | |
GenericRdSubstrate (GenericRdSubstrate &&original)=default | |
Public Attributes | |
const int | dim |
const int | scale_bits |
The number of bits after the decimal in fixed-precision data. | |
const double | fp_scaling |
Scaling factor for fixed-precision data. | |
const double | inv_fp_scaling |
Inverse of the scaling factor for fixed-precision data. | |
const T * | x_read |
Read-only arrays of reducible data for the 1st dimension. | |
const T * | y_read |
Read-only arrays of reducible data for the 2nd dimension. | |
const T * | z_read |
Read-only arrays of reducible data for the 3rd dimension. | |
const int * | x_read_ovrf |
const int * | y_read_ovrf |
const int * | z_read_ovrf |
double * | x_buffer |
Buffer for work unit sums along the 1st dimension. | |
double * | y_buffer |
Buffer for work unit sums along the 2nd dimension. | |
double * | z_buffer |
Buffer for work unit sums along the 3rd dimension. | |
T * | x_write |
Array accepting results of scattering in the 1st dimension. | |
T * | y_write |
Array accepting results of scattering in the 2nd dimension. | |
T * | z_write |
Array accepting results of scattering in the 3rd dimension. | |
int * | x_write_ovrf |
int * | y_write_ovrf |
int * | z_write_ovrf |
Collect pointers to data subject to reduction operations. Reductions can happen on up to three data sets at once, with one consistent fixed-precision scaling factor (if fixed-precision applies).
stormm::stmath::GenericRdSubstrate< T >::GenericRdSubstrate | ( | const T * | x_read_in, |
double * | x_buffer_in, | ||
T * | x_write_in, | ||
const int | scale_bits_in = 0 ) |
The constructor can take up to three buffers, each with possible overflows to accommodate extended fixed-precision formats.
Overloaded:
const int stormm::stmath::GenericRdSubstrate< T >::dim |
The number of dimensions to the data involved in the reduction, i.e. X/Y/Z coordinate reduction has dimension 3
const int* stormm::stmath::GenericRdSubstrate< T >::x_read_ovrf |
Overflow arrays for extended fixed-precision format in the 1st dimension of reducible data
int* stormm::stmath::GenericRdSubstrate< T >::x_write_ovrf |
Overflow arrays for scatter results in the 1st dimension, when extended fixed-precision representations are in effect
const int* stormm::stmath::GenericRdSubstrate< T >::y_read_ovrf |
Overflow arrays for extended fixed-precision format in the 2nd dimension of reducible data
int* stormm::stmath::GenericRdSubstrate< T >::y_write_ovrf |
Overflow arrays for scatter results in the 2nd dimension, when extended fixed-precision representations are in effect
const int* stormm::stmath::GenericRdSubstrate< T >::z_read_ovrf |
Overflow arrays for extended fixed-precision format in the 3rd dimension of reducible data
int* stormm::stmath::GenericRdSubstrate< T >::z_write_ovrf |
Overflow arrays for scatter results in the 3rd dimension, when extended fixed-precision representations are in effect