У меня есть 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
С помощью Jeff я смог найти 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
действительно наконец помогает (благодаря sharth). Я должен однажды помнить, что это разные вещи...
Несмотря на это двоичный файл был создан, я добрался, следующие пока обмениваются сообщениями
/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
Попробуйте установить для переменной среды CC значение gcc.
csh: setenv CC gcc
bash: export CC=gcc