Enabling GPU Portability into the Numba-JITed Monte Carlo Particle Transport Code MC/DC

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Morgan, Joanna Piper, Cuneo, Braxton, Variansyah, Ilham, Niemeyer, Kyle E.
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866908383841353728
author Morgan, Joanna Piper
Cuneo, Braxton
Variansyah, Ilham
Niemeyer, Kyle E.
author_facet Morgan, Joanna Piper
Cuneo, Braxton
Variansyah, Ilham
Niemeyer, Kyle E.
contents The Center for Exascale Monte Carlo Neutron Transport is developing Monte Carlo / Dynamic Code (MC/DC) as a portable Monte Carlo neutron transport package for rapid numerical methods exploration on CPU- and GPU-based high-performance computers. In this paper, we describe MC/DC's current event-based GPU algorithm as well as the just-in-time (JIT) compilation scheme we use to enable GPU operability on Nvidia and AMD GPUs from MC/DC's Python source. To analyze performance, we conduct runtime tests of the C5G7 k-eigenvalue benchmark problem and a continuous-energy infinite pin cell on Nvidia Tesla V100 GPU, AMD MI250X GPU, and the AMD MI300A APU and make comparison to a dual-socket Intel Xeon Sapphire Rapid CPU node. We found that for the multi-group C5G7 benchmark problem, we respectively see a 15$\times$, 0.7$\times$, 12$\times$ speedup on a V100, MI250X, and MI300A over 112 Intel Xeon CPU cores. For the continuous-energy infinite pin-cell benchmark, we found speedups of 5$\times$, 3$\times$, 4$\times$ on a V100, MI250X, and MI300A, respectively, over the same CPU node.
format Preprint
id arxiv_https___arxiv_org_abs_2501_05440
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Enabling GPU Portability into the Numba-JITed Monte Carlo Particle Transport Code MC/DC
Morgan, Joanna Piper
Cuneo, Braxton
Variansyah, Ilham
Niemeyer, Kyle E.
Computational Physics
The Center for Exascale Monte Carlo Neutron Transport is developing Monte Carlo / Dynamic Code (MC/DC) as a portable Monte Carlo neutron transport package for rapid numerical methods exploration on CPU- and GPU-based high-performance computers. In this paper, we describe MC/DC's current event-based GPU algorithm as well as the just-in-time (JIT) compilation scheme we use to enable GPU operability on Nvidia and AMD GPUs from MC/DC's Python source. To analyze performance, we conduct runtime tests of the C5G7 k-eigenvalue benchmark problem and a continuous-energy infinite pin cell on Nvidia Tesla V100 GPU, AMD MI250X GPU, and the AMD MI300A APU and make comparison to a dual-socket Intel Xeon Sapphire Rapid CPU node. We found that for the multi-group C5G7 benchmark problem, we respectively see a 15$\times$, 0.7$\times$, 12$\times$ speedup on a V100, MI250X, and MI300A over 112 Intel Xeon CPU cores. For the continuous-energy infinite pin-cell benchmark, we found speedups of 5$\times$, 3$\times$, 4$\times$ on a V100, MI250X, and MI300A, respectively, over the same CPU node.
title Enabling GPU Portability into the Numba-JITed Monte Carlo Particle Transport Code MC/DC
topic Computational Physics
url https://arxiv.org/abs/2501.05440