Homec4science

lib kokkos: Enable deterministic use of Random_XorShift*_Pool. Add support for…

Authored by Tim Mattox <timothy.mattox@engilitycorp.com> on Mar 1 2017, 17:52.

Description

lib kokkos: Enable deterministic use of Random_XorShift*_Pool. Add support for lock-free and deterministic use of Random_XorShift*_Pool by giving state_idx selection and lock responsibility up to the application. Done by an overload of get_state() to take sate_idx as an argument that the appplication guarantees is concurrently unique and within the range of num_states that the application passed to init(). In other words, this allows the RNG state to be associated with some application specific index, rather than a runtime arbitrary thread ID, and thus the application can control which work is performed using which RNG in a deterministic manner, regardless of which thread performs the work.

Details

Committed
Tim Mattox <timothy.mattox@engilitycorp.com>Mar 1 2017, 17:52
Pushed
jungeOct 19 2017, 09:53
Parents
rLAMMPS6e26358ec3ea: lib kokkos bugfix: on a CUDA host, the random state wasn't preserved.
Branches
Unknown
Tags
Unknown

Event Timeline

Tim Mattox <timothy.mattox@engilitycorp.com> committed rLAMMPS641bf72f2030: lib kokkos: Enable deterministic use of Random_XorShift*_Pool. Add support for… (authored by Tim Mattox <timothy.mattox@engilitycorp.com>).Mar 1 2017, 17:52