EPJ Web Conf.
Volume 251, 202125th International Conference on Computing in High Energy and Nuclear Physics (CHEP 2021)
|Number of page(s)||7|
|Published online||23 August 2021|
Counter-based pseudorandom number generators for CORSIKA 8
A multi-thread friendly approach
Institute for Astroparticle Physics of Karlsruhe Institute of Technology
Published online: 23 August 2021
This document is devoted to the description of advances in the generation of high-quality random numbers for CORSIKA 8, which is being developed in modern C++17 and is designed to run on modern multi-thread processors and accelerators. CORSIKA 8 is a Monte Carlo simulation framework to model ultra-high energy secondary particle cascades in astroparticle physics. The aspects associated with the generation of high-quality random numbers on massively parallel platforms, like multi-core CPUs and GPUs, are reviewed and the deployment of counter-based engines using an innovative and multi-thread friendly API are described. The API is based on iterators providing a very well known access mechanism in C++, and also supports lazy evaluation. Moreover, an upgraded version of the Squares algorithm with highly efficient internal 128 as well as 256 bit counters is presented in this context. Performance measurements are provided, as well as comparisons with conventional designs are given. Finally, the integration into CORSIKA 8 is commented.
© The Authors, published by EDP Sciences, 2021
Initial download of the metrics may take a while.