如何强制OpenMPI使用GCC而不是ICC? 是否需要重新编译OpenMPI?

我有一个为gcc编写的并行计算的C代码,我想在一个集群上编译它,显然它通过mpicc使用icc 。 将代码更改为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的帮助下 ,我能够找到mpicc OpenMPI设置

 $ 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 

请参阅http://www.open-mpi.org/faq/?category=mpi-apps#override-wrappers-after-v1.0 。

尝试将环境变量CC设置为gcc。

 csh: setenv CC gcc bash: export CC=gcc