VMC w/o drift is significantly slower than with drift on GPUs for spinors
Open
performance
- Dominant language
- C++
- Stars
- 403
- Forks
- 154
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 82
Description
I'm doing some performance checks, and noticed about ~5x slowdown if drift is off for VMC on calculations with spinors. This came up because my nexus workflow generates an optimization block and sets useDrift = no. I was doing some throughput checks with VMC with drift to set the appropriate number of walkers per rank, and noticed the discrepancy in block time between the VMC runs.
The difference in drift vs. no drift is mw_calcRatio vs. mw_calcRatioGrad, so I expect something is actually offloading in the mw_calcRatio only path.
Current workaround is to always have drift on
Contributor guide
Assessment
This issue has not been assessed yet.