如何让Clion使用;mpiexec“;

如何让Clion使用;mpiexec“;,mpi,clion,Mpi,Clion,我目前正在为CLion上的一些MPI程序编写代码。当我通过CLion运行程序时,它只使用单个进程 我知道我可以向CMake添加一些add_custom_命令,让它使用mpiexec。这只是有点不方便,因为每当我运行程序时,add\u custom\u命令执行的运行都会在一瞬间完成,单进程运行将刷新运行板 我想知道是否有任何方法可以让CLion通过mpiexec自动运行?我检查了编辑配置,但似乎只能添加程序参数 在这里问一个IDE问题可能会很尴尬,如果我不这样做,我会立即删除这个问题 您可以从终端

我目前正在为CLion上的一些MPI程序编写代码。当我通过CLion运行程序时,它只使用单个进程

我知道我可以向CMake添加一些
add_custom_命令
,让它使用
mpiexec
。这只是有点不方便,因为每当我运行程序时,
add\u custom\u命令
执行的运行都会在一瞬间完成,单进程运行将刷新运行板

我想知道是否有任何方法可以让CLion通过
mpiexec
自动运行?我检查了
编辑配置
,但似乎只能添加程序参数


在这里问一个IDE问题可能会很尴尬,如果我不这样做,我会立即删除这个问题

您可以从终端在多个进程中运行程序。如果您正在使用Cygwin的MPI,您可以在Cygwin终端中尝试:

> cd ThreadsandMPI/MPI/HellowWorld/
> rm helloworld.exe    # if it exists, delete it
> mpic++ helloworld.cpp -o helloworld.exe
> mpirun -np 4 helloworld.exe    # run 4 processes
但是如果你不想离开IDE也可以。您需要创建一个名为
MPI.xml
(在
C:\Users\\\.clion\config\tools
文件夹中)的文件,该文件将包含以下代码:

<?xml version="1.0" encoding="UTF-8"?>
<toolSet name="MPI">
    <tool name="mpic++" description="MPI C++ compiler" showInMainMenu="true" showInEditor="true" showInProject="true" showInSearchPopup="true" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
        <exec>
            <option name="COMMAND" value="C:\cygwin64\bin\sh.exe" />
            <option name="PARAMETERS" value="-l -c &quot;cd /cygdrive/d/CLion_Projects/$FileDirName$; mpic++ $FileName$ -o $FileNameWithoutExtension$.exe&quot;" />
            <option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
        </exec>
    </tool>
    <tool name="mpirun" description="Runner for MPI" showInMainMenu="true" showInEditor="true" showInProject="true" showInSearchPopup="true" disabled="false" useConsole="true" showConsoleOnStdOut="false" showConsoleOnStdErr="false" synchronizeAfterRun="true">
        <exec>
            <option name="COMMAND" value="C:\cygwin64\bin\sh.exe" />
            <option name="PARAMETERS" value="-l -c &quot;cd /cygdrive/d/Clion_Projects/$FileDirName$; mpirun -np $Prompt$ -bind-to core:overload-allowed $FileNameWithoutAllExtensions$&quot;" />
            <option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />
        </exec>
    </tool>
</toolSet>

  • 在此文件中
    MPI.xml
    查找并替换出现的两个
    d/CLion\u Projects
    具有指向CLion Projects目录的路径
  • 确保选项命令具有正确的值(指向
    sh.exe的路径)
    cygwin64\bin
    文件夹中)
  • 注意
    D:\something
    必须是
    D/something
    ,当然要避免路径中的空格

此文件将集成MPI C++编译器的代码工具>代码> MPIC++<代码>和MPI代码> MPRUN < /代码>的运行程序。 顺便说一下,关于如何在Clion中设置MPI的完整说明已经结束