Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

sc::ARMCIMemoryGrp Class Reference

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

#include <memarmci.h>

Inheritance diagram for sc::ARMCIMemoryGrp:

Inheritance graph
[legend]
Collaboration diagram for sc::ARMCIMemoryGrp:

Collaboration graph
[legend]
List of all members.

Public Methods

 ARMCIMemoryGrp (const Ref< MessageGrp > &msg)
 ARMCIMemoryGrp (const Ref< KeyVal > &)
 ~ARMCIMemoryGrp ()
void set_localsize (size_t)
 Set the size of locally held memory. More...

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. More...

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. More...

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::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::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.


The documentation for this class was generated from the following file:
Generated at Wed Apr 28 10:12:58 2004 for MPQC 2.2.2 using the documentation package Doxygen 1.2.14.