首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMake :选择mpich而不是openmpi

CMake :选择mpich而不是openmpi
EN

Stack Overflow用户
提问于 2018-08-25 18:34:42
回答 2查看 1.3K关注 0票数 1

我使用的是cmake 3.10.2。我已经安装了openmpi和mpich。然而,我只需要加载mpich。因此,我从文档中找到了以下内容

MPI

_

可执行文件

_

后缀

附加到正在查找的所有名称的后缀。例如,您可以将其设置为.mpich或.openmpi,以便在Debian及其衍生工具上优先选择其中一个。

我的CMake文件是这样的

代码语言:javascript
复制
set(MPI_EXECUTABLE_SUFFIX ".mpich")
FIND_PACKAGE(MPI REQUIRED)
INCLUDE_DIRECTORIES(${MPI_INCLUDE_DIRS})
LINK_DIRECTORIES(${MPI_LIBRARY_DIRS})
message(${MPI_INCLUDE_PATH})

然而,这显示了

代码语言:javascript
复制
/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/usr/lib/x86_64-linux-gnu/openmpi/include...

我哪里错了?你能帮我弄一下这个吗?

还有

代码语言:javascript
复制
mpicc -show
gcc -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include -I/usr/lib/x86_64-linux-gnu/openmpi/include -pthread -L/usr//lib -L/usr/lib/x86_64-linux-gnu/openmpi/lib -lmpi

mpicc.mpich -show
gcc -Wl,-Bsymbolic-functions -Wl,-z,relro -I/usr/include/mpich -L/usr/lib/x86_64-linux-gnu -lmpich
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-30 09:57:35

默认的mpicc不是您的选择。您可以在cmake文件中手动指定它,或者使用默认mpicc之前包含的mpicc更新$PATH变量。我个人将mpich安装在/usr/local/目录中。问候

票数 1
EN

Stack Overflow用户

发布于 2021-02-24 23:17:58

最好的方法是使用模块在openmpi和mpich之间切换:

代码语言:javascript
复制
$ module load mpich
$ module unload mpich  
$ module load openmpi

http://modules.sourceforge.net/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52016418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档