Accelerating IceCube’s Photon Propagation Code with CUDA

The IceCube Neutrino Observatory is a cubic kilometer neutrino detector located at the geographic South Pole designed to detect high-energy astrophysical neutrinos. To thoroughly understand the detected neutrinos and their properties, the detector response to signal and background has to be modeled...

Full description

Bibliographic Details
Published in:Computing and Software for Big Science
Main Authors: Schwanekamp, Hendrik, Hohl, Ramona, Rongen, Martin, Schultz, David, Santen, Jakob van, Chirkin, Dmitry, Gibbs, Tom, Harnisch, Alexander, Kopper, Claudio, Messmer, Peter, Mehta, Vishal, Olivas, Alexander, Riedel, Benedikt
Format: Article in Journal/Newspaper
Language:English
Published: Springer International Publishing 2022
Subjects:
ice
GPU
Online Access:https://bib-pubdb1.desy.de/record/475429
https://bib-pubdb1.desy.de/search?p=id:%22PUBDB-2022-01339%22
Description
Summary:The IceCube Neutrino Observatory is a cubic kilometer neutrino detector located at the geographic South Pole designed to detect high-energy astrophysical neutrinos. To thoroughly understand the detected neutrinos and their properties, the detector response to signal and background has to be modeled using Monte Carlo techniques. An integral part of these studies are the optical properties of the ice the observatory is built into. The simulated propagation of individual photons from particles produced by neutrino interactions in the ice can be greatly accelerated using graphics processing units (GPUs). In this paper, we (a collaboration between NVIDIA and IceCube) reduced the propagation time per photon by a factor of up to 3 on the same GPU. We achieved this by porting the OpenCL parts of the program to CUDA and optimizing the performance. This involved careful analysis and multiple changes to the algorithm. We also ported the code to NVIDIA OptiX to handle the collision detection. The hand-tuned CUDA algorithm turned out to be faster than OptiX. It exploits detector geometry and only a small fraction of photons ever travel close to one of the detectors.