33#
if (TARCH_PARALLEL == TARCH_YES)
35 MPI_Comm globalComm = MPI_COMM_WORLD
40 unsigned int getGlobalNumberOfLocalMDSimulation(
unsigned int localMDSimulation)
const;
42 int getLocalNumberOfGlobalMDSimulation(
unsigned int globalMDSimulation)
const;
44 unsigned int getLocalNumberOfMDSimulations()
const {
return _thisNumberMDSimulations; }
46 unsigned int getAvgNumberOfMDSimulations()
const {
return _avgNumberMDSimulationsPerLocalComm; }
50#if (TARCH_PARALLEL == TARCH_YES)
51 MPI_Comm getLocalCommunicator()
const {
return _localComm; }
53 unsigned int getLocalRank()
const {
return _localRank; }
54 unsigned int getLocalSize()
const {
return _localSize; }
56#if (TARCH_PARALLEL == TARCH_YES)
57 MPI_Comm getGlobalCommunicator()
const {
return _globalComm; }
59 unsigned int getGlobalRank()
const {
return _globalRank; }
60 unsigned int getGlobalSize()
const {
return _globalSize; }
63 void setTotalNumberMDSimulations(
unsigned int n) { _totalNumberMDSimulations = n; }
64 unsigned int getTotalNumberOfMDSimulations() {
return _totalNumberMDSimulations; }
66 void addMDSimulationBlock() {
67 _totalNumberMDSimulations += _numberLocalComms;
68 _avgNumberMDSimulationsPerLocalComm = _totalNumberMDSimulations / _numberLocalComms;
69 if ((
unsigned int)(_globalRank / _localSize + 1) == _numberLocalComms) {
70 _thisNumberMDSimulations = _totalNumberMDSimulations - _avgNumberMDSimulationsPerLocalComm * (_numberLocalComms - 1);
72 _thisNumberMDSimulations = _avgNumberMDSimulationsPerLocalComm;
76 void removeMDSimulationBlock() {
77 _totalNumberMDSimulations -= _numberLocalComms;
78 _avgNumberMDSimulationsPerLocalComm = _totalNumberMDSimulations / _numberLocalComms;
79 if ((
unsigned int)(_globalRank / _localSize + 1) == _numberLocalComms) {
80 _thisNumberMDSimulations = _totalNumberMDSimulations - _avgNumberMDSimulationsPerLocalComm * (_numberLocalComms - 1);
82 _thisNumberMDSimulations = _avgNumberMDSimulationsPerLocalComm;
86 int getRank()
const {
return this->_globalRank; }
87 int getSize()
const {
return this->_globalSize; }
89 unsigned int getNumberLocalComms()
const {
return _numberLocalComms; }
92#if (TARCH_PARALLEL == TARCH_YES)
102 unsigned int _numberLocalComms;
104 unsigned int _totalNumberMDSimulations;
109 unsigned int _avgNumberMDSimulationsPerLocalComm;
119 unsigned int _thisNumberMDSimulations;