QMCPACK / QMCPACK/qmcpack

VMC sets walker count to a multiple of the number of threads without warning

Open
#1,464 7 comments 0 reactions 0 assignees View on GitHub
discussion enhancement
Dominant language
C++
Stars
403
Forks
154
Avg merge
1d 12h
Merged PRs (30d)
82

Description

I hit this while testing prime numbers of walkers in the GPU code. The GPU code will correctly run with the number of walkers read from the input. However, the CPU implementation will currently run modulo the number of threads, e.g. walkers=1025 in the GPU code will use 1025 walkers, while a CPU run with 16 threads will use 1024 walkers. It does this e.g. without printing any warnings. What is actually run, e.g. the number of walkers/mpi is correctly printed in all cases, but this change is very subtle.

Possible improvements:
- Print a warning that the code will not do as the user requested
- Abort because the code can not do what the user requested
- Improve the CPU drivers to do as the user requested and print a warning about efficiency.

Are there any opinions on the preferred behavior? I am initially in favor of an abort in the short term and an extension of capabilities in the long term.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.