|
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 (ReductionBridge &&original)=default | |
| ReductionBridge & | operator= (const ReductionBridge &original) |
| 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 |