Webinar

Rapid Development of a High-Performance Applications using Python

Series: HPC Best Practices Webinars

Scientific research codes running problems that demand HPC have a human resources problem: the physicist/engineer who develops numerical methods, and the software engineer who develops HPC code for CPUs and GPUs, are the same person. This often means implementing novel numerical methods for HPC applications can take years to implement and test at scale. In this talk we describe how we used Python, Numba, and our own in house event scheduling software to separate the numerical methods developer from the software engineering. We will detail our JIT compilation structure for CPUs and GPUs (both NVIDIA and AMD), technical roadblocks, and lessons learned from this software engineering scheme in the development of the MC/DC Monte Carlo neutronics code. We will also briefly mention how this workflow (conceived and designed before the broad acceptance of LLM) fits into a research environment increasingly supported by AI tools.

Presenter

Presenter Bio

Joanna Morgan is a post-doctoral scholar at LLNL designing critical nuclear experiments for nuclear data and code validation. Before starting at LLNL, she was a PhD student developing MC/DC at Oregon State University. Joanna’s research include methods development (both deterministic (SN) and Monte Carlo simulations) for the time dependent radiation transport equation, verification and validation, and open-source software development. See more at https://jpmorgan98.github.io/.