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个进程执行我的程序.