ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/examples/extended/parallel/MPI/source/include/G4MPImanager.hh>
Public Types | |
enum | { kRANK_MASTER = 0 } |
enum | { kTAG_G4COMMAND = 100, kTAG_G4STATUS = 200, kTAG_G4SEED = 300, kTAG_DATA = 1000, kTAG_HISTO = 1001, kTAG_RUN = 1002, kTAG_CMDSCR = 1003, kTAG_NTUPLE = 1004 } |
Static Public Member Functions | |
static G4MPImanager * | GetManager () |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (G4MPImanager) | |
void | Initialize () |
void | ParseArguments (G4int argc, char **argv) |
void | UpdateStatus () |
Private Attributes | |
G4MPImessenger * | messenger_ |
G4MPIsession * | session_ |
G4VMPIextraWorker * | extra_worker_ |
G4VMPIseedGenerator * | seed_generator_ |
G4MPIstatus * | status_ |
G4int | verbose_ |
G4bool | is_master_ |
G4bool | is_slave_ |
G4bool | is_extra_worker_ |
G4int | rank_ |
G4int | size_ |
G4int | world_size_ |
MPI::Intracomm | COMM_G4COMMAND_ |
MPI_Comm | processing_comm_ |
MPI_Comm | collecting_comm_ |
MPI_Comm | all_comm_ |
MPI_Group | world_group_ |
MPI_Group | processing_group_ |
MPI_Group | collecting_group_ |
MPI_Group | all_group_ |
G4bool | qfcout_ |
std::ofstream | fscout_ |
G4bool | qinitmacro_ |
G4String | init_file_name_ |
G4bool | qbatchmode_ |
G4String | macro_file_name_ |
pthread_t | thread_id_ |
G4double | master_weight_ |
G4int | nof_extra_workers_ |
Static Private Attributes | |
static G4MPImanager * | g4mpi_ = NULL |
Definition at line 46 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 46 of file G4MPImanager.hh
anonymous enum |
Definition at line 49 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 49 of file G4MPImanager.hh
anonymous enum |
kTAG_G4COMMAND | |
kTAG_G4STATUS | |
kTAG_G4SEED | |
kTAG_DATA | |
kTAG_HISTO | |
kTAG_RUN | |
kTAG_CMDSCR | |
kTAG_NTUPLE |
Definition at line 51 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 51 of file G4MPImanager.hh
G4MPImanager::G4MPImanager | ( | int | nof_extra_workers = 0 | ) |
Definition at line 69 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 69 of file G4MPImanager.cc
References Initialize().
Definition at line 82 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 82 of file G4MPImanager.cc
References Initialize(), and ParseArguments().
G4MPImanager::~G4MPImanager | ( | ) |
Definition at line 96 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 96 of file G4MPImanager.cc
References all_comm_, all_group_, collecting_comm_, collecting_group_, COMM_G4COMMAND_, Finalize(), fscout_, is_slave_, messenger_, nof_extra_workers_, processing_comm_, processing_group_, qfcout_, session_, status_, and world_group_.
Definition at line 515 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 515 of file G4MPImanager.cc
References COMM_G4COMMAND_, is_extra_worker_, is_master_, kRANK_MASTER, kTAG_G4COMMAND, and size_.
Definition at line 562 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 562 of file G4MPImanager.cc
References G4UIcommand::ConvertToString(), G4cout, G4endl, G4RunManager::GetRunManager(), G4UImanager::GetUIpointer(), is_master_, master_weight_, size_, status_, and verbose_.
G4bool G4MPImanager::CheckThreadStatus | ( | ) |
Definition at line 424 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 424 of file G4MPImanager.cc
References COMM_G4COMMAND_, is_master_, kRANK_MASTER, kTAG_G4STATUS, size_, and thread_id_.
Referenced by ExecuteBeamOnThread(), and ShowStatus().
|
private |
void G4MPImanager::DistributeSeeds | ( | ) |
Definition at line 383 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 383 of file G4MPImanager.cc
References is_extra_worker_, rank_, and seed_generator_.
Referenced by Initialize().
Definition at line 484 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 484 of file G4MPImanager.cc
References CheckThreadStatus(), test::cmdstr, FatalException, G4cout, G4endl, G4Exception(), is_master_, and thread_id_.
Definition at line 551 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 551 of file G4MPImanager.cc
References qbatchmode_.
Definition at line 455 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 455 of file G4MPImanager.cc
References fCommandSucceeded, fIllegalApplicationState, G4cerr, G4endl, G4UImanager::GetUIpointer(), and thread_id_.
|
inline |
Definition at line 212 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 212 of file G4MPImanager.hh
References size_.
Referenced by G4MPIntupleMerger::G4MPIntupleMerger(), G4VUserMPIrunMerger::Merge(), and G4MPIscorerMerger::Merge().
|
inline |
Definition at line 120 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 120 of file G4MPImanager.hh
References all_comm_.
Referenced by G4MPIntupleMerger::G4MPIntupleMerger().
|
inline |
Definition at line 119 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 119 of file G4MPImanager.hh
References collecting_comm_.
|
inline |
Definition at line 117 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 117 of file G4MPImanager.hh
References COMM_G4COMMAND_.
Referenced by G4VUserMPIrunMerger::Merge(), G4MPIhistoMerger::Merge(), G4MPIscorerMerger::Merge(), and G4VUserMPIrunMerger::Receive().
|
inline |
Definition at line 267 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 267 of file G4MPImanager.hh
References extra_worker_.
|
inline |
Definition at line 238 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 238 of file G4MPImanager.hh
References init_file_name_.
Referenced by G4MPIsession::SessionStart().
|
inline |
Definition at line 249 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 249 of file G4MPImanager.hh
References macro_file_name_.
Referenced by G4MPIsession::SessionStart().
|
static |
Definition at line 127 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 127 of file G4MPImanager.cc
References FatalException, G4Exception(), and g4mpi_.
Referenced by G4MPIrandomSeedGenerator::CheckDoubleCount(), RunActionMaster::EndOfRunAction(), G4MPIntupleMerger::G4MPIntupleMerger(), G4VMPIsession::G4VMPIsession(), G4MPIrandomSeedGenerator::GenerateSeeds(), G4VUserMPIrunMerger::Merge(), G4MPIhistoMerger::Merge(), G4MPIscorerMerger::Merge(), G4VUserMPIrunMerger::Receive(), RunAction::RunAction(), and RunActionMaster::RunActionMaster().
|
inline |
Definition at line 262 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 262 of file G4MPImanager.hh
References master_weight_.
Referenced by G4MPImessenger::GetCurrentValue().
|
inline |
Definition at line 182 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 182 of file G4MPImanager.hh
References session_.
|
inline |
Definition at line 118 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 118 of file G4MPImanager.hh
References processing_comm_.
|
inline |
Definition at line 202 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 202 of file G4MPImanager.hh
References rank_.
Referenced by G4MPIntupleMerger::G4MPIntupleMerger(), and G4MPIscorerMerger::Merge().
|
inline |
Definition at line 272 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 272 of file G4MPImanager.hh
References seed_generator_.
|
inline |
Definition at line 207 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 207 of file G4MPImanager.hh
References world_size_.
|
inline |
Definition at line 187 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 187 of file G4MPImanager.hh
References verbose_.
Referenced by G4MPImessenger::GetCurrentValue().
|
private |
Definition at line 148 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 148 of file G4MPImanager.cc
References all_comm_, all_group_, collecting_comm_, collecting_group_, COMM_G4COMMAND_, DistributeSeeds(), FatalException, G4Exception(), g4mpi_, is_extra_worker_, is_master_, is_slave_, JustWarning, kRANK_MASTER, messenger_, MPI_COMM_WORLD, nof_extra_workers_, processing_comm_, processing_group_, rank_, seed_generator_, session_, size_, status_, world_group_, and world_size_.
Referenced by G4MPImanager().
|
inline |
Definition at line 244 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 244 of file G4MPImanager.hh
References qbatchmode_.
|
inline |
Definition at line 227 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 227 of file G4MPImanager.hh
References is_extra_worker_.
Referenced by main().
|
inline |
Definition at line 232 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 232 of file G4MPImanager.hh
References qinitmacro_.
|
inline |
Definition at line 217 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 217 of file G4MPImanager.hh
References is_master_.
|
inline |
Definition at line 222 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 222 of file G4MPImanager.hh
References is_slave_.
void G4MPImanager::JoinBeamOnThread | ( | ) |
Definition at line 506 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 506 of file G4MPImanager.cc
References thread_id_.
Definition at line 239 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 239 of file G4MPImanager.cc
References c, g4zmq::exit(), Finalize(), test::fname, fscout_, G4cerr, G4endl, init_file_name_, is_master_, is_slave_, macro_file_name_, optarg, opterr, optind, qbatchmode_, qfcout_, qinitmacro_, rank_, ShowHelp(), and verbose_.
Referenced by G4MPImanager().
Definition at line 651 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 651 of file G4MPImanager.cc
References fscout_, is_master_, qfcout_, and rank_.
Referenced by ShowStatus().
void G4MPImanager::SetExtraWorker | ( | G4VMPIextraWorker * | extraWorker | ) |
Definition at line 137 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 137 of file G4MPImanager.cc
References extra_worker_, FatalException, G4Exception(), and nof_extra_workers_.
Referenced by main().
Definition at line 254 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 254 of file G4MPImanager.hh
References master_weight_.
Definition at line 416 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 416 of file G4MPImanager.cc
References rank_, and CLHEP::HepRandom::setTheSeed().
Definition at line 192 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 192 of file G4MPImanager.hh
References verbose_.
Referenced by main().
void G4MPImanager::ShowHelp | ( | ) | const |
Definition at line 665 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 665 of file G4MPImanager.cc
References G4cout, G4endl, and is_slave_.
Referenced by ParseArguments().
void G4MPImanager::ShowSeeds | ( | ) |
Definition at line 393 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 393 of file G4MPImanager.cc
References COMM_G4COMMAND_, G4cout, G4endl, is_master_, kRANK_MASTER, kTAG_G4SEED, rank_, and size_.
void G4MPImanager::ShowStatus | ( | ) |
Definition at line 334 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 334 of file G4MPImanager.cc
References CheckThreadStatus(), COMM_G4COMMAND_, G4cout, G4endl, G4FFGEnumerations::INT, is_master_, G4MPIstatus::kNSIZE, kRANK_MASTER, kTAG_G4STATUS, Print(), size_, status_, and UpdateStatus().
|
private |
Definition at line 307 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 307 of file G4MPImanager.cc
References G4State_EventProc, G4State_GeomClosed, G4RunManager::GetRunManager(), G4StateManager::GetStateManager(), rank_, and status_.
Referenced by ShowStatus().
void G4MPImanager::WaitBeamOn | ( | ) |
Definition at line 615 of file G4MPImanager.cc.
View newest version in sPHENIX GitHub at line 615 of file G4MPImanager.cc
References G4VMPIextraWorker::BeamOn(), COMM_G4COMMAND_, extra_worker_, G4cout, G4endl, G4FFGEnumerations::INT, is_extra_worker_, is_master_, kRANK_MASTER, kTAG_G4STATUS, qbatchmode_, and size_.
|
private |
Definition at line 156 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 156 of file G4MPImanager.hh
Referenced by GetAllComm(), Initialize(), and ~G4MPImanager().
|
private |
Definition at line 161 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 161 of file G4MPImanager.hh
Referenced by Initialize(), and ~G4MPImanager().
|
private |
Definition at line 154 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 154 of file G4MPImanager.hh
Referenced by GetCollectingComm(), Initialize(), and ~G4MPImanager().
|
private |
Definition at line 160 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 160 of file G4MPImanager.hh
Referenced by Initialize(), and ~G4MPImanager().
|
private |
Definition at line 150 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 150 of file G4MPImanager.hh
Referenced by BcastCommand(), CheckThreadStatus(), GetComm(), Initialize(), ShowSeeds(), ShowStatus(), WaitBeamOn(), and ~G4MPImanager().
|
private |
Definition at line 132 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 132 of file G4MPImanager.hh
Referenced by GetExtraWorker(), SetExtraWorker(), and WaitBeamOn().
|
private |
Definition at line 165 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 165 of file G4MPImanager.hh
Referenced by ParseArguments(), Print(), and ~G4MPImanager().
|
staticprivate |
Definition at line 129 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 129 of file G4MPImanager.hh
Referenced by GetManager(), and Initialize().
|
private |
Definition at line 169 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 169 of file G4MPImanager.hh
Referenced by GetInitFileName(), and ParseArguments().
|
private |
Definition at line 144 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 144 of file G4MPImanager.hh
Referenced by BcastCommand(), DistributeSeeds(), Initialize(), IsExtraWorker(), and WaitBeamOn().
|
private |
Definition at line 142 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 142 of file G4MPImanager.hh
Referenced by BcastCommand(), BeamOn(), CheckThreadStatus(), ExecuteBeamOnThread(), Initialize(), IsMaster(), ParseArguments(), Print(), ShowSeeds(), ShowStatus(), and WaitBeamOn().
|
private |
Definition at line 143 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 143 of file G4MPImanager.hh
Referenced by Initialize(), IsSlave(), ParseArguments(), ShowHelp(), and ~G4MPImanager().
|
private |
Definition at line 171 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 171 of file G4MPImanager.hh
Referenced by GetMacroFileName(), and ParseArguments().
|
private |
Definition at line 177 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 177 of file G4MPImanager.hh
Referenced by BeamOn(), GetMasterWeight(), and SetMasterWeight().
|
private |
Definition at line 130 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 130 of file G4MPImanager.hh
Referenced by Initialize(), and ~G4MPImanager().
|
private |
Definition at line 178 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 178 of file G4MPImanager.hh
Referenced by Initialize(), SetExtraWorker(), and ~G4MPImanager().
|
private |
Definition at line 152 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 152 of file G4MPImanager.hh
Referenced by GetProcessingComm(), Initialize(), and ~G4MPImanager().
|
private |
Definition at line 159 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 159 of file G4MPImanager.hh
Referenced by Initialize(), and ~G4MPImanager().
|
private |
Definition at line 170 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 170 of file G4MPImanager.hh
Referenced by ExecuteMacroFile(), IsBatchMode(), ParseArguments(), and WaitBeamOn().
|
private |
Definition at line 164 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 164 of file G4MPImanager.hh
Referenced by ParseArguments(), Print(), and ~G4MPImanager().
|
private |
Definition at line 168 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 168 of file G4MPImanager.hh
Referenced by IsInitMacro(), and ParseArguments().
|
private |
Definition at line 145 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 145 of file G4MPImanager.hh
Referenced by DistributeSeeds(), GetRank(), Initialize(), ParseArguments(), Print(), SetSeed(), ShowSeeds(), and UpdateStatus().
|
private |
Definition at line 135 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 135 of file G4MPImanager.hh
Referenced by DistributeSeeds(), GetSeedGenerator(), and Initialize().
|
private |
Definition at line 131 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 131 of file G4MPImanager.hh
Referenced by GetMPIsession(), Initialize(), and ~G4MPImanager().
|
private |
Definition at line 146 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 146 of file G4MPImanager.hh
Referenced by BcastCommand(), BeamOn(), CheckThreadStatus(), GetActiveSize(), Initialize(), ShowSeeds(), ShowStatus(), and WaitBeamOn().
|
private |
Definition at line 137 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 137 of file G4MPImanager.hh
Referenced by BeamOn(), Initialize(), ShowStatus(), UpdateStatus(), and ~G4MPImanager().
|
private |
Definition at line 174 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 174 of file G4MPImanager.hh
Referenced by CheckThreadStatus(), ExecuteBeamOnThread(), ExecuteThreadCommand(), and JoinBeamOnThread().
|
private |
Definition at line 139 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 139 of file G4MPImanager.hh
Referenced by BeamOn(), GetVerbose(), ParseArguments(), and SetVerbose().
|
private |
Definition at line 158 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 158 of file G4MPImanager.hh
Referenced by Initialize(), and ~G4MPImanager().
|
private |
Definition at line 147 of file G4MPImanager.hh.
View newest version in sPHENIX GitHub at line 147 of file G4MPImanager.hh
Referenced by GetTotalSize(), and Initialize().