The python module pypar.py and the C-extension mpi.c
implements scalable parallelism on distributed and shared
memory architectures using the essential subset of
the Message Passing Interface (MPI) standard.
- Python interpreter is not modified:
Parallel python programs need only import the pypar module.
- Flexibility: Pypar allows communication of general Python objects
of any type.
- Intuitive API:
The user need only specify what to send and to which processor.
Pypar takes care of details about
data types and MPI specifics such as tags, communicators and buffers.
Receiving is analogous.
Full bandwidth of C-MPI programs is achieved for consecutive Numerical
arrays. Latency is less than twice that of pure C-MPI programs.
Test programs to verify this are included (pytiming, ctiming.c)
Pypar consists of just two files: mpiext.c and pypar.py