|
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