SST
11.1.0
StructuralSimulationToolkit
|
Public Member Functions | |
virtual SharedRegion * | getLocalSharedRegion (const std::string &key, size_t size, uint8_t initByte=0) override |
Create a SharedRegion that will only be shared with elements on the current rank. More... | |
virtual SharedRegion * | getGlobalSharedRegion (const std::string &key, size_t size, SharedRegionMerger *merger=nullptr, uint8_t initByte=0) override |
Create a SharedRegion that will be shared with elements on the all ranks. More... | |
virtual void | publishRegion (SharedRegion *) override |
virtual bool | isRegionReady (const SharedRegion *) override |
virtual void | shutdownSharedRegion (SharedRegion *) override |
void | updateState (bool finalize) override |
Protected Member Functions | |
void | modifyRegion (SharedRegion *sr, size_t offset, size_t length, const void *data) override |
void * | getMemory (SharedRegion *sr) override |
const void * | getConstPtr (const SharedRegion *sr) const override |
size_t | getSize (const SharedRegion *sr) const override |
|
overridevirtual |
Create a SharedRegion that will be shared with elements on the all ranks.
The SharedRegion data will be merged across ranks before each round of calls to init().
key | Name of the SharedRegion. All elements using this name will get the same underlying data. |
size | Size of the SharedRegion. Elements can specify 0 size if they don't know the size of the region. At least one element will need to specify the size and all elements that specify a size must pass in the same size. There are many calls in SharedRegion that can't be called until the size is known. |
merger | Merger to use when combining data across ranks |
initByte | Value to initialize all bytes in the region to |
Implements SST::SharedRegionManager.
References SST::Output::fatal(), SST::Simulation::getSimulation(), and SST::Simulation::getSimulationOutput().
|
overridevirtual |
Create a SharedRegion that will only be shared with elements on the current rank.
This type of SharedRegion is intended to have at least one element on each rank initialize the region.
key | Name of the SharedRegion. All elements om the rank using this name will get the same underlying data. |
size | Size of the SharedRegion. Elements can specify 0 size if they don't know the size of the region. At least one element will need to specify the size and all elements that specify a size must pass in the same size. There are many calls in SharedRegion that can't be called until the size is known. |
initByte | Value to initialize all bytes in the region to |
Implements SST::SharedRegionManager.
References SST::Output::fatal(), SST::Simulation::getSimulation(), and SST::Simulation::getSimulationOutput().