У меня есть C-код для параллельных вычислений, написанный для gcc
, и я хочу скомпилировать его в кластере, который, очевидно, использует icc
через mpicc
. Исправление кода для удобства icc
кажется слишком трудоемким, поэтому мне интересно, могу ли я попросить OpenMPI
использовать вместо него gcc
. У меня нет прав администратора в этом кластере, и я бы предпочел не портить исходную конфигурацию.
Если невозможно установить, например, в. Makefile
, тогда, я надеюсь, я смогу скомпилировать OpenMPI
в своем домашнем каталоге, но мне нужно некоторое руководство в том, что должно быть сделано после этого. Не могли бы вы помочь мне?
Update1
Makefile
содержит
CC = mpicc
CFLAGS += -DMPI
А вот и некоторые файлы OpenMPI
$ which mpicc
/usr/bin/mpicc
lrwxr-xr-x /usr/bin/mpicc -> opal_wrapper
-rwxr-xr-x /usr/bin/opal_wrapper
Дайте мне знать, если я смогу предоставить вам больше информации.
UPDATE2
С помощью с помощью Джеффа я смог найти OpenMPI
настроек для mpicc
$ more /usr/local/share/openmpi/mpicc-wrapper-data.txt
project=Open MPI
project_short=OMPI
version=1.1.4
language=C
compiler_env=CC
compiler_flags_env=CFLAGS
compiler=icc
extra_includes= openmpi
preprocessor_flags=
compiler_flags=-pthread
linker_flags=
libs=-lmpi -lorte -lopal -ldl -Wl,--export-dynamic -lnsl -lutil -ldl
required_file=
Однако у меня нет прав на редактирование этого файла, и OPMI_CC = gcc
не меняет компилятор.
Update3
Переменная среды CC = gcc
не помогает
$ export CC=gcc
$ echo $CC
gcc
$ make clean $$ make
...icc:...errors
UPDATE4
... но export OMPI_CC=gcc
наконец-то помогает ( благодаря Шарту ). Я должен однажды вспомнить, что это разные вещи ...
Несмотря на то, что бинарный файл был создан, я получил следующее прощальное сообщение
/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail