我应该如何使用 CMake 构建 MPI C++ 程序?

Posted

技术标签:

【中文标题】我应该如何使用 CMake 构建 MPI C++ 程序?【英文标题】:How should I build MPI C++ programs with CMake? 【发布时间】:2021-12-23 01:07:06 【问题描述】:

我以前没有使用过 MPI - 坦率地说,我现在并没有真正使用它,但我需要将构建 MPI 程序的 Makefile 转换为 CMakeLists.txt 用于我的项目的子目录。我想知道如何做到这一点,因为显然习惯于为 MPI C++ 程序调用不同的编译器 (mpic++)。

我应该如何使用 CMake 构建 MPI 程序?

【问题讨论】:

【参考方案1】:

好像没那么复杂:

find_package(MPI REQUIRED)
add_executable(foo foo.cpp)
target_link_libraries(foo MPI::MPI_CXX)

但您可能仍需要使用mpi_run 来运行您的程序。

我仍然不确定 mpic++ 的使用。 this question 的公认答案声称它只是一个包装脚本,但是 - 它不是我系统上的一个包装脚本。

【讨论】:

以上是关于我应该如何使用 CMake 构建 MPI C++ 程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用CMake构建c++项目

NetBeans 6.9、CMake 和 C++:如何指定构建路径?

如何在自制软件上使用 mpi 支持来构建提升?

CMake configure_file没有源代码构建

CMake构建后如何在c ++库中运行示例

使用 CMake 在面向 Linux 的 Windows 下跨平台构建