Skip to content

Commit

Permalink
Merge pull request #2590 from ye-luo/fix-vmcbatch
Browse files Browse the repository at this point in the history
Fix VMCBatched due to num_global_walkers.
  • Loading branch information
ye-luo committed Jul 21, 2020
2 parents 59ec8b9 + 2aaa438 commit 29debaa
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/QMCDrivers/QMCDriverNew.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,9 @@ void QMCDriverNew::startup(xmlNodePtr cur, QMCDriverNew::AdjustedWalkerCounts aw
<< " on rank 0, walkers_per_crowd =" << awc.walkers_per_crowd << std::endl
<< std::endl;

// set num_global_walkers explicitly and then make local walkers.
population_.set_num_global_walkers(awc.global_walkers);

makeLocalWalkers(awc.walkers_per_rank[myComm->rank()], awc.reserve_walkers,
ParticleAttrib<TinyVector<QMCTraits::RealType, 3>>(population_.get_num_particles()));

Expand Down Expand Up @@ -289,6 +292,7 @@ void QMCDriverNew::makeLocalWalkers(IndexType nwalkers,
RealType reserve,
const ParticleAttrib<TinyVector<QMCTraits::RealType, 3>>& positions)
{
// ensure nwalkers local walkers in population_
if (population_.get_walkers().size() == 0)
{
population_.createWalkers(nwalkers, reserve);
Expand Down
1 change: 1 addition & 0 deletions src/QMCDrivers/tests/test_DMCBatched.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ TEST_CASE("DMCDriver+QMCDriverNew integration", "[drivers]")
dmcdriver.process(node);
CHECK(dmcdriver.getBranchEngine() != nullptr);
CHECK(dmcdriver.get_living_walkers() == 32);
CHECK(population.get_num_global_walkers() == 32);
CHECK(population.get_num_local_walkers() == 32);
QMCTraits::IndexType reserved_walkers = population.get_num_local_walkers() + population.get_dead_walkers().size();
CHECK(reserved_walkers == 48);
Expand Down

0 comments on commit 29debaa

Please sign in to comment.