#include <memory.h>
Collaboration diagram for MemoryGrpBuf:
Public Methods | |
MemoryGrpBuf (const Ref< MemoryGrp > &) | |
Creates a new MemoryGrpBuf given a MemoryGrp reference. More... | |
data_t* | writeonly (distsize_t offset, int length) |
Request write only access to global memory at the global address offset and with size length. More... | |
data_t* | readwrite (distsize_t offset, int length) |
Request read write access to global memory at the global address offset and with size length. More... | |
const data_t* | readonly (distsize_t offset, int length) |
Request read only access to global memory at the global address offset and with size length. More... | |
data_t* | writeonly_on_node (int offset, int length, int node=-1) |
These behave like writeonly, readwrite, and readonly, except the offset is local to the node specified by node. More... | |
data_t* | readwrite_on_node (int offset, int length, int node=-1) |
const data_t* | readonly_on_node (int offset, int length, int node=-1) |
void | release () |
Release the access to the chunk of global memory that was obtained with writeonly, readwrite, readonly, writeonly_on_node, readwrite_on_node, and readonly_on_node. | |
int | length () const |
The length of the current bit of memory. |
MemoryGrpBug is a template class that is parameterized on data_t. All lengths and offsets of given in terms of sizeof(data_t).
|
Creates a new MemoryGrpBuf given a MemoryGrp reference. This is a template class parameterized on data_t. |
|
Request read only access to global memory at the global address offset and with size length. Writing to the specified region without an intervening sync of the MemoryGrp will have undefined results. |
|
Request read write access to global memory at the global address offset and with size length. This will lock the memory it uses until release is called unless locking has been turned off in the MemoryGrp object. |
|
Request write only access to global memory at the global address offset and with size length. Writing the same bit of memory twice without an intervening sync of the MemoryGrp will have undefined results. |
|
These behave like writeonly, readwrite, and readonly, except the offset is local to the node specified by node. If node = -1, then the local node is used. |