 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef ATHENAKERNEL_IMPICLUSTERSVC_H
5 #define ATHENAKERNEL_IMPICLUSTERSVC_H
10 #include "GaudiKernel/IInterface.h"
31 virtual int rank()
const = 0;
52 std::int64_t event_number,
53 std::int64_t request_time_ns) = 0;
56 std::int64_t(event_number),
60 #endif // ATHENAKERNEL_IMPICLUSTERSVC_H
virtual boost::mpi3::communicator & data_communicator()=0
Provide the MPI3 data communicator.
virtual int rank() const =0
MPI rank.
virtual ClusterMessage waitReceiveMessage(ClusterComm communicator=ClusterComm::Default)=0
Wait to receive a message.
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.
Interface for the MPIClusterSvc, which manages internode communications in AthenaMPI.
virtual void abort()=0
MPI Abort – For use if there's an error during initialization.
virtual void barrier()=0
MPI Barrier.
A class describing a message sent between nodes in a cluster.
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.
virtual int numRanks() const =0
Number of ranks.
DeclareInterfaceID(IMPIClusterSvc, 1, 0)
InterfaceID.
virtual void sendMessage(int destRank, ClusterMessage message, ClusterComm communicator=ClusterComm::Default)=0
Send a message.