ATLAS Offline Software
Public Member Functions | List of all members
IMPIClusterSvc Class Referenceabstract

Interface for the MPIClusterSvc, which manages internode communications in AthenaMPI. More...

#include <IMPIClusterSvc.h>

Inheritance diagram for IMPIClusterSvc:
Collaboration diagram for IMPIClusterSvc:

Public Member Functions

 DeclareInterfaceID (IMPIClusterSvc, 1, 0)
 InterfaceID. More...
 
virtual int numRanks () const =0
 Number of ranks. More...
 
virtual int rank () const =0
 MPI rank. More...
 
virtual void barrier ()=0
 MPI Barrier. More...
 
virtual void abort ()=0
 MPI Abort – For use if there's an error during initialization. More...
 
virtual void sendMessage (int destRank, ClusterMessage message, ClusterComm communicator=ClusterComm::Default)=0
 Send a message. More...
 
virtual ClusterMessage waitReceiveMessage (ClusterComm communicator=ClusterComm::Default)=0
 Wait to receive a message. More...
 
virtual boost::mpi3::communicator & data_communicator ()=0
 Provide the MPI3 data communicator. More...
 
virtual void log_addEvent (int eventIdx, std::int64_t run_number, std::int64_t event_number, std::int64_t request_time_ns)=0
 Run at start of event to add it to the log. More...
 
virtual void log_completeEvent (std::int64_t run_number, std::int64_t(event_number), std::int64_t status)=0
 Run at end of event to complete it in the log. More...
 

Detailed Description

Interface for the MPIClusterSvc, which manages internode communications in AthenaMPI.

Definition at line 22 of file IMPIClusterSvc.h.

Member Function Documentation

◆ abort()

virtual void IMPIClusterSvc::abort ( )
pure virtual

MPI Abort – For use if there's an error during initialization.

◆ barrier()

virtual void IMPIClusterSvc::barrier ( )
pure virtual

MPI Barrier.

◆ data_communicator()

virtual boost::mpi3::communicator& IMPIClusterSvc::data_communicator ( )
pure virtual

Provide the MPI3 data communicator.

◆ DeclareInterfaceID()

IMPIClusterSvc::DeclareInterfaceID ( IMPIClusterSvc  ,
,
 
)

InterfaceID.

◆ log_addEvent()

virtual void IMPIClusterSvc::log_addEvent ( int  eventIdx,
std::int64_t  run_number,
std::int64_t  event_number,
std::int64_t  request_time_ns 
)
pure virtual

Run at start of event to add it to the log.

◆ log_completeEvent()

virtual void IMPIClusterSvc::log_completeEvent ( std::int64_t  run_number,
std::int64_t(event_number)  ,
std::int64_t  status 
)
pure virtual

Run at end of event to complete it in the log.

◆ numRanks()

virtual int IMPIClusterSvc::numRanks ( ) const
pure virtual

Number of ranks.

◆ rank()

virtual int IMPIClusterSvc::rank ( ) const
pure virtual

MPI rank.

◆ sendMessage()

virtual void IMPIClusterSvc::sendMessage ( int  destRank,
ClusterMessage  message,
ClusterComm  communicator = ClusterComm::Default 
)
pure virtual

Send a message.

◆ waitReceiveMessage()

virtual ClusterMessage IMPIClusterSvc::waitReceiveMessage ( ClusterComm  communicator = ClusterComm::Default)
pure virtual

Wait to receive a message.


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