We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Formal Metadata

Title
numba-mpi
Subtitle
Numba @njittable MPI wrappers tested on Linux, macOS and Windows
Title of Series
Number of Parts
542
Author
Contributors
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
We introduce the numba-mpi project, which offers access to the C language Message Passing Interface (MPI) routines from within Numba-JIT-compiled Python code. As a result, high-performance LLVM-accelerated Python code may use MPI communication facilities without leaving the "nopython" mode (still being usable, e.g. for debugging purposes, with the JIT compilation disabled). The numba-mpi API constitutes a thin wrapper around the MPI C API and is built around the Numpy arrays including handling of non-contiguous views over Numpy array slices. The package is implemented in pure Python and depends on numpy, numba and mpi4py (the last dependency is used at initialisation only). Package releases are available on PyPI (https://pypi.org/p/numba-mpi/) and Conda Forge (https://anaconda.org/conda-forge/numba-mpi). Project development is hosted at Github leveraging the mpi4py/setup-mpi workflow enabling continuous integration tests on Linux (MPICH, OpenMPI & Intel MPI), macOS (MPICH & OpenMPI) and Windows (MS MPI). Auto-generated docstring-based API docs are maintained at: https://numba-mpi.github.io/numba-mpi. The project is in continuous development (size/rank, send/recv, allreduce, bcast & barrier available and covered by unit tests as of time of writing). We welcome feedback and contributions.