Skip to main content

MPI for Python

Project description

This package provides Python bindings for the Message Passing Interface (MPI) standard. It is implemented on top of the MPI-1/MPI-2 specification and exposes an API which grounds on the standard MPI-2 C++ bindings.

This package supports:

  • Convenient communication of any picklable Python object
    • point-to-point (send & receive)
    • collective (broadcast, scatter & gather, reduction)
  • Fast communication of Python object exposing the Python buffer interface (NumPy arrays, builtin bytes/string/array objects)
    • point-to-point (blocking/nonbloking/persistent send & receive)
    • collective (broadcast, block/vector scatter & gather, reduction)
  • Process groups and communication domains
    • Creation of new intra/inter communicators
    • Cartesian & graph topologies
  • Parallel input/output:
    • read & write
    • blocking/nonbloking & collective/noncollective
    • individual/shared file pointers & explicit offset
  • Dynamic process management
    • spawn & spawn multiple
    • accept/connect
    • name publishing & lookup
  • One-sided operations (put, get, accumulate)

You can install the in-development version of mpi4py with:

$ pip install mpi4py==dev

or:

$ easy_install mpi4py==dev

Project details


Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page