Abstract

The Liquid Argon Time Projection Chamber (LArTPC) technology plays an essential role in many current and future neutrino experiments. Accurate and fast simulation is critical to developing efficient analysis algorithms and precise physics model projections. The speed of simulation becomes more important as Deep Learning algorithms are getting more widely used in LArTPC analysis and their training requires a large simulated dataset. Heterogeneous computing is an efficient way to delegate computationally intensive tasks to specialized hardware. However, as the landscape of compute accelerators quickly evolves, it becomes increasingly difficult to manually adapt the code to the latest hardware or software environments. A solution which is portable to multiple hardware architectures without substantially compromising performance would thus be very beneficial, especially for long-term projects such as the LArTPC simulations. In search of a portable, scalable and maintainable software solution for LArTPC simulations, we have started to explore high-level portable programming frameworks that support several hardware backends. In this paper, we present our experience porting the LArTPC simulation code in the Wire-Cell Toolkit to NVIDIA GPUs, first with the CUDA programming model and then with a portable library called Kokkos. Preliminary performance results on NVIDIA V100 GPUs and multi-core CPUs are presented, followed by a discussion of the factors affiecting the performance and plans for future improvements.

Highlights

  • The Liquid Argon (LAr) Time Projection Chamber (LArTPC) is a key detector technology that is widely used in neutrino physics [1,2,3,4]

  • Before adopting Kokkos in Wire-Cell, we evaluated the potential of using NVIDIA graphical processing units (GPUs) to accelerate the signal simulation using CUDA

  • If we remove the random number generator (RNG) from ref-CPU, we obtain the results shown in the third row, which indicates that using a GPU degrades the performance

Read more

Summary

Introduction

The Liquid Argon (LAr) Time Projection Chamber (LArTPC) is a key detector technology that is widely used in neutrino physics [1,2,3,4] Both scintillation light and ionization electrons are created when charged particles traverse the LAr medium. The scintillation light can provide neutrino-interaction timing information while the detection of ionization electrons affords high-resolution position and energy information. Simulating such detector responses is difficult due to the highly diverse event topologies that occur in LArTPCs. The large number of disparate data patterns is (in part) responsible for the rising popularity in the neutrino community of deep-learning algorithms, which are capable of processing such data volumes.

LArTPC Simulation
Algorithm for signal simulation
Programming model and language
Initial Porting with CUDA
Introduction to Kokkos
Software infrastructure to support Kokkos porting
Containerized development and production
Framework development
Charge rasterisation kernel
Preliminary benchmark results
Future Plans
Summary
Full Text
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

Schedule a call