lattice / quda

QUDA is a library for performing calculations in lattice QCD on GPUs.
https://lattice.github.io/quda
Other
294 stars 100 forks source link

QUDA's device-side RNG needs to be updated to support global volumes > `2^31 - 1` #1513

Open weinbe2 opened 2 weeks ago

weinbe2 commented 2 weeks ago

As part of initializing QUDA's hypercubic RNG, it needs to compute the global lattice index corresponding to each local site. This is currently accumulated into an int32: https://github.com/lattice/quda/blob/develop/include/kernels/random_init.cuh#L49

For sufficiently large global volumes (such as MILC's 192^3x384 configurations) this can overflow leading to identical streams across different global lattice sites. The high-level solution is to promote this value to a uint64, but that will require further changes under the hood.