跳转到主要内容

MPI的Python绑定

项目描述

本包为 消息传递接口 (MPI) 标准提供了 Python 绑定。它基于 MPI 规范实现,并公开了一个基于标准 MPI-2 C++ 绑定的 API。

特性

本包支持以下功能:

  • 方便地通信任何 可序列化 的 Python 对象

    • 点对点(发送 & 接收)

    • 集体操作(广播、散列 & 收集、规约)

  • 快速通信暴露 Python 缓冲区接口 的 Python 对象(NumPy 数组、内置的字节/字符串/数组对象)

    • 点对点(阻塞/非阻塞/持久发送 & 接收)

    • 集体操作(广播、块/向量散列 & 收集、规约)

  • 进程组和通信域

    • 创建新的内部/外部通信器

    • 笛卡尔 & 图拓扑

  • 并行输入/输出

    • 读写

    • 阻塞/非阻塞 & 集体/非集体

    • 单个/共享文件指针 & 显式偏移量

  • 动态进程管理

    • 创建 & 创建多个

    • 接受/连接

    • 名称发布 & 查找

  • 单方面操作

    • 远程内存访问(存储、检索、累加)

    • 被动目标同步(启动/完成 & 后置/等待)

    • 主动目标同步(锁定 & 解锁)

安装

使用 pip

您可以使用 pip 从其源分布包(位于 PyPI)安装最新的 mpi4py 版本。

$ python -m pip install mpi4py

您也可以使用以下方法安装开发版本:

$ python -m pip install git+https://github.com/mpi4py/mpi4py

$ python -m pip install https://github.com/mpi4py/mpi4py/tarball/master

使用 conda

conda-forge 社区提供了一组不断增长的软件库的二进制包,这些库是围绕多平台 conda 包管理器构建的。conda-forge 提供了四种 MPI 实现:Open MPI(Linux 和 macOS)、MPICH(Linux 和 macOS)、Intel MPI(Linux 和 Windows)以及 Microsoft MPI(Windows)。您可以使用 conda 包管理器安装 mpi4py 和您首选的 MPI 实现

  • 要使用 MPICH,请执行:

    $ conda install -c conda-forge mpi4py mpich
  • 要使用 Open MPI,请执行:

    $ conda install -c conda-forge mpi4py openmpi
  • 要使用 Intel MPI,请执行:

    $ conda install -c conda-forge mpi4py impi_rt
  • 要使用 Microsoft MPI,请执行:

    $ conda install -c conda-forge mpi4py msmpi

MPICH 和其许多衍生品都是 ABI 兼容的。您可以通过提供包规范 mpich=X.Y.*=external_*(其中 XY 是主版本号和次版本号)来请求 conda 包管理器使用系统提供的 MPICH(或衍生品)库。类似地,您也可以提供包规范 openmpi=X.Y.*=external_* 来使用系统提供的 Open MPI 库。

conda-forge 上的 openmpi 包内置了 CUDA 支持,但默认情况下是禁用的。要启用它,请遵循 conda install 期间概述的说明。此外,一旦安装了 ucx 包,也提供了 UCX 支持。

Linux

Fedora Linux系统(以及使用EPEL软件仓库的RHEL及其衍生版本)上,您可以使用系统包管理器使用dnfmpich软件包安装二进制软件包

  • 使用dnfmpich软件包

    $ sudo dnf install python3-mpi4py-mpich
  • 使用dnfopenmpi软件包

    $ sudo dnf install python3-mpi4py-openmpi

请记住,为您的选择MPI实现加载正确的MPI模块

  • 对于mpich软件包,请

    $ module load mpi/mpich-$(arch)
    $ python -c "from mpi4py import MPI"
  • 对于openmpi软件包,请

    $ module load mpi/openmpi-$(arch)
    $ python -c "from mpi4py import MPI"

Ubuntu LinuxDebian Linux系统上,可以使用系统包管理器安装二进制软件包

$ sudo apt install python3-mpi4py

请注意,在Ubuntu/Debian系统上,mpi4py软件包使用Open MPI。要使用MPICH,请安装libmpich-devpython3-dev软件包(以及其他所有必需的开发工具)。之后,使用pip从源代码安装mpi4py。

macOS

macOS用户可以使用Homebrew软件包管理器安装mpi4py

$ brew install mpi4py

请注意,Homebrew的mpi4py软件包使用Open MPI。或者,安装mpich软件包,然后使用pip从源代码安装mpi4py。

Windows

Windows用户可以使用pip从Python包索引(PyPI)上提供的二进制wheels安装mpi4py

$ python -m pip install mpi4py

PyPI上可用的Windows wheels专门设计为与Intel MPIMicrosoft MPI运行时一起工作,因此需要单独安装这些软件包之一。

Intel MPI正在积极开发中,并支持最新的MPI标准。Intel MPI可以使用pip安装(请参阅PyPI上的impi-rt软件包),因此可以轻松地在Python环境中启动并运行。Intel MPI还可以作为Windows的Intel HPC Toolkit的一部分进行系统级安装,或者通过独立的在线/离线安装程序进行安装。

引用

如果Python的MPI对导致学术出版物的一个项目具有重要意义,请通过引用该项目来确认这一事实。

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

mpi4py-4.0.0.tar.gz (464.8 kB 查看散列值)

上传时间 源代码

构建的分发

mpi4py-4.0.0-pp310-pypy310_pp73-win_amd64.whl (1.6 MB 查看散列值)

上传时间 PyPy Windows x86-64

mpi4py-4.0.0-pp39-pypy39_pp73-win_amd64.whl (1.6 MB 查看散列值)

上传时间 PyPy Windows x86-64

mpi4py-4.0.0-pp38-pypy38_pp73-win_amd64.whl (1.7 MB 查看散列值)

上传时间 PyPy Windows x86-64

mpi4py-4.0.0-pp37-pypy37_pp73-win_amd64.whl (1.7 MB 查看散列值)

上传时间 PyPy Windows x86-64

mpi4py-4.0.0-cp312-cp312-win_amd64.whl (1.7 MB 查看散列值)

上传时间 CPython 3.12 Windows x86-64

mpi4py-4.0.0-cp311-cp311-win_amd64.whl (1.6 MB 查看散列值)

上传时间 CPython 3.11 Windows x86-64

mpi4py-4.0.0-cp310-cp310-win_amd64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

mpi4py-4.0.0-cp39-cp39-win_amd64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

mpi4py-4.0.0-cp38-cp38-win_amd64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

mpi4py-4.0.0-cp37-cp37m-win_amd64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.7m Windows x86-64

mpi4py-4.0.0-cp36-cp36m-win_amd64.whl (1.8 MB 查看哈希值)

上传时间 CPython 3.6m Windows x86-64

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面