arbor-sim / arbor

The Arbor multi-compartment neural network simulation library.
https://arbor-sim.org
BSD 3-Clause "New" or "Revised" License
108 stars 61 forks source link

Use CBRNG for Schedules #2243

Open thorstenhater opened 9 months ago

thorstenhater commented 9 months ago

Use the CBRNG instead of std::random for schedules and other random draws. Mainly, that'll affect the Poisson schedule.

As we have taken R123 on as a dependency anyhow, we can leverage it in all relevant places. By doing this, we reduce the memory footprint of the Poisson schedule's state and simplify it to a single number. It might be slightly faster, too.

Also, add the PRNG state to SERDES, something we cannot do today.