Abstract
CORSIKA is a standard software for simulations of air showers induced by cosmic rays. It has been developed mainly in Fortran 77 continuously over the last thirty years. It has become very difficult to add new physics features to CORSIKA 7. CORSIKA 8 aims to be the future of the CORSIKA project. It is a framework in C++17 which uses modern concepts in object oriented programming for an efficient modularity and flexibility. The CORSIKA 8 project aims to attain high performance by exploiting techniques such as vectorization, gpu/cpu parallelization, extended use of static polymorphism and the most precise physical models available. In this paper, we focus on the Cherenkov photon propagation module of CORSIKA, which is of particular interest for gamma-ray experiments, like the Cherenkov Telescope Array. First, we present the optimizations that we have applied to the Cherenkov module thanks to the results of detailed profiling using performance counters. Then, we report our preliminary work to develop the Cherenkov Module in the CORSIKA 8 framework. Finally, we will demonstrate the first performance comparison with the current CORSIKA software as well as physics validation.
Highlights
CORSIKA[2] is a software for the simulation of air shower development written in C/Fortran 77
In this paper we focus in particular on the use case of the Cherenkov Telescope Array[3] (CTA) project and on the module processing the propagation of the Cherenkov photons through the atmosphere
In the rest of the paper we present our contribution to the development of a Cherenkov module in the CORSIKA 8 framework to handle the generation and the propagation of the Cherenkov photons through the atmosphere
Summary
CORSIKA[2] is a software for the simulation of air shower development written in C/Fortran 77 It is used by a wide community in the fields of gamma-ray astronomy, neutrino, radio astronomy and cosmic rays. CTA is the generation ground-based observatory for gamma-ray astronomy at very-high energies up to about 300 TeV. It is composed of two arrays of Cherenkov telescopes deployed in the two hemispheres in La Palma (Spain) and Paranal (Chile). During 30 years, the core of CORSIKA did not change and adding new features or optimizations has become a complex task In this context, the CORSIKA 8 project [5] aims to entirely rewrite CORSIKA in modern C++ (C++ 17) to obtain a modular, flexible and efficient code. Description Original 7.6900 version with scalar operations Optimized 7.6900 with vectorial operations (with vector-libm) 7.6900-OPT-V1 with memory and vector size optimizations Similar version of 7.6900-OPT-V2 7.7100 rewrites with oriented object to read CORSIKA 7 inputs (with/without vector-libm)
Published Version (Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have