Presenter
Jonathan Madsen
Biography
Jonathan Madsen is currently a Principal Member of Technical Staff at AMD in the Research Division. In this role, Jonathan is responsible for improving existing performance analysis tools and creating new methodologies for performance analysis for applications executing on heterogeneous architectures.
Jonathan was formerly a member of the Application Performance Group at Lawrence Berkeley National Lab in the National Energy Research Scientific Computing Center (NERSC) responsible for improving scientific throughput through optimization and migration of software to new architectures (e.g. GPUs). He focused on heterogeneous high-performance computing using C/C++, Python, MPI, CUDA, HIP, and Kokkos along with the development of generic tool called timemory for performance measurements, portability monitoring, and analyzing highly parallel runtimes. He worked on four projects for the DOE's Exascale Computing Project (ECP): Kokkos, GeantX, Exabiome, and Containers for HPC. During his time as a post-doc at NERSC, he migrated a tomographic reconstruction code, TomoPy, to offload computations to the GPU and increased the scientific throughput by a factor exceeding 215x on 8 GPUs vs. the Edison supercomputer -- e.g. a reduction of ~6.5 hours to ~110 seconds.
Jonathan is also a developer for the Monte Carlo particle transport code Geant4, which is used in high-energy physics, space radiation, and medical physics, and serves as the Deputy Working Group Coordinator for the Run, Event, and Detector Responses Working Group and the Deputy Coordinator of the R&D Task Force. Major contributions include: rewriting the multi-threading (MT) model to utilize C++11 threading API (enabling MT on Windows), rewriting the MT model to support tasking (including a TBB compatibility mode), and built-in, customizable high-level performance monitoring via timemory.
Jonathan was formerly a member of the Application Performance Group at Lawrence Berkeley National Lab in the National Energy Research Scientific Computing Center (NERSC) responsible for improving scientific throughput through optimization and migration of software to new architectures (e.g. GPUs). He focused on heterogeneous high-performance computing using C/C++, Python, MPI, CUDA, HIP, and Kokkos along with the development of generic tool called timemory for performance measurements, portability monitoring, and analyzing highly parallel runtimes. He worked on four projects for the DOE's Exascale Computing Project (ECP): Kokkos, GeantX, Exabiome, and Containers for HPC. During his time as a post-doc at NERSC, he migrated a tomographic reconstruction code, TomoPy, to offload computations to the GPU and increased the scientific throughput by a factor exceeding 215x on 8 GPUs vs. the Edison supercomputer -- e.g. a reduction of ~6.5 hours to ~110 seconds.
Jonathan is also a developer for the Monte Carlo particle transport code Geant4, which is used in high-energy physics, space radiation, and medical physics, and serves as the Deputy Working Group Coordinator for the Run, Event, and Detector Responses Working Group and the Deputy Coordinator of the R&D Task Force. Major contributions include: rewriting the multi-threading (MT) model to utilize C++11 threading API (enabling MT on Windows), rewriting the MT model to support tasking (including a TBB compatibility mode), and built-in, customizable high-level performance monitoring via timemory.
Committee Roles
SC Workshop Committee Member: ProTools