Skip to main content

MPI for Python

Project description

This package provides MPI support for Python scripting in parallel environments. It is constructed on top of the MPI-1/MPI-2 specification, but provides an object oriented interface which closely follows the MPI-2 C++ bindings.

This module supports point-to-point (send, receive) and collective (broadcast, scatter, gather, reduction) communications of any picklable Python object.

For objects exporting single-segment buffer interface (strings, NumPy arrays, etc.), blocking/nonbloking/persistent point-to-point, collective and one-sided (put, get, accumulate) communications are fully supported, as well as parallel I/O (blocking and nonbloking, collective and noncollective read and write operations using explicit file offsets, individual file pointers and shared file pointers).

There is also full support for group and communicator (inter, intra, Cartesian and graph topologies) creation and management, as well as creating user-defined datatypes. Additionally, there is almost complete support for dynamic process creation and management (spawn, name publishing).

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