8

我有一个为 编写的用于并行计算的 C 代码,我想在一个显然使用viagcc的集群上编译它。将代码更正为-friendly 似乎太费时间了,所以我想知道是否可以要求改用。我没有该集群的管理员权限,实际上我更希望不要弄乱原始配置。iccmpicciccOpenMPIgcc

如果无法在 eg 中进行设置Makefile,那么我希望可以OpenMPI在我的主目录中进行编译,但我需要一些关于之后必须做什么的指导。你可以帮帮我吗?


更新1

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

让我知道,如果我可以为您提供更多信息。


更新2

Jeff 的帮助下OpenMPI,我能够找到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=

但是,我无权编辑此文件,OPMI_CC = gcc也没有更改编译器。


更新3

环境变量CC = gcc没有帮助

$ export CC=gcc
$ echo $CC
gcc
$ make clean $$ make
...icc:...errors

更新4

...但export OMPI_CC=gcc最终确实有所帮助(感谢 sharth)。总有一天我应该记住这些是不同的东西......

尽管创建了二进制文件,但我收到了以下再见消息

/opt/intel/fce/9.1.036/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
4

2 回答 2

6

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

于 2010-07-28T14:35:40.023 回答
2

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

csh:  setenv CC gcc
bash: export CC=gcc
于 2010-07-28T13:26:54.307 回答