logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

sc::MemoryGrpBuf< data_t > - The MemoryGrpBuf class provides access to pieces of the global shared memory

Author

       Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1                                    Sun Oct 4 2020                    sc::MemoryGrpBuf<data_t>(3)

Constructor & Destructor Documentation

template<classdata_t>sc::MemoryGrpBuf<data_t>::MemoryGrpBuf(constRef<MemoryGrp>&grp)
       Creates a new MemoryGrpBuf given a MemoryGrp reference. This is a template class parameterized on data_t.

Detailed Description

template<classdata_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).

Member Function Documentation

template<classdata_t>constdata_t*sc::MemoryGrpBuf<data_t>::readonly(distsize_toffset,intlength)
       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.

   template<classdata_t>data_t*sc::MemoryGrpBuf<data_t>::readwrite(distsize_toffset,intlength)
       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.

   template<classdata_t>data_t*sc::MemoryGrpBuf<data_t>::writeonly(distsize_toffset,intlength)
       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.

   template<classdata_t>data_t*sc::MemoryGrpBuf<data_t>::writeonly_on_node(size_toffset,intlength,intnode=-1)
       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.

Name

       sc::MemoryGrpBuf< data_t > - The MemoryGrpBuf class provides access to pieces of the global shared memory
       that have been obtained with MemoryGrp.

Synopsis

       #include <memory.h>

   PublicMemberFunctionsMemoryGrpBuf (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.

See Also