我有一个为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
请参阅https://www.open-mpi.org/faq/?category=mpi-apps#override-wrappers-after-v1.0 。
尝试将环境变量CC设置为gcc。
需要了解更多c/c++开发分享如何强制OpenMPI使用GCC而不是ICC? 是否需要重新编译OpenMPI?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!
csh: setenv CC gcc bash: export CC=gcc
以上就是c/c++开发分享如何强制OpenMPI使用GCC而不是ICC? 是否需要重新编译OpenMPI?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/979115.html