Невозможно установить mpi4py с помощью conda И указать предварительно установленный путь mpicc

Я попытался установить 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» был проигнорирован.

Действительно, после установки mpi4py с помощью mpich и попытки запустить следующий простой код с помощью 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

Как я могу заставить conda связать mpi4py с моим собственным mpicc? Его расположение устанавливается в переменной окружения PATH, а также в LD_LIBARY_PATH.

С наилучшими пожеланиями.


person Breno    schedule 03.04.2020    source источник


Ответы (1)


conda install извлекает предварительно скомпилированные бинарные пакеты и их зависимости из репозитория. Если вы хотите, чтобы mpi4py был собран с вашей собственной реализацией MPI, вместо этого используйте pip для установки из исходного кода. Вы можете использовать pip со средами Conda.

Изменить для завершения

Либо удалите все пакеты с помощью conda remove, а затем установите mpi4py с помощью pip (указав переменную среды MPICC для компилятора MPI C), ЛИБО начните с новой среды.

person Hristo Iliev    schedule 03.04.2020
comment
Спасибо, Христо Илиев! Ваш ответ не полностью решил мою проблему, но я смог найти на нем решение. - person Breno; 03.04.2020
comment
@Breno Ну, я предположил, что вы удалили пакеты conda или начали с новой среды. В любом случае, рад, что вам удалось его запустить. - person Hristo Iliev; 03.04.2020
comment
Я отредактировал ваш ответ с моим исправлением. Я подожду, пока редактирование будет одобрено, а затем удалю свой собственный ответ. Ваше здоровье! - person Breno; 04.04.2020