group − The Group Library The group library provides three mechanisms for parallel execution and communication. These are:
Distributed Shared Memory
The MessageGrp class is the
ancestor for classes that provide the passing of messages
between processes. There are three important specializations
of this class:
Provides a dummy MessageGrp for single processor case.
Implements MessageGrp using the Message Passing Interface (MPI) library.
Implements MessageGrp using SysV Interprocess communication.
Due to the widespread acceptance of MPI and the large number of features that it supports, the MessageGrp specialization may one day be eliminated.
The MemoryGrp class is the
ancestor for classes that permit access to the memory in
different processes, possible on difference machines. There
are two important specializations of this class:
Provides a dummy MemoryGrp for single processor case.
This works reliably and efficiently, however, requires POSIX threads and a thread-safe MPI implementation.
This message group uses the Aggregate Remote Copy Interface (ARMCI). This exploits the RDMA capabilities of interconnects such as Myrinet and InfiniBand.
The ThreadGrp class is the
ancestor of classes that provide multiple-threads within a
single address space. There are two important
specializations of this class:
Provides a dummy ThreadGrp for the single thread case.
This is a ThreadGrp that uses POSIX threads.