Single-precision floating-point support for GPU acceleration in VecGeom

Description

The VecGeom project aims at developing a high-performance library for geometry modeling, describing geometry in terms of 3D solid primitives. Fast geometry queries are crucial in high energy physics (HEP) detector simulations. The VecGeom library provides vectorized implementations of ray-solid intersection algorithms and other functionality that make use of fine-grain SIMD and SIMT parallelism.

VecGeom is being used as a geometry backend engine in Geant4 for CPU-based particle detector simulation applications, but also in prototypes aiming to accelerate such applications on GPUs. VecGeom currently only supports double-precision arithmetics, while most of the simulation input parameters in standard setups are known with much lower precision. In particular, geometry algorithms can be substantially accelerated on commodity GPUs by using single precision.

The project proposes an analysis of the numerical instability due to single-precision round-off error divergence for existing geometry algorithms. We will use a single-precision, GPU-enabled VecGeom build, and we expect the implementation of stability fixes for a few major use cases.

Task ideas

We propose the following steps:

Technology

Desirable Skills

Expected results

Mentors

  1. VecGeom Gitlab Repository
  2. Geant4 Simulation Toolkit
  3. AdePT Gitlab Repository
  4. Round-of error in Wikipedia

Corresponding Project

Participating Organizations