Ho un codice C per il calcolo parallelo scritto per gcc
e desidero compilarlo su un cluster, che apparentemente utilizza icc
tramite mpicc
. Correggere il codice da icc
sembra troppo impegnativo per il tempo, quindi mi chiedo se posso chiedere allo OpenMPI
di usare gcc
. Non ho i diritti di amministratore su quel cluster e in realtà preferirei non modificare la configurazione originale.Come forzare OpenMPI ad usare GCC invece di ICC? È necessario ricompilare OpenMPI?
Se non è possibile impostare ad es. Makefile
, quindi potrei eventualmente compilare OpenMPI
nella mia home directory, ma ho bisogno di una guida su ciò che deve essere fatto dopo. Potresti aiutarmi?
Update1
Il Makefile
contiene
CC = mpicc
CFLAGS += -DMPI
e qui ci sono alcuni file openmpi
$ which mpicc
/usr/bin/mpicc
lrwxr-xr-x /usr/bin/mpicc -> opal_wrapper
-rwxr-xr-x /usr/bin/opal_wrapper
fatemi sapere, se posso fornire ulteriori informazioni.
UPDATE2
Con la help of Jeff, sono stato in grado di trovare OpenMPI
impostazioni per 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=
Tuttavia, non ho diritto di modificare questo file, e OPMI_CC = gcc
doesn' t cambia il compilatore.
Update3
variabile ambientale CC = gcc
non aiuta
$ export CC=gcc
$ echo $CC
gcc
$ make clean $$ make
...icc:...errors
Update4
... ma export OMPI_CC=gcc
fa pinna aiuto alleato (thanks to sharth). Dovrei uno giorno ricordo che queste sono cose diverse ...
Nonostante che il binario è stato creato, ho ricevuto il seguente messaggio di bye-bye
/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
'Makefile' ha' CC = mpicc' e 'CFLAGS + = -DMPI'. Altrimenti, non otterrò l'interfaccia 'mpi'. È corretto? – Andrei
@Andrei: Quelle non sono variabili ambientali.Tu vuoi quelli così come impostare le variabili ambientali che ho suggerito sopra. –
OK, vedo il mio errore. Ho appena provato come suggerisci, ed è ancora 'icc'. Potresti dare un'occhiata alla pagina suggerita da Jeff? Faccio come dice? – Andrei