sc::memorygrpbuf(3)
NAME
sc::MemoryGrpBuf - The MemoryGrpBuf class provides access to pieces of the global shared memory that have been obtained with MemoryGrp.
SYNOPSIS
#include <memory.h> Public Member Functions MemoryGrpBuf (const Ref< MemoryGrp > &) Creates a new MemoryGrpBuf given a MemoryGrp reference. data_t * writeonly (distsize_t offset, int length) Request write only access to global memory at the global address offset and with size length. data_t * readwrite (distsize_t offset, int length) Request read write access to global memory at the global address offset and with size length. 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. data_t * writeonly_on_node (size_t offset, int length, int node=-1) These behave like writeonly, readwrite, and readonly, except the offset is local to the node specified by node. data_t * readwrite_on_node (size_t offset, int length, int node=-1) const data_t * readonly_on_node (size_t 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.
Detailed Description
- template<class data_t> class sc::MemoryGrpBuf< data_t >
- The MemoryGrpBuf class provides access to pieces of the global shared memory that have been obtained with MemoryGrp.
- MemoryGrpBuf is a template class that is parameterized on data_t. All lengths and offsets of given in terms of sizeof(data_t).
Constructor & Destructor Documentation
- template<class data_t> sc::MemoryGrpBuf< data_t >::MemoryGrpBuf (const Ref<
- MemoryGrp > & grp) [inline] Creates a new MemoryGrpBuf given a MemoryGrp reference.
- This is a template class parameterized on data_t.
Member Function Documentation
- template<class data_t> data_t * sc::MemoryGrpBuf< data_t >::writeonly
- (distsize_t offset, int length) [inline] 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.
- References sc::MemoryGrpBuf< data_t >::release().
- Referenced by sc::MemoryGrpBuf< data_t >::writeonly_on_node().
- template<class data_t> data_t * sc::MemoryGrpBuf< data_t >::readwrite
- (distsize_t offset, int length) [inline] 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. - References sc::MemoryGrpBuf< data_t >::release().
- template<class data_t> const data_t * sc::MemoryGrpBuf< data_t >::readonly
- (distsize_t offset, int length) [inline] 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. - References sc::MemoryGrpBuf< data_t >::release().
- template<class data_t> data_t * sc::MemoryGrpBuf< data_t
- >::writeonly_on_node (size_t offset, int length, int node = -1)
[inline]
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.
- References sc::MemoryGrpBuf< data_t >::writeonly().
- template<class data_t> void sc::MemoryGrpBuf< data_t >::release () [inline]
- 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. - Referenced by sc::MemoryGrpBuf< data_t >::readonly(), sc::MemoryGrpBuf< data_t >::readwrite(), and sc::MemoryGrpBuf< data_t >::writeonly().
Author
- Generated automatically by Doxygen for MPQC from the source code.