sc::ActiveMsgMemoryGrp(3)
π NAME π
okay bestie, welcome to the sc::ActiveMsgMemoryGrp(3) page β it's literally the manual for the sc::ActiveMsgMemoryGrp abstract class, and it specializes the MsgMemoryGrp class. no cap, it's giving "abstract base class with main character energy" π
.
β¨ SYNOPSIS β¨
#include <memamsg.h>
Inherits sc::MsgMemoryGrp.
Inherited by sc::MTMPIMemoryGrp.
πΈ Public Member Functions πΈ
ActiveMsgMemoryGrp (const Ref< MessageGrp > &msg)β the page gives this signature and no extra blurb, iconic minimalism β¨.ActiveMsgMemoryGrp (const Ref< KeyVal > &)β another overload, same vibe: signature only, no extra description.void set_localsize (size_t)β Set the size of locally held memory.void * localdata ()β Returns a pointer to the local data.void * obtain_writeonly (distsize_t offset, int size)β This gives write access to the memory location. No locking is done.void * obtain_readwrite (distsize_t offset, int size)β Only one thread can have an unreleasedobtain_readwriteat a time.void * obtain_readonly (distsize_t offset, int size)β This gives read access to the memory location. No locking is done.void release_readonly (void *data, distsize_t offset, int size)β This is called when read access is no longer needed.void release_writeonly (void *data, distsize_t offset, int size)β This is called when write access is no longer needed.void release_readwrite (void *data, distsize_t offset, int size)β This is called when read/write access is no longer needed.void sum_reduction (double *data, distsize_t doffset, int dsize)β the page just gives the signature; no extra description. slay π .void sum_reduction_on_node (double *data, size_t doffset, int dsize, int node=-1)β again, signature only. iykyk.void print (std::ostream &o=ExEnv::out0()) constβ Prints out information about the object.
π§ Protected Member Functions π§
virtual void retrieve_data (void *, int node, int offset, int size, int lock)=0β the page gives this signature with=0and no extra description.virtual void replace_data (void *, int node, int offset, int size, int unlock)=0β same deal: signature with=0, no extra blurb.virtual void sum_data (double *data, int node, int doffset, int dsize)=0β and another signature with=0, no extra description.
π Protected Attributes π
char * data_β this is the one protected attribute listed, periodt.
π¦ ADDITIONAL INHERITED MEMBERS π¦
The original page has this section heading but doesn't list the extra inherited members underneath it. They're inherited, so they're giving family-tree energy π³β¨.
πΈ DETAILED DESCRIPTION πΈ
The ActiveMsgMemoryGrp abstract class specializes the MsgMemoryGrp class.
It uses active messages to implement global shared memory. that's the whole vibe π.
π MEMBER FUNCTION DOCUMENTATION π
π
void* sc::ActiveMsgMemoryGrp::obtain_readwrite (distsize_t offset, int size) [virtual]
Only one thread can have an unreleased obtain_readwrite at a time. The actual memory region locked can be larger than that requested. If the memory region is already locked this will block. For this reason, data should be held as read/write for as short a time as possible.
Implements sc::MemoryGrp.
π
void sc::ActiveMsgMemoryGrp::release_readwrite (void * data, distsize_t offset, int size) [virtual]
This is called when read/write access is no longer needed. The memory will be unlocked.
Implements sc::MemoryGrp.
π
void sc::ActiveMsgMemoryGrp::set_localsize (size_t) [virtual]
Set the size of locally held memory. When memory is accessed using a global offset counting starts at node 0 and proceeds up to node n() - 1.
Implements sc::MemoryGrp.
π AUTHOR π
Generated automatically by Doxygen for MPQC from the source code.
and that's the whole page, bestie π«Ά it's from MPQC version 2.3.1, dated Sun Oct 4 2020, and it is literally the sc::ActiveMsgMemoryGrp(3) manual page. mwah πβ¨π
π¦ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms