Package that supports mpi tests in pytest
Project description
Welcome to the pytest-easyMPI package!
This package aims at making MPI code testing as similar to testing regular serial code as possible. In doing so hopefully the users of this plugin can focus more on writing tests of their MPI code and spend less time figuring out how to integrate MPI tests into their other test cases.
Short example
The following shows an example of how to combine a serial and a parallel test in a single test file. The parallel test is run using 4 MPI ranks:
from pytest_easyMPI import mpi_parallel
def test_serial():
assert True
@mpi_parallel(4)
def test_parallel():
# Import MPI only inside the test that needs it
# (to avoid spawning too many MPI communicators)
from mpi4py import MPI
data = MPI.COMM_WORLD.gather(MPI.COMM_WORLD.Get_rank())
if MPI.COMM_WORLD.Get_rank() == 0:
assert sum(range(MPI.COMM_WORLD.Get_size())) == sum(data)
The test can then be run by calling:
pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytest-easyMPI-0.0.1.tar.gz
(9.0 kB
view details)
File details
Details for the file pytest-easyMPI-0.0.1.tar.gz
.
File metadata
- Download URL: pytest-easyMPI-0.0.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d664cbc12643c37307ad5be1ded83145ec2b2b0d2686edaed7d5178661cd2d67 |
|
MD5 | 166f25125b296d18b4483a2d6a953852 |
|
BLAKE2b-256 | c8a7378664b4f9bf9f059f43d8fe8eb6ca726be7c93a7fcccc5018605ac143be |