Optimizing Cherenkov Photons Generation and Propagation in CORSIKA for CTA Monte–Carlo Simulations

CORSIKA (COsmic Ray SImulations for KAscade) is a program for detailed simulation of extensive air showers initiated by high energy cosmic ray particles in the atmosphere, and is used today by almost all the major instruments that aim at measuring primary and secondary cosmic rays on the ground. The Cherenkov telescope array (CTA), currently under construction, is the next-generation instrument in the field of very-high-energy gamma-ray astronomy. Detailed CORSIKA Monte Carlo simulations will be regularly performed in parallel to CTA operations to estimate the instrument response functions, necessary to extract the physical properties of the cosmic sources from the measurements during data analysis. The estimated CPU time associated with these simulations is very high, of the order of 200 million HS06 hours per year. Code optimization becomes a necessity towards fast productions and limited costs. We propose in this paper multiple code transformations that aim to facilitate automatic vectorization done by the compiler, ensuring minimal external libraries requirement and high hardware portability.

[1]  Christoph Quirin Lauter A new open-source SIMD vector libm fully implemented with high-level scalar C , 2016, 2016 50th Asilomar Conference on Signals, Systems and Computers.

[2]  Susan L. Graham,et al.  Gprof: A call graph execution profiler , 1982, SIGPLAN '82.

[3]  D. Rogers,et al.  EGS4 code system , 1985 .

[4]  K. Bernlohr,et al.  Monte Carlo performance studies for the site selection of the Cherenkov Telescope Array , 2017, 1705.01790.

[5]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[6]  K. Bernlohr,et al.  Simulation of Imaging Atmospheric Cherenkov Telescopes with CORSIKA and sim_telarray , 2008, 0808.2253.

[7]  Philippe Langlois,et al.  Performance optimization of the air shower simulation program for the Cherenkov Telescope Array , 2019, EPJ Web of Conferences.

[8]  J. Knapp,et al.  CORSIKA: A Monte Carlo code to simulate extensive air showers , 1998 .

[9]  V. Golev,et al.  Design concepts for the Cherenkov Telescope Array CTA: an advanced facility for ground-based high-energy gamma-ray astronomy , 2011 .

[10]  Ralf Ulrich,et al.  Towards A Next Generation of CORSIKA: A Framework for the Simulation of Particle Cascades in Astroparticle Physics , 2018, Computing and Software for Big Science.

[11]  Dmitry Chirkin,et al.  Photon tracking with GPUs in IceCube , 2013 .

[12]  Danilo Piparo,et al.  Speeding up HEP experiment software with a library of fast and auto-vectorisable mathematical functions , 2014 .

[13]  S. Vercellone,et al.  Monte Carlo studies for the optimisation of the Cherenkov Telescope Array , 2019 .