![]() |
QMCPACK
|
Wrapping information on parallelism. More...
Public Member Functions | |
Communicate () | |
constructor More... | |
Communicate (const Communicate &in_comm, int nparts) | |
constructor that splits in_comm More... | |
virtual | ~Communicate () |
destructor Call proper finalization of Communication library More... | |
Communicate (const Communicate &)=delete | |
disable constructor More... | |
void | initialize (int argc, char **argv) |
Communicate | NodeComm () const |
provide a node/shared-memory communicator from current (parent) communicator More... | |
void | finalize () |
void | barrier () const |
void | abort () const |
void | barrier_and_abort (const std::string &msg) const |
void | set_world () |
mpi_comm_type | getMPI () const |
return the Communicator ID (typically MPI_WORLD_COMM) More... | |
int | rank () const |
return the rank More... | |
int | size () const |
return the number of tasks More... | |
int | getGroupID () const |
return the group id More... | |
int | getNumGroups () const |
return the number of intra_comms which belong to the same group More... | |
void | cleanupMessage (void *) |
void | setNodeID (int i) |
void | setNumNodes (int n) |
void | setName (const std::string &aname) |
void | setName (const char *aname, int alen) |
const std::string & | getName () const |
bool | isGroupLeader () |
return true if the current MPI rank is the group lead More... | |
template<typename T > | |
void | allreduce (T &) |
template<typename T > | |
void | reduce (T &) |
template<typename T > | |
void | reduce (T *restrict, T *restrict, int n) |
template<typename T > | |
void | reduce_in_place (T *restrict, int n) |
template<typename T > | |
void | bcast (T &) |
template<typename T > | |
void | bcast (T *restrict, int n) |
template<typename T > | |
void | send (int dest, int tag, T &) |
template<typename T > | |
void | gather (T &sb, T &rb, int dest=0) |
template<typename T , typename IT > | |
void | gatherv (T &sb, T &rb, IT &counts, IT &displ, int dest=0) |
template<typename T > | |
void | allgather (T &sb, T &rb, int count) |
template<typename T , typename IT > | |
void | allgatherv (T &sb, T &rb, IT &counts, IT &displ) |
template<typename T > | |
void | scatter (T &sb, T &rb, int dest=0) |
template<typename T , typename IT > | |
void | scatterv (T &sb, T &rb, IT &counts, IT &displ, int source=0) |
template<typename T > | |
request | irecv (int source, int tag, T &) |
template<typename T > | |
request | isend (int dest, int tag, T &) |
template<typename T > | |
request | irecv (int source, int tag, T *, int n) |
template<typename T > | |
request | isend (int dest, int tag, T *, int n) |
template<typename T , typename IT > | |
void | gatherv (T *sb, T *rb, int n, IT &counts, IT &displ, int dest=0) |
template<typename T , typename TMPI , typename IT > | |
void | gatherv_in_place (T *buf, TMPI &datatype, IT &counts, IT &displ, int dest=0) |
template<typename T > | |
void | allgather (T *sb, T *rb, int count) |
template<typename T > | |
void | gsum (T &) |
Communicate * | getGroupLeaderComm () |
template<> | |
void | allreduce (int &g) |
template<> | |
void | allreduce (long &g) |
template<> | |
void | allreduce (unsigned long &g) |
template<> | |
void | allreduce (float &g) |
template<> | |
void | allreduce (double &g) |
template<> | |
void | allreduce (qmcplusplus::TinyVector< float, OHMMS_DIM > &g) |
template<> | |
void | allreduce (qmcplusplus::TinyVector< double, OHMMS_DIM > &g) |
template<> | |
void | allreduce (qmcplusplus::TinyVector< int, OHMMS_DIM > &g) |
template<> | |
void | allreduce (std::vector< int > &g) |
template<> | |
void | allreduce (std::vector< long > &g) |
template<> | |
void | allreduce (std::vector< unsigned long > &g) |
template<> | |
void | allreduce (std::vector< float > &g) |
template<> | |
void | allreduce (std::vector< double > &g) |
template<> | |
void | allreduce (std::vector< std::complex< float >> &g) |
template<> | |
void | allreduce (std::vector< std::complex< double >> &g) |
template<> | |
void | allreduce (PooledData< float > &g) |
template<> | |
void | allreduce (PooledData< double > &g) |
template<> | |
void | allreduce (qmcplusplus::Matrix< float > &g) |
template<> | |
void | allreduce (qmcplusplus::Matrix< double > &g) |
template<> | |
void | reduce (std::vector< float > &g) |
template<> | |
void | reduce (std::vector< double > &g) |
template<> | |
void | reduce (std::vector< int > &g) |
template<> | |
void | reduce (std::vector< long > &g) |
template<> | |
void | reduce (int *restrict g, int *restrict res, int n) |
template<> | |
void | reduce (double *restrict g, double *restrict res, int n) |
template<> | |
void | reduce_in_place (double *restrict res, int n) |
template<> | |
void | reduce_in_place (float *restrict res, int n) |
template<> | |
void | bcast (int &g) |
template<> | |
void | bcast (uint32_t &g) |
template<> | |
void | bcast (std::vector< uint32_t > &g) |
template<> | |
void | bcast (double &g) |
template<> | |
void | bcast (float &g) |
template<> | |
void | bcast (bool &g) |
template<> | |
void | bcast (qmcplusplus::TinyVector< double, 2 > &g) |
template<> | |
void | bcast (qmcplusplus::TinyVector< int, 2 > &g) |
template<> | |
void | bcast (qmcplusplus::TinyVector< int, 3 > &g) |
template<> | |
void | bcast (std::vector< qmcplusplus::TinyVector< int, 3 >> &g) |
template<> | |
void | bcast (qmcplusplus::TinyVector< double, 3 > &g) |
template<> | |
void | bcast (qmcplusplus::TinyVector< float, 3 > &g) |
template<> | |
void | bcast (qmcplusplus::TinyVector< double, 4 > &g) |
template<> | |
void | bcast (qmcplusplus::Tensor< double, 3 > &g) |
template<> | |
void | bcast (qmcplusplus::Tensor< float, 3 > &g) |
template<> | |
void | bcast (qmcplusplus::Vector< double > &g) |
template<> | |
void | bcast (qmcplusplus::Vector< float > &g) |
template<> | |
void | bcast (qmcplusplus::Vector< std::complex< double >> &g) |
template<> | |
void | bcast (qmcplusplus::Vector< std::complex< float >> &g) |
template<> | |
void | bcast (qmcplusplus::Vector< int > &g) |
template<> | |
void | bcast (qmcplusplus::Vector< qmcplusplus::TinyVector< double, 2 >> &g) |
template<> | |
void | bcast (qmcplusplus::Vector< qmcplusplus::TinyVector< double, 3 >> &g) |
template<> | |
void | bcast (qmcplusplus::Vector< qmcplusplus::TinyVector< float, 3 >> &g) |
template<> | |
void | bcast (Array< double, 3 > &g) |
template<> | |
void | bcast (Array< float, 3 > &g) |
template<> | |
void | bcast (Array< int, 1 > &g) |
template<> | |
void | bcast (Array< std::complex< double >, 1 > &g) |
template<> | |
void | bcast (Array< std::complex< double >, 2 > &g) |
template<> | |
void | bcast (Array< std::complex< double >, 3 > &g) |
template<> | |
void | bcast (Array< std::complex< float >, 3 > &g) |
template<> | |
void | bcast (std::vector< double > &g) |
template<> | |
void | bcast (std::vector< std::complex< double >> &g) |
template<> | |
void | bcast (std::vector< std::complex< float >> &g) |
template<> | |
void | bcast (std::vector< float > &g) |
template<> | |
void | bcast (PooledData< double > &g) |
template<> | |
void | bcast (PooledData< float > &g) |
template<> | |
void | bcast (PooledData< int > &g) |
template<> | |
void | bcast (std::vector< qmcplusplus::TinyVector< double, 2 >> &g) |
template<> | |
void | bcast (std::vector< qmcplusplus::TinyVector< double, 3 >> &g) |
template<> | |
void | bcast (std::vector< qmcplusplus::TinyVector< float, 3 >> &g) |
template<> | |
void | bcast (std::vector< int > &g) |
template<> | |
void | bcast (std::vector< bool > &g) |
template<> | |
void | bcast (double *restrict x, int n) |
template<> | |
void | bcast (std::complex< double > *restrict x, int n) |
template<> | |
void | bcast (float *restrict x, int n) |
template<> | |
void | bcast (std::complex< float > *restrict x, int n) |
template<> | |
void | bcast (int *restrict x, int n) |
template<> | |
void | bcast (char *restrict x, int n) |
template<> | |
void | bcast (std::string &g) |
template<> | |
void | send (int dest, int tag, std::vector< double > &g) |
template<> | |
Communicate::request | isend (int dest, int tag, std::vector< double > &g) |
template<> | |
Communicate::request | irecv (int source, int tag, std::vector< double > &g) |
template<> | |
void | gatherv (std::vector< char > &l, std::vector< char > &g, std::vector< int > &counts, std::vector< int > &displ, int dest) |
template<> | |
void | gatherv (std::vector< double > &l, std::vector< double > &g, std::vector< int > &counts, std::vector< int > &displ, int dest) |
template<> | |
void | gatherv (std::vector< float > &l, std::vector< float > &g, std::vector< int > &counts, std::vector< int > &displ, int dest) |
template<> | |
void | gatherv (std::vector< int > &l, std::vector< int > &g, std::vector< int > &counts, std::vector< int > &displ, int dest) |
template<> | |
void | allgather (std::vector< char > &sb, std::vector< char > &rb, int count) |
template<> | |
void | allgather (std::vector< int > &sb, std::vector< int > &rb, int count) |
template<> | |
void | allgatherv (std::vector< int > &l, std::vector< int > &g, std::vector< int > &counts, std::vector< int > &displ) |
template<> | |
void | gatherv (std::vector< long > &l, std::vector< long > &g, std::vector< int > &counts, std::vector< int > &displ, int dest) |
template<> | |
void | gather (std::vector< double > &l, std::vector< double > &g, int dest) |
template<> | |
void | gather (std::vector< char > &l, std::vector< char > &g, int dest) |
template<> | |
void | gather (std::vector< int > &l, std::vector< int > &g, int dest) |
template<> | |
void | gatherv (PooledData< double > &l, PooledData< double > &g, std::vector< int > &counts, std::vector< int > &displ, int dest) |
template<> | |
void | gather (PooledData< double > &l, PooledData< double > &g, int dest) |
template<> | |
void | gsum (std::vector< int > &g) |
template<> | |
void | gsum (std::vector< double > &g) |
template<> | |
void | gsum (std::vector< std::complex< double >> &g) |
template<> | |
void | gatherv (char *l, char *g, int n, std::vector< int > &counts, std::vector< int > &displ, int dest) |
template<> | |
void | allgather (char *sb, char *rb, int count) |
template<> | |
void | scatterv (std::vector< char > &sb, std::vector< char > &rb, std::vector< int > &counts, std::vector< int > &displ, int source) |
template<> | |
void | allreduce (qmcplusplus::Matrix< std::complex< double >> &g) |
template<> | |
void | allreduce (qmcplusplus::Matrix< std::complex< float >> &g) |
template<> | |
void | bcast (std::complex< double > &g) |
template<> | |
void | bcast (std::complex< float > &g) |
Protected Attributes | |
mpi_comm_type | myMPI |
Raw communicator. More... | |
std::string | myName |
Communicator name. More... | |
int | d_mycontext |
Rank. More... | |
int | d_ncontexts |
Size. More... | |
int | d_groupid |
Group ID of the current communicator in the parent communicator. More... | |
int | d_ngroups |
Total number of groups in the parent communicator. More... | |
std::unique_ptr< Communicate > | GroupLeaderComm |
Group Leader Communicator. More... | |
Additional Inherited Members | |
![]() | |
using | mpi_comm_type = int |
using | status = int |
using | request = int |
![]() | |
static const int | MPI_COMM_NULL = 0 |
static const int | MPI_REQUEST_NULL = 1 |
Wrapping information on parallelism.
Very limited in functions. Currently, only single-mode or mpi-mode is available (mutually exclusive).
Definition at line 68 of file Communicate.h.
Communicate | ( | ) |
constructor
Definition at line 38 of file Communicate.cpp.
Communicate | ( | const Communicate & | in_comm, |
int | nparts | ||
) |
constructor that splits in_comm
Definition at line 119 of file Communicate.cpp.
References GroupLeaderComm.
|
virtualdefault |
destructor Call proper finalization of Communication library
|
delete |
disable constructor
void abort | ( | ) | const |
Definition at line 113 of file Communicate.cpp.
Referenced by PWOrbitalSet::addVector(), PWRealOrbitalSet::addVector(), barrier_and_abort(), PWOrbitalSetBuilder::createPW(), PWOrbitalSetBuilder::createPWBasis(), and PWOrbitalSetBuilder::getH5().
|
inline |
Definition at line 77 of file CommOperatorsMPI.h.
|
inline |
Definition at line 129 of file CommOperatorsMPI.h.
|
inline |
|
inline |
|
inline |
void allgatherv | ( | T & | sb, |
T & | rb, | ||
IT & | counts, | ||
IT & | displ | ||
) |
|
inline |
Definition at line 833 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 29 of file CommOperatorsMPI.h.
Referenced by QMCDriverNew::adjustGlobalWalkerCount(), WalkerControlMPI::branch(), QMCCostFunction::checkConfigurations(), QMCCostFunctionBatched::checkConfigurations(), TimerManager< qmcplusplus::TimerType< CLOCK > >::collate_flat_profile(), WalkerControl::computeCurData(), QMCCostFunction::correlatedSampling(), QMCCostFunctionBatched::correlatedSampling(), WalkerControlBase::doNotBranch(), QMCCostFunction::fillOverlapHamiltonianMatrices(), QMCCostFunctionBatched::fillOverlapHamiltonianMatrices(), QMCCostFunction::GradCost(), QMCCostFunctionBatched::GradCost(), SimpleFixedNodeBranch::initWalkerController(), EstimatorManagerNew::makeBlockAverages(), MCPopulation::measureGlobalEnergyVariance(), DescentEngine::mpi_unbiased_ratio_of_means(), QMCDriver::putWalkers(), UnifiedDriverWalkerControlMPITest::reportWalkersPerRank(), DescentEngine::sample_finish(), QMCDriver::setWalkerOffsets(), QMCDriverNew::setWalkerOffsets(), WalkerReconfigurationMPI::swapWalkers(), WalkerControl::syncFutureWalkersPerRank(), and MCPopulation::syncWalkersPerRank().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 253 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), d_ncontexts, myMPI, and OHMMS_DIM.
|
inline |
Definition at line 263 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), d_ncontexts, myMPI, and OHMMS_DIM.
|
inline |
Definition at line 273 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), d_ncontexts, myMPI, and OHMMS_DIM.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 345 of file CommOperatorsMPI.h.
References PooledData< T >::data(), myMPI, and PooledData< T >::size().
|
inline |
Definition at line 353 of file CommOperatorsMPI.h.
References myMPI, and PooledData< T >::size().
|
inline |
Definition at line 361 of file CommOperatorsMPI.h.
References Matrix< T, Alloc >::begin(), copy(), Matrix< T, Alloc >::data(), Matrix< T, Alloc >::end(), myMPI, and Matrix< T, Alloc >::size().
|
inline |
Definition at line 370 of file CommOperatorsMPI.h.
References Matrix< T, Alloc >::begin(), copy(), Matrix< T, Alloc >::data(), Matrix< T, Alloc >::end(), myMPI, and Matrix< T, Alloc >::size().
|
inline |
Definition at line 950 of file CommOperatorsMPI.h.
|
inline |
Definition at line 959 of file CommOperatorsMPI.h.
void barrier | ( | ) | const |
Definition at line 115 of file Communicate.cpp.
Referenced by barrier_and_abort(), QMCCostFunction::correlatedSampling(), QMCCostFunctionBatched::correlatedSampling(), OrbitalImages::evaluate(), QMCMain::execute(), SplineSetReader< typename SA::SplineBase >::initialize_spline_pio_gather(), QMCDriverNew::measureImbalance(), HDFWalkerInput_0_4::read_hdf5_scatter(), VMCBatched::run(), DMCBatched::run(), EinsplineSetBuilder::set_metadata(), and qmcplusplus::TEST_CASE().
void barrier_and_abort | ( | const std::string & | msg | ) | const |
Definition at line 126 of file Communicate.cpp.
References abort(), barrier(), and rank().
Referenced by HamiltonianFactory::addMPCPotential(), SPOSetBuilderFactory::addSPOSet(), RadialJastrowBuilder::buildComponent(), SlaterDetBuilder::buildComponent(), ECPComponentBuilder::buildL2(), ECPComponentBuilder::buildLocal(), ECPComponentBuilder::buildSemiLocalAndLocal(), SPOSetBuilderFactory::buildSPOSetCollection(), qmcplusplus::createDriftModifier(), RadialJastrowBuilder::createJ1(), SPOSetBuilder::createRotatedSPOSet(), SPOSetBuilder::createSPOSet(), EinsplineSetBuilder::createSPOSet(), SPOSetBuilderFactory::createSPOSetBuilder(), LCAOSpinorBuilder::createSPOSetFromXML(), LCAOrbitalBuilder::createSPOSetFromXML(), EinsplineSpinorSetBuilder::createSPOSetFromXML(), EinsplineSetBuilder::createSPOSetFromXML(), QMCMain::execute(), LCAOSpinorBuilder::LCAOSpinorBuilder(), LCAOSpinorBuilder::loadMO(), main(), EinsplineSetBuilder::OccupyBands_ESHDF(), ECPComponentBuilder::parseCasino(), VMCBatched::process(), DMCBatched::process(), QMCFixedSampleLinearOptimize::processOptXML(), QMCMain::processPWH(), HDFWalkerInputManager::put(), ParticleSetPool::put(), WaveFunctionPool::put(), WalkerControl::put(), LCAOSpinorBuilder::putFromH5(), LCAOrbitalBuilder::putFromH5(), ECPComponentBuilder::read_pp_file(), SlaterDetBuilder::readDetList(), ParticleSetPool::readSimulationCellXML(), QMCFixedSampleLinearOptimize::run(), QMCMain::runQMC(), EinsplineSetBuilder::set_metadata(), ECPotentialBuilder::useXmlFormat(), and QMCMain::validateXML().
|
inline |
Definition at line 53 of file CommOperatorsMPI.h.
Referenced by bcast(), EinsplineSetBuilder::bcastSortBands(), EinsplineSetBuilder::BroadcastOrbitalInfo(), PWParameterSet::checkVersion(), HybridRepSetReader< SA >::create_atomic_centers_Gspace(), LCAOrbitalBuilder::createBasisSetH5(), LCAOrbitalBuilder::createSPOSetFromXML(), LCAOrbitalBuilder::EvalPeriodicImagePhaseFactors(), EstimatorManagerNew::getApproximateEnergyVariance(), EstimatorManagerBase::getApproximateEnergyVariance(), PWParameterSet::getEigVectorType(), PWParameterSet::hasComplexData(), HybridRepSetReader< SA >::initialize_hybrid_pio_gather(), LCAOrbitalBuilder::loadBasisSetFromH5(), LCAOSpinorBuilder::loadMO(), LCAOrbitalBuilder::loadMO(), QMCFixedSampleLinearOptimizeBatched::one_shift_run(), ReadFileBuffer::open_file(), GaussianCombo< T >::putBasisGroupH5(), LCAOrbitalBuilder::putFromH5(), QMCDriver::putWalkers(), QMCDriverNew::putWalkers(), ReadFileBuffer::read_contents(), EinsplineSetBuilder::ReadGvectors_ESHDF(), VMC::run(), RMC::run(), DMC::run(), VMCBatched::run(), DMCBatched::run(), and WalkerReconfigurationMPI::swapWalkers().
|
inline |
Definition at line 59 of file CommOperatorsMPI.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 484 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), and myMPI.
|
inline |
Definition at line 490 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), and myMPI.
|
inline |
Definition at line 496 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), and myMPI.
|
inline |
|
inline |
Definition at line 508 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), and myMPI.
|
inline |
Definition at line 514 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), and myMPI.
|
inline |
Definition at line 520 of file CommOperatorsMPI.h.
References TinyVector< T, D >::begin(), and myMPI.
|
inline |
|
inline |
|
inline |
Definition at line 538 of file CommOperatorsMPI.h.
References myMPI, and Vector< T, Alloc >::size().
|
inline |
Definition at line 544 of file CommOperatorsMPI.h.
References myMPI, and Vector< T, Alloc >::size().
|
inline |
Definition at line 550 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 556 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 562 of file CommOperatorsMPI.h.
References myMPI, and Vector< T, Alloc >::size().
|
inline |
Definition at line 569 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 575 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 581 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 587 of file CommOperatorsMPI.h.
References Array< T, D, ALLOC >::data(), myMPI, and Array< T, D, ALLOC >::size().
|
inline |
Definition at line 593 of file CommOperatorsMPI.h.
References Array< T, D, ALLOC >::data(), myMPI, and Array< T, D, ALLOC >::size().
|
inline |
Definition at line 599 of file CommOperatorsMPI.h.
References Array< T, D, ALLOC >::data(), myMPI, and Array< T, D, ALLOC >::size().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 656 of file CommOperatorsMPI.h.
References PooledData< T >::data(), myMPI, and PooledData< T >::size().
|
inline |
Definition at line 662 of file CommOperatorsMPI.h.
References PooledData< T >::data(), myMPI, and PooledData< T >::size().
|
inline |
Definition at line 668 of file CommOperatorsMPI.h.
References PooledData< T >::data(), myMPI, and PooledData< T >::size().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void cleanupMessage | ( | void * | ) |
Definition at line 117 of file Communicate.cpp.
void finalize | ( | ) |
Definition at line 111 of file Communicate.cpp.
Referenced by QMCState::initialize(), and main().
|
inline |
Definition at line 71 of file CommOperatorsMPI.h.
Referenced by QMCDriverNew::measureImbalance().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 880 of file CommOperatorsMPI.h.
References PooledData< T >::data(), myMPI, and PooledData< T >::size().
|
inline |
Definition at line 83 of file CommOperatorsMPI.h.
|
inline |
Definition at line 135 of file CommOperatorsMPI.h.
|
inline |
Definition at line 779 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 790 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 800 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 810 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 842 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 870 of file CommOperatorsMPI.h.
References PooledData< T >::data(), myMPI, and PooledData< T >::size().
|
inline |
|
inline |
Definition at line 940 of file CommOperatorsMPI.h.
References d_mycontext, and myMPI.
|
inline |
return the group id
Definition at line 121 of file Communicate.h.
References d_groupid.
Referenced by HybridRepSetReader< SA >::create_atomic_centers_Gspace(), MPIObjectBase::getGroupID(), HybridRepSetReader< SA >::initialize_hybrid_pio_gather(), SplineSetReader< typename SA::SplineBase >::initialize_spline_pio_gather(), BsplineReader::initialize_spo2band(), main(), ProjectData::previousRoot(), QMCMain::QMCMain(), and ProjectData::reset().
|
inline |
Definition at line 230 of file Communicate.h.
References GroupLeaderComm.
Referenced by HybridRepSetReader< SA >::initialize_hybrid_pio_gather(), and SplineSetReader< typename SA::SplineBase >::initialize_spline_pio_gather().
|
inline |
return the Communicator ID (typically MPI_WORLD_COMM)
Definition at line 113 of file Communicate.h.
References myMPI.
Referenced by MPIObjectBase::getMPI(), and hdf_archive::set_access_plist().
|
inline |
Definition at line 131 of file Communicate.h.
References myName.
Referenced by HDFWalkerOutput::dump(), VMC::run(), RMC::run(), DMC::run(), WalkerControl::start(), WalkerControlBase::start(), EstimatorManagerBase::start(), and EstimatorManagerNew::startDriverRun().
|
inline |
return the number of intra_comms which belong to the same group
Definition at line 123 of file Communicate.h.
References d_ngroups.
Referenced by QMCMain::QMCMain().
|
inline |
Definition at line 141 of file CommOperatorsMPI.h.
|
inline |
|
inline |
|
inline |
void initialize | ( | int | argc, |
char ** | argv | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
return true if the current MPI rank is the group lead
Definition at line 134 of file Communicate.h.
References d_mycontext.
Referenced by HybridRepSetReader< SA >::create_atomic_centers_Gspace(), HybridRepSetReader< SA >::initialize_hybrid_pio_gather(), and SplineSetReader< typename SA::SplineBase >::initialize_spline_pio_gather().
Communicate NodeComm | ( | ) | const |
provide a node/shared-memory communicator from current (parent) communicator
Definition at line 109 of file Communicate.cpp.
Referenced by main(), and QMCMain::QMCMain().
|
inline |
return the rank
Definition at line 116 of file Communicate.h.
References d_mycontext.
Referenced by QMCDriverNew::adjustGlobalWalkerCount(), EinsplineSetBuilder::AnalyzeTwists2(), barrier_and_abort(), bcast(), EinsplineSetBuilder::BroadcastOrbitalInfo(), HamiltonianFactory::build(), SPOSetBuilderFactory::buildSPOSetCollection(), HDFWalkerInput_0_4::checkOptions(), LCAOrbitalBuilder::createBasisSetH5(), QMCDriverFactory::createQMCDriver(), LCAOrbitalBuilder::createSPOSetFromXML(), EinsplineSpinorSetBuilder::createSPOSetFromXML(), EinsplineSetBuilder::createSPOSetFromXML(), EstimatorManagerNew::EstimatorManagerNew(), LCAOrbitalBuilder::EvalPeriodicImagePhaseFactors(), OrbitalImages::evaluate(), qmcplusplus::generateCuspInfo(), QMCState::initialize(), BsplineReader::initialize_spo2band(), QMCDriverNew::initializeQMC(), SimpleFixedNodeBranch::initWalkerController(), DiracDeterminant< DU_TYPE >::invertPsiM(), MPIObjectBase::is_manager(), EstimatorManagerBase::is_manager(), LCAOrbitalBuilder::loadBasisSetFromH5(), LCAOSpinorBuilder::loadMO(), LCAOrbitalBuilder::loadMO(), main(), RandomNumberControl::make_children(), RandomNumberControl::make_seeds(), EstimatorManagerNew::makeBlockAverages(), QMCDriverNew::measureImbalance(), EinsplineSetBuilder::OccupyBands(), EinsplineSetBuilder::OccupyBands_ESHDF(), ReadFileBuffer::open_file(), TraceManager::open_hdf_file(), WalkerLogManager::openHDFFile(), SetupDMCTest::operator()(), SetupSFNBranch::operator()(), TimerManager< qmcplusplus::TimerType< CLOCK > >::output_timing(), ProjectData::previousRoot(), TimerManager< qmcplusplus::TimerType< CLOCK > >::print(), TimerManager< qmcplusplus::TimerType< CLOCK > >::print_flat(), TimerManager< qmcplusplus::TimerType< CLOCK > >::print_stack(), QMCFixedSampleLinearOptimize::processOptXML(), QMCFixedSampleLinearOptimizeBatched::processOptXML(), HDFWalkerInputManager::put(), RandomNumberControl::put(), QMCCostFunctionBase::put(), GaussianCombo< T >::putBasisGroupH5(), LCAOSpinorBuilder::putFromH5(), LCAOrbitalBuilder::putFromH5(), LCAOrbitalBuilder::putPBCFromH5(), QMCDriver::putWalkers(), QMCCostFunctionBase::QMCCostFunctionBase(), MPIObjectBase::rank(), ReadFileBuffer::read_contents(), HDFWalkerInput_0_4::read_hdf5(), HDFWalkerInput_0_4::read_hdf5_scatter(), RandomNumberControl::read_parallel(), HDFWalkerInput_0_4::read_phdf5(), RandomNumberControl::read_rank_0(), EinsplineSetBuilder::ReadGvectors_ESHDF(), EstimatorManagerNew::reduceOperatorEstimators(), QMCCostFunctionBase::Report(), QMCCostFunctionBase::reportParameters(), QMCCostFunctionBase::reportParametersH5(), UnifiedDriverWalkerControlMPITest::reportWalkersPerRank(), ProjectData::reset(), ReadFileBuffer::reset(), VMC::run(), RMC::run(), DMC::run(), WaveFunctionTester::run(), VMCBatched::run(), DMCBatched::run(), WaveFunctionTester::runDerivNLPPTest(), WaveFunctionTester::runZeroVarianceTest(), hdf_archive::set_access_plist(), EinsplineSetBuilder::set_metadata(), EstimatorManagerBase::setCommunicator(), QMCDriver::setWalkerOffsets(), QMCDriverNew::setWalkerOffsets(), EstimatorManagerBase::start(), EstimatorManagerNew::startDriverRun(), WalkerControl::syncFutureWalkersPerRank(), MCPopulation::syncWalkersPerRank(), qmcplusplus::TEST_CASE(), QMCDriverNewTestWrapper::testAdjustGlobalWalkerCount(), EstimatorManagerNewTest::testMakeBlockAverages(), UnifiedDriverWalkerControlMPITest::UnifiedDriverWalkerControlMPITest(), WalkerControlBase::WalkerControlBase(), HDFWalkerOutput::write_configuration(), RandomNumberControl::write_parallel(), RandomNumberControl::write_rank_0(), and EstimatorManagerNew::writeOperatorEstimators().
|
inline |
Definition at line 35 of file CommOperatorsMPI.h.
Referenced by EstimatorManagerBase::collectBlockAverages().
|
inline |
Definition at line 41 of file CommOperatorsMPI.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 47 of file CommOperatorsMPI.h.
Referenced by HybridRepSetReader< SA >::create_atomic_centers_Gspace().
|
inline |
Definition at line 427 of file CommOperatorsMPI.h.
References d_mycontext, myMPI, and qmcplusplus::n.
|
inline |
Definition at line 436 of file CommOperatorsMPI.h.
References d_mycontext, myMPI, and qmcplusplus::n.
|
inline |
Definition at line 89 of file CommOperatorsMPI.h.
|
inline |
Definition at line 95 of file CommOperatorsMPI.h.
|
inline |
Definition at line 930 of file CommOperatorsMPI.h.
References myMPI.
|
inline |
Definition at line 65 of file CommOperatorsMPI.h.
|
inline |
void set_world | ( | ) |
|
inline |
Definition at line 129 of file Communicate.h.
References myName.
Referenced by ProjectData::reset(), and qmcplusplus::TEST_CASE().
|
inline |
|
inline |
|
inline |
|
inline |
return the number of tasks
Definition at line 118 of file Communicate.h.
References d_ncontexts.
Referenced by QMCDriverNew::adjustGlobalWalkerCount(), EinsplineSetBuilder::BroadcastOrbitalInfo(), HDFWalkerInput_0_4::checkOptions(), EstimatorManagerBase::collectBlockAverages(), HybridRepSetReader< SA >::create_atomic_centers_Gspace(), QMCDriverFactory::createQMCDriver(), qmcplusplus::createWalkerController(), EstimatorManagerBaseTest::EstimatorManagerBaseTest(), EstimatorManagerNewTest::EstimatorManagerNewTest(), QMCMain::execute(), EstimatorManagerNewTest::fakeSomeOperatorEstimatorSamples(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::gather_atomic_tables(), SplineC2R< ST >::gather_tables(), SplineR2R< ST >::gather_tables(), SplineC2C< ST >::gather_tables(), SplineC2COMPTarget< ST >::gather_tables(), SplineC2ROMPTarget< ST >::gather_tables(), qmcplusplus::generateCuspInfo(), SimpleFixedNodeBranch::initWalkerController(), main(), RandomNumberControl::make_children(), RandomNumberControl::make_seeds(), EstimatorManagerNew::makeBlockAverages(), QMCDriverNew::measureImbalance(), qmcplusplus::mpiTestFunctionWrapped(), TraceManager::open_hdf_file(), WalkerLogManager::openHDFFile(), SetupDMCTest::operator()(), output_hardware_info(), ProjectData::previousRoot(), TimerManager< qmcplusplus::TimerType< CLOCK > >::print_flat(), QMCFixedSampleLinearOptimizeBatched::processOptXML(), VMC::put(), CSVMC::put(), RandomNumberControl::put(), QMCDriver::putWalkers(), QMCMain::QMCMain(), HDFWalkerInput_0_4::read_hdf5(), HDFWalkerInput_0_4::read_hdf5_scatter(), RandomNumberControl::read_parallel(), HDFWalkerInput_0_4::read_phdf5(), RandomNumberControl::read_rank_0(), UnifiedDriverWalkerControlMPITest::reportWalkersPerRank(), ProjectData::reset(), VMC::run(), CSVMC::run(), hdf_archive::set_access_plist(), EstimatorManagerBase::setCollectionMode(), EstimatorManagerBase::setCommunicator(), QMCDriver::setWalkerOffsets(), QMCDriverNew::setWalkerOffsets(), WalkerControl::syncFutureWalkersPerRank(), MCPopulation::syncWalkersPerRank(), RandomNumberControl::test(), qmcplusplus::TEST_CASE(), QMCDriverNewTestWrapper::testAdjustGlobalWalkerCount(), UnifiedDriverWalkerControlMPITest::UnifiedDriverWalkerControlMPITest(), WalkerControlBase::WalkerControlBase(), HDFWalkerOutput::write_configuration(), RandomNumberControl::write_parallel(), and RandomNumberControl::write_rank_0().
|
protected |
Group ID of the current communicator in the parent communicator.
Definition at line 222 of file Communicate.h.
Referenced by getGroupID().
|
protected |
Rank.
Definition at line 218 of file Communicate.h.
Referenced by gatherv_in_place(), isGroupLeader(), rank(), reduce(), reduce_in_place(), and setNodeID().
|
protected |
Size.
Definition at line 220 of file Communicate.h.
Referenced by allreduce(), setNumNodes(), and size().
|
protected |
Total number of groups in the parent communicator.
Definition at line 224 of file Communicate.h.
Referenced by getNumGroups().
|
protected |
Group Leader Communicator.
Definition at line 226 of file Communicate.h.
Referenced by Communicate(), and getGroupLeaderComm().
|
protected |
Raw communicator.
Currently it is only owned by Communicate which manages its creation and destruction After switching to mpi3::communicator, myMPI is only a reference to the raw communicator owned by mpi3::communicator
Definition at line 214 of file Communicate.h.
Referenced by allgather(), allgatherv(), allreduce(), bcast(), gather(), gatherv(), gatherv_in_place(), getMPI(), gsum(), irecv(), isend(), reduce(), reduce_in_place(), scatterv(), and send().
|
protected |
Communicator name.
Definition at line 216 of file Communicate.h.