- Main Page
- Classes
- Files
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# sc::ARMCIMemoryGrp Class Reference

The ARMCIMemoryGrp concrete class provides an implementation of MsgMemoryGrp. More...

`#include <memarmci.h>`

Inheritance diagram for sc::ARMCIMemoryGrp:

List of all members.

## Public Member Functions
| ARMCIMemoryGrp (const Ref< MessageGrp > &msg)
| ARMCIMemoryGrp (const Ref< KeyVal > &)
void | set_localsize (size_t)
| Set the size of locally held memory.
void | retrieve_data (void *, int node, int offset, int size, int lock)
void | replace_data (void *, int node, int offset, int size, int unlock)
void | sum_data (double *data, int node, int doffset, int dsize)
void | sync ()
| Synchronizes all the nodes.
void | deactivate ()
| Deactivate is called after the memory has been used.
void * | malloc_local (size_t nbyte)
| Allocate data that will be accessed locally only.
void | free_local (void *data)
| Free data that was allocated with malloc_local_double.
void | print (std::ostream &o=ExEnv::out0()) const
| Prints out information about the object.

## Detailed Description

The ARMCIMemoryGrp concrete class provides an implementation of MsgMemoryGrp.

It uses the ARMCI interface.

## Member Function Documentation

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

void sc::ARMCIMemoryGrp::sync | ( |  | ) | `[virtual]`

Synchronizes all the nodes.

This is useful after remote memory writes to be certain that all of the writes have completed and the data can be accessed locally, for example.

Reimplemented from sc::MsgMemoryGrp.

void* sc::ARMCIMemoryGrp::malloc_local | ( | size_t | nbyte | ) | `[virtual]`

Allocate data that will be accessed locally only.

Using this for data that will be used for global operation can improve efficiency. Data allocated in this way must be freed with free_local_double.

Reimplemented from sc::MemoryGrp.

void sc::ARMCIMemoryGrp::free_local | ( | void * | data | ) | `[virtual]`

Free data that was allocated with malloc_local_double.

Reimplemented from sc::MemoryGrp.

The documentation for this class was generated from the following file:

- memarmci.h