2010-07-28 18 views
6

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 

risposta

2

provare a impostare la variabile CC ambientale gcc.

csh: setenv CC gcc 
bash: export CC=gcc 
+0

'Makefile' ha' CC = mpicc' e 'CFLAGS + = -DMPI'. Altrimenti, non otterrò l'interfaccia 'mpi'. È corretto? – Andrei

+1

@Andrei: Quelle non sono variabili ambientali.Tu vuoi quelli così come impostare le variabili ambientali che ho suggerito sopra. –

+0

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

Problemi correlati