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

Viewed 4875

I have tried installing mpi4py with:

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

But I get this message:

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

Which seems to show that "MPICC=path/to/openmpi/bin/mpicc" was ignored.

Indeed, after installing mpi4py with mpich, and trying to run the following simple code with 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))

The output is:

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

How can I get conda to link mpi4py with my own mpicc? Its location is setup in PATH environment variable, as well as LD_LIBARY_PATH.

Best regards.

1 Answers

conda install pulls precompiled binary packages and their dependencies from the repository. If you want mpi4py built with your own MPI implementation, use pip instead to install from source. You can use pip with Conda environments.

Edit for completion

Either uninstall all packages using conda remove and then install mpi4py using pip (specifying the MPICC environment variable to your MPI C complier), OR start with a new environment.

Related