sc::RDMAMemoryGrp(3)

πŸ“¦
version 2.3.1 Β· 5 versions
, in ubuntu jammy

✨ sc::RDMAMemoryGrp(3) ✨

okay so this is the MPQC manual page for sc::RDMAMemoryGrp, bestie πŸ’… β€” abstract-class main character energy, fr fr.

🌸 NAME 🌸

The RDMAMemoryGrp abstract class specializes the MsgMemoryGrp class. periodt. πŸ¦‹

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <memrdma.h>

Inherits sc::MsgMemoryGrp. 🌈

Inherited by sc::ARMCIMemoryGrp. πŸ’œ

πŸ’– Public Member Functions πŸ’–

  • RDMAMemoryGrp (const Ref< MessageGrp > &msg)
  • RDMAMemoryGrp (const Ref< KeyVal > &)
  • void * localdata () β€” returns a pointer to the local data. 🫢
  • void set_localsize (size_t localsize) β€” sets the size of locally held memory.
  • void * obtain_writeonly (distsize_t offset, int size) β€” 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 unreleased obtain_readwrite at a time. πŸ‘‘
  • void * obtain_readonly (distsize_t offset, int size) β€” gives read access to the memory location. No locking is done. ✨
  • void release_readonly (void *data, distsize_t offset, int size) β€” called when read access is no longer needed.
  • void release_writeonly (void *data, distsize_t offset, int size) β€” called when write access is no longer needed.
  • void release_readwrite (void *data, distsize_t offset, int size) β€” called when read/write access is no longer needed.
  • void sum_reduction (double *data, distsize_t doffset, int dsize)
  • void sum_reduction_on_node (double *data, size_t doffset, int dsize, int node=-1)
  • 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
  • virtual void replace_data (void *, int node, int offset, int size, int unlock)=0
  • virtual void sum_data (double *data, int node, int doffset, int dsize)=0
  • void * malloc_region (size_t nbyte)
  • void free_region (void *)

πŸ“ Protected Attributes πŸ“

  • char * data_
  • std::vector< Pool * > pools_
  • size_t default_pool_size_

πŸ‘‘ Additional Inherited Members πŸ‘‘

There are additional inherited members β€” the page drops that heading and then moves straight on, iykyk πŸ’….

πŸ’… Detailed Description πŸ’…

The RDMAMemoryGrp abstract class specializes the MsgMemoryGrp class. πŸ¦‹

It uses RDMA to implement global shared memory. slay. ✨

πŸ”₯ Member Function Documentation πŸ”₯

void* sc::RDMAMemoryGrp::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::RDMAMemoryGrp::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::RDMAMemoryGrp::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. 🧚

Reimplemented from sc::MsgMemoryGrp.

🫢 Author 🫢

Generated automatically by Doxygen for MPQC from the source code. πŸ’–


Version 2.3.1, dated Sun Oct 4 2020 β€” that’s the footer tea from the MPQC page, bestie. Go forth and RDMA responsibly. πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from