我正在使用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})
MPI – Hello World运行良好.但是,如何更改cmakelists中的处理器数量?
我已经尝试将-np 4和-n 4添加到CLion中的程序参数中.但我还是得到了
Hello World process 0 of 1
解决方法
您无法指定要在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})
为了从Clion执行程序,我首先更改了(默认)Clion默认输出编译文件的位置.
您可以在“构建,执行和部署” – >中的设置下为已编译文件指定其他位置. “CMake的”.我刚把它改成了项目文件夹.
接下来我编辑了运行配置. “运行” – > “编辑配置” – >将Executable设置为mpirun. (机器上的mpirun的位置)
接下来我编辑了“程序参数”
-np 4 /home/mitzh/ClionProjects/hellompi/Debug/hellompi
使用4个进程执行我的程序.