NEOCCA bindings Specification  0.2.8
Public Member Functions | Private Attributes | List of all members
neo::support::MPISetup Class Reference

Implementation that can be reused by driver writers. More...

#include <MPISetup.hh>

Collaboration diagram for neo::support::MPISetup:
Collaboration graph
[legend]

Public Member Functions

 MPISetup ()
 
 ~MPISetup ()
 
void initialize (MPI_Comm borrowComm, MPI_Comm dupComm, neo::cca::AbstractFramework *naf)
 Create and add to the framework MPIService and MPIBorrow support services. More...
 
void finalize (bool reclaim)
 Shutdown the previous mpi-related services. More...
 

Private Attributes

neo::cca::Servicesms
 
neo::cca::AbstractFrameworknaf
 
neo::cca::ports::MPIService * mpis
 
neo::cca::ports::MPIBorrow * mpib
 
neo::cca::ports::ServiceRegistrysr
 
bool finalized
 

Detailed Description

Implementation that can be reused by driver writers.

Independent of Ccafe internals.

Constructor & Destructor Documentation

◆ MPISetup()

neo::support::MPISetup::MPISetup ( )

◆ ~MPISetup()

neo::support::MPISetup::~MPISetup ( )

Member Function Documentation

◆ initialize()

void neo::support::MPISetup::initialize ( MPI_Comm  borrowComm,
MPI_Comm  dupComm,
neo::cca::AbstractFramework naf 
)

Create and add to the framework MPIService and MPIBorrow support services.

This will appear in the frame as an MPISetup component. MPI_Init must have been called before this is called.

Parameters
borrowCommthe shared communicator for those using MPIBorrow.
dupCommthe communicator to duplicate for those using MPIService.
nafThe frame into which the services will be added.

◆ finalize()

void neo::support::MPISetup::finalize ( bool  reclaim)

Shutdown the previous mpi-related services.

Parameters
reclaimif reclaim true, try to release communicator resources allocated in MPIService support. Otherwise, lose them.

Member Data Documentation

◆ ms

neo::cca::Services* neo::support::MPISetup::ms
private

◆ naf

neo::cca::AbstractFramework* neo::support::MPISetup::naf
private

◆ mpis

neo::cca::ports::MPIService* neo::support::MPISetup::mpis
private

◆ mpib

neo::cca::ports::MPIBorrow* neo::support::MPISetup::mpib
private

◆ sr

neo::cca::ports::ServiceRegistry* neo::support::MPISetup::sr
private

◆ finalized

bool neo::support::MPISetup::finalized
private

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