Skip to content

mpiarray

MPI domain decomposition and distributed NumPy/CuPy arrays with halo exchange.

Like NumPy

mpa.array, mpa.zeros, mpa.arange, … create arrays split over the MPI ranks, with operators, ufuncs and reductions as in NumPy.

Halo cells

Optional halo cells per axis, updated from the neighbours for stencils or accumulated into them after particle deposition.

NumPy or CuPy

Arrays come from cunumpy, so the same code runs on the CPU or the GPU, with or without CUDA-aware MPI.

With or without MPI

Without an MPI launcher the same script runs serially, without mpi4py.