Tengo un código C para cómputo paralelo escrito para gcc
, y quiero compilarlo en un clúster, que aparentemente usa icc
a través de mpicc
. Corregir el código para que sea icc
-friendly parece exigir demasiado tiempo, por lo que me pregunto si puedo pedir OpenMPI
para usar gcc
en su lugar. No tengo los derechos de administrador en ese clúster, y preferiría no ensuciar la configuración original.Cómo forzar a OpenMPI a usar GCC en lugar de ICC? ¿Es necesario recompilar OpenMPI?
Si no es posible configurar, p. Makefile
, entonces podría compilar OpenMPI
en mi directorio de inicio, pero necesito alguna orientación sobre lo que debe hacerse después de eso. ¿Usted me podría ayudar?
Update1
El Makefile
contiene
CC = mpicc
CFLAGS += -DMPI
Y aquí están algunos archivos openmpi
$ which mpicc
/usr/bin/mpicc
lrwxr-xr-x /usr/bin/mpicc -> opal_wrapper
-rwxr-xr-x /usr/bin/opal_wrapper
que me haga saber, si puedo proporcionar más información.
Update2
Con la help of Jeff, yo era capaz de encontrar OpenMPI
ajustes para 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=
Sin embargo, no tengo los derechos para editar este archivo, y OPMI_CC = gcc
doesn' t cambiar el compilador.
Update3
variable ambiental CC = gcc
no ayuda
$ export CC=gcc
$ echo $CC
gcc
$ make clean $$ make
...icc:...errors
Update4
... pero export OMPI_CC=gcc
hace aleta ally help (thanks to sharth). Debería Recuerdo un día que son cosas diferentes ...
A pesar de que el binario fue creado, que tiene el siguiente mensaje de adiós
/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
'Makefile' tiene' CC = mpicc' y 'CFLAGS + = -DMPI'. De lo contrario, no obtengo la interfaz 'mpi'. ¿Es correcto? – Andrei
@Andrei: Esas no son variables ambientales.Usted los quiere, además de establecer las variables ambientales que sugerí arriba. –
Bien, veo mi error. Acabo de intentar como sugieres, y sigue siendo 'icc'. ¿Puede ser que pueda echarle un vistazo a la página sugerida por Jeff? ¿Hago lo que dice? – Andrei