NuMPI is a collection of numerical tools for MPI-parallelized Python codes. NuMPI presently contains:
- An (incomplete) stub implementation of the mpi4py interface to the MPI libraries. This allows running serial versions of MPI parallel code without having
mpi4py
(and hence a full MPI stack) installed. - Parallel file IO in numpy's .npy format using MPI I/O.
- An MPI-parallel implementation of the L-BFGS optimizer.
- An MPI-parallel bound constrained conjugate gradients algorithm.
python3 -m pip install NuMPI
Clone the repository.
To use the code, use the env.sh script to set the environment:
source /path/to/NuMPI/env.sh
You have to do a development installation to be able to run the tests.
We use runtests.
From the main installation directory:
python run-tests.py
If you want to use NuMPI without mpi4py, you can simply run the tests with pytest.
pytest tests/
On NEMO for example
msub -q express -l walltime=15:00,nodes=1:ppn=20 NEMO_test_job.sh -m bea
Development of this project is funded by the European Research Council within Starting Grant 757343 and by the Deutsche Forschungsgemeinschaft within project EXC 2193.