1. Performance Portable Monte Carlo Neutron Transport in MCDC via Numba
- Author
-
Morgan, Joanna Piper, Variansyah, Ilham, Cuneo, Braxton, Palmer, Todd S., and Niemeyer, Kyle E.
- Subjects
Physics - Computational Physics - Abstract
Finding a software engineering approach that allows for portability, rapid development, open collaboration, and performance for high performance computing on GPUs and CPUs is a challenge. We implement a portability scheme using the Numba compiler for Python in Monte Carlo / Dynamic Code (MC/DC), a new neutron transport application for rapid Monte Carlo methods development. Using this scheme, we have built MC/DC as a single source, single language, single compiler application that can run as a pure Python, compiled CPU, or compiled GPU solver. In GPU mode, we use Numba paired with an asynchronous GPU scheduler called Harmonize to increase GPU performance. We present performance results for a time-dependent problem on both the CPU and GPU and compare them to a production code., Comment: 11 pages, 5 figures
- Published
- 2024