Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Using Numba for GPU acceleration of Neutron Beamline Digital Twins

Conference ·

Digital twins of neutron instruments using Monte Carlo ray tracing have proven to be useful in neutron data analysis and verifying instrument and sample designs. However, these simulations can become quite complex and computationally demanding with tens of billions of neutrons. In this paper, we present a GPU accelerated version of MCViNE using Python and Numba to balance user extensibility with performance. Numba is an open-source just-in-time (JIT) compiler for Python using LLVM to generate efficient machine code for CPUs and GPUs with NVIDIA CUDA. The JIT nature of Numba allowed complex instrument kernels to be generated easily. Initial simulations have shown a speedup between 200-1000x over the original CPU implementation. The performance gain with Numba enables more sophisticated data analysis and impacts neutron scattering science and instrument design.

Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1996672
Country of Publication:
United States
Language:
English

Similar Records

Evaluating performance and portability of high-level programming models: Julia, Python/Numba, and Kokkos on exascale nodes
Conference · Mon May 01 00:00:00 EDT 2023 · OSTI ID:1994693

GPU-accelerated DNS of compressible turbulent flows
Journal Article · Sun Nov 27 23:00:00 EST 2022 · Computers and Fluids · OSTI ID:1959502

Related Subjects