Skip to content

Utilities for MPI-parallel numerical calculations with Python

License

Notifications You must be signed in to change notification settings

IMTEK-Simulation/NuMPI

Repository files navigation

NuMPI

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.

Build status

Tests Flake8

Installation

python3 -m pip install NuMPI

Development Installation

Clone the repository.

To use the code, use the env.sh script to set the environment:

source /path/to/NuMPI/env.sh

Testing

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/

Testing on the cluster

On NEMO for example

msub -q express -l walltime=15:00,nodes=1:ppn=20 NEMO_test_job.sh -m bea

Development & Funding

Development of this project is funded by the European Research Council within Starting Grant 757343 and by the Deutsche Forschungsgemeinschaft within project EXC 2193.

About

Utilities for MPI-parallel numerical calculations with Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •