Home

Awesome

Passing an MPI communicator from mpi4py to Rust rsmpi

This small example demonstrates how to pass a communicator from Python to Rust and use it with rsmpi from within Rust.

It is developed so that maturin can automatically generate the correct cffi bindings. To compile just call

maturin develop -b cffi

This compiles the Rust part, generates a pip module and installs the pip module. To execute the code create a small file called say_rank.py which contains

from mpi4py_with_rsmpi import say_rank, COMM

say_rank(COMM)

and call it for example with

mpirun -n 4 python say_rank.py

This will initialize the MPI system within Python. But the rank of each process is printed out from Rust with rsmpi.