EuroSciPy 2025

Michał Wroński

I am an undergraduate student at AGH University of Krakow on the Faculty of Physics and Applied Computer Science working on developing open-source MPI applications in physical simulations along with open-atmos contributors and developers.

Your pronouns:

he/him

Affiliation:

AGH University of Kraków


Session

08-21
14:05
30min
Numba-MPI & PyMPDATA: JIT-compilation and multi-threading for high performance computing in Python
Michał Wroński

Numba-MPI is a pure Python package providing wrappers for C MPI (Message Parsing Interface) API that can be used from Numba JIT (Just In Time)-compiled code. This allows large computational tasks to benefit from multi-threading, JIT-compilation and workload scaling on large computer clusters. Futhermore, numba-MPI implements both synchronous and asynchronous transfer functions from C MPI API. By embedding MPI communication in JIT-compiled code blocks, many algorithms are able to gain a susbtantial speedup.
PyMPDATA-MPI is a package providing multi-threading with MPI-based domain decomposition for PyMPDATA, a package implementing Multidimensional Positive Definite Advection Transport Algorithm (MPDATA) for solving advection-diffusion PDEs. Thanks to those features, PyMPDATA-MPI allows for flexibility in parallelization strategies. This gives the ability to specify the dimensions over which multi-threading and multi-processing are employed and to keep the performance benefits of JIT-compiled code. Both of those packages are actively developed on AGH University of Krakow.

Computational Tools and Scientific Python Infrastructure
Room 1.38 (Ground Floor)