Wie kann OpenMPI gezwungen werden, GCC anstelle von ICC zu verwenden? Ist eine Neukompilierung von OpenMPI erforderlich?
Ich habe einen C-Code für paralleles Rechnen geschrieben fürgcc
, und ich möchte es auf einem Cluster kompilieren, der anscheinend @ verwendicc
viampicc
. Korrigieren des Codes alsicc
-freundlich scheint zu zeitaufwändig zu sein, also frage ich mich, ob ich @ fragen kaOpenMPI
benutzengcc
stattdessen. Ich habe keine Administratorrechte für diesen Cluster und würde es eigentlich vorziehen, die ursprüngliche Konfiguration nicht durcheinander zu bringen.
Wenn es nicht möglich ist, z.Makefile
, dann könnte ich hoffentlich @ kompilierOpenMPI
in meinem Home-Verzeichnis, aber ich brauche eine Anleitung, was danach zu tun ist. Kannst du mir helfen
UPDATE1
DasMakefile
enthält
CC = mpicc
CFLAGS += -DMPI
Und hier sind einige OpenMPI-Dateien
$ which mpicc
/usr/bin/mpicc
lrwxr-xr-x /usr/bin/mpicc -> opal_wrapper
-rwxr-xr-x /usr/bin/opal_wrapper
Lassen Sie mich wissen, ob ich Ihnen weitere Informationen geben kann.
UPDATE2
Mit dem Hilfe von Jeff, Ich konnte @ findOpenMPI
Einstellungen fürmpicc
$ 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=
Ich habe jedoch keine Rechte zum Bearbeiten dieser Datei undOPMI_CC = gcc
ändert den Compiler nicht.
UPDATE3
UmgebungsvariableCC = gcc
hilft nicht
$ export CC=gcc
$ echo $CC
gcc
$ make clean $ make
...icc:...errors
UPDATE4
...aberexport OMPI_CC=gcc
hilft endlich Danke an Sharth). Ich sollte eines Tages daran denken, dass dies verschiedene Dinge sind ...
Trotzdem die Binärdatei erstellt wurde, erhalte ich die folgende Bye-Bye-Nachricht
/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail