 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef ATHENASERVICES_MPICLUSTERSVC_H_
5 #define ATHENASERVICES_MPICLUSTERSVC_H_
14 #include "GaudiKernel/IIncidentListener.h"
18 #include "mpi3/environment.hpp"
26 class MPIClusterSvc :
public extends<AthService, IMPIClusterSvc, IIncidentListener> {
30 : extends(
name, svcLoc) {}
70 std::int64_t event_number,
71 std::int64_t request_time_ns,
72 std::size_t slot)
override final;
75 std::int64_t event_number,
76 std::int64_t
status)
override final;
79 std::unique_ptr<mpi3::environment>
m_env;
87 "SQLiteDBSvc for the MPI event log"};
96 #endif // ATHENASERVICES_MPICLUSTERSVC_H_
virtual void handle(const Incident &inc) override
IIncidentListener handle.
MPIClusterSvc(const std::string &name, ISvcLocator *svcLoc)
Constructor.
virtual void log_addEvent(int eventIdx, std::int64_t run_number, std::int64_t event_number, std::int64_t request_time_ns, std::size_t slot) override final
Add (begin) an event in the log.
SQLite prepared statement.
virtual int numRanks() const override final
Return number of ranks.
A service managing communications within a cluster using MPI.
bool const RAWDATA *ch2 const
virtual void sendMessage(int destRank, ClusterMessage message, ClusterComm communicator=ClusterComm::Default) override final
Send an MPI message.
SQLite::Statement m_mpiLog_addFile
virtual mpi3::communicator & data_communicator() override final
Return the data communicator.
virtual void abort() override final
Abort the MPI run.
virtual StatusCode finalize() override final
Finalize.
::StatusCode StatusCode
StatusCode definition for legacy code.
SQLite::Statement m_mpiLog_addEvent
std::int64_t m_lastInputFileHash
virtual StatusCode initialize() override final
Initialize.
A class describing a message sent between nodes in a cluster.
virtual ClusterMessage waitReceiveMessage(ClusterComm communicator=ClusterComm::Default) override final
Block until we receive an MPI message.
virtual int rank() const override final
Return our rank.
SQLite::Statement m_mpiLog_completeEvent
std::map< std::size_t, std::int64_t > m_inputFileSlotMap
ServiceHandle< ISQLiteDBSvc > m_mpiLog
mpi3::communicator m_datacom
virtual void log_completeEvent(std::int64_t run_number, std::int64_t event_number, std::int64_t status) override final
Complete an event in the log.
mpi3::communicator m_world
virtual void barrier() override final
Insert a barrier No rank will continue until all ranks reach this point.
std::unique_ptr< mpi3::environment > m_env