MPI:更改CMakelists中的处理器数量

Joe*_*oey 7 c++ mpi mpich clion

我正在使用CLion.我的CMakeLists.txt看起来像这样:

cmake_minimum_required(VERSION 3.2)

project(MPI)

add_executable(MPI main.cpp)

# Require MPI for this project:
find_package(MPI REQUIRED)

set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS})
set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS})

include_directories(MPI_INCLUDE_PATH)
target_link_libraries(MPI ${MPI_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

MPI - Hello World运行良好.但是,如何更改cmakelists中的处理器数量?

我已经尝试将-np 4和-n 4添加到CLion中的程序参数中.但我还是得到了

Hello World进程0 of 1

Mic*_*ahl 12

您无法指定要在CMakeLists.txt中使用的进程数.进程数是使用mpirun执行程序时指定的参数.

要编译mpi C项目,我使用以下CMakeLists.txt

cmake_minimum_required(VERSION 3.3)
project(hellompi)

find_package(MPI REQUIRED)
include_directories(${MPI_INCLUDE_PATH})

SET(CMAKE_C_COMPILER mpicc)
SET(CMAKE_CXX_COMPILER mpicxx)

set(SOURCE_FILES main.c)
add_executable(hellompi ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)

为了从Clion执行程序,我首先更改了(隐藏) Clion默认输出编译文件的位置.您可以在"构建,执行和部署" - >"CMake"中的设置下为已编译文件指定其他位置.我刚把它改成了项目文件夹.

接下来我编辑了运行配置."运行" - >"编辑配置" - >将可执行文件设置为mpirun.(机器上mpirun的位置)

接下来我编辑了"程序参数"

-np 4 /home/mitzh/ClionProjects/hellompi/Debug/hellompi
Run Code Online (Sandbox Code Playgroud)

使用4个进程执行我的程序.

  • 这个答案的诺贝尔奖 (2认同)