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

2024-01-03

我有一个用于并行计算的 C 代码,用于编写gcc,我想在集群上编译它,这显然使用icc via mpicc。将代码更正为icc-friend好像太费时间了,所以我想问一下OpenMPI to use gcc反而。我没有该集群的管理员权限,而且我实际上希望不要弄乱原始配置。

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


UPDATE1

The 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

随着杰夫的帮助 https://stackoverflow.com/questions/3353119/how-to-force-openmpi-to-use-gcc-instead-of-icc-is-recompiling-openmpi-necessary/3353941#3353941,我能够找到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不改变编译器。


UPDATE3

环境变量CC = gcc没有帮助

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

UPDATE4

...but export OMPI_CC=gcc最终有帮助(感谢夏斯 https://stackoverflow.com/questions/3353119/how-to-force-openmpi-to-use-gcc-instead-of-icc-is-recompiling-openmpi-necessary/3353285#3353285)。有一天我应该记住这些是不同的事情......

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐