STORMM Source Documentation
|
Allocate space for reduction operations to store temporary accumulations, bridging the gap between gathering and scattering operations. More...
#include <reduction_bridge.h>
Public Member Functions | |
ReductionBridge (size_t n_values) | |
size_t | size () const |
Get the number of values that each of the three arrays in this object can store. | |
ReductionBridge (const ReductionBridge &original) | |
The copy and copy assignment operators must deal with pointer repair. | |
ReductionBridge & | operator= (const ReductionBridge &original) |
ReductionBridge (ReductionBridge &&original)=default | |
ReductionBridge & | operator= (ReductionBridge &&original)=default |
const double * | getPointer (CartesianDimension cdim, HybridTargetLevel tier=HybridTargetLevel::HOST) const |
Get pointers to one of the buffers. | |
double * | getPointer (CartesianDimension cdim, HybridTargetLevel tier=HybridTargetLevel::HOST) |
Allocate space for reduction operations to store temporary accumulations, bridging the gap between gathering and scattering operations.
stormm::stmath::ReductionBridge::ReductionBridge | ( | size_t | n_values | ) |
The constructor allocates space in all three buffers for a set amount of data.
n_values | The number of intermediate values to store, most likely determined by the number of reduction work units |
stormm::stmath::ReductionBridge::ReductionBridge | ( | const ReductionBridge & | original | ) |
The copy and copy assignment operators must deal with pointer repair.
original | The original object to copy or move |
other | Another object to copy or move |
const double * stormm::stmath::ReductionBridge::getPointer | ( | CartesianDimension | cdim, |
HybridTargetLevel | tier = HybridTargetLevel::HOST ) const |
Get pointers to one of the buffers.
Overloaded:
cdim | The "dimension" to obtain a pointer for |
tier | Obtain pointers to host or device data |