无法使用 conda 安装 mpi4py 并指定预安装的 mpicc 路径

Cannot install mpi4py using conda AND specify pre-installed mpicc path

我尝试安装 mpi4py 有:

env MPICC=path/to/openmpi/bin/mpicc conda install -c anaconda mpi4py

但我收到这条消息:

The following NEW packages will be INSTALLED:
  mpi                anaconda/linux-64::mpi-1.0-mpich
  mpi4py             anaconda/linux-64::mpi4py-3.0.3-py37h028fd6f_0
  mpich              anaconda/linux-64::mpich-3.3.2-hc856adb_0

这似乎表明 "MPICC=path/to/openmpi/bin/mpicc" 被忽略了。

的确,在使用 mpich 安装 mpi4py 后,并尝试 运行 使用 mpirun -n 2 python mpi4pyTest.py 以下简单代码:

from mpi4py import MPI
comm = MPI.COMM_WORLD
size = comm.Get_size()
rank = comm.Get_rank()
print('Hello from processor {} of {}'.format(rank+1,size))

输出为:

Hello from processor 1 of 1
Hello from processor 1 of 1

如何使用我自己的 mpicc 将 conda 连接到 link mpi4py?它的位置在 PATH 环境变量中设置,以及 LD_LIBARY_PATH.

此致。

conda install 从存储库中提取预编译的二进制包及其依赖项。如果您希望 mpi4py 使用您自己的 MPI 实现构建,请改用 pip 从源安装。您可以在 Conda 环境中使用 pip

编辑完成

要么使用 conda remove 卸载所有包,然后使用 pip 安装 mpi4py(为您的 MPI C 编译器指定 MPICC 环境变量),或者从一个新环境开始。