 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef ATHENASERVICES_MPICLUSTERSVC_H_
5 #define ATHENASERVICES_MPICLUSTERSVC_H_
15 #include "mpi3/environment.hpp"
27 : extends(
name, svcLoc) {}
64 std::int64_t event_number,
65 std::int64_t request_time_ns)
override final;
68 std::int64_t event_number,
69 std::int64_t
status)
override final;
72 std::unique_ptr<mpi3::environment>
m_env;
80 "SQLiteDBSvc for the MPI event log"};
84 #endif // ATHENASERVICES_MPICLUSTERSVC_H_
MPIClusterSvc(const std::string &name, ISvcLocator *svcLoc)
Constructor.
SQLite prepared statement.
virtual void log_addEvent(int eventIdx, std::int64_t run_number, std::int64_t event_number, std::int64_t request_time_ns) override final
Add (begin) an event in the log.
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.
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
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
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