Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从Visual Studio 2017运行MPI应用程序,每个进程位于不同的cmd窗口中_C++_Visual Studio_Terminal_Mpi - Fatal编程技术网

C++ 从Visual Studio 2017运行MPI应用程序,每个进程位于不同的cmd窗口中

C++ 从Visual Studio 2017运行MPI应用程序,每个进程位于不同的cmd窗口中,c++,visual-studio,terminal,mpi,C++,Visual Studio,Terminal,Mpi,使用Visual Studio 2017,我尝试运行一个类似于黑桃游戏的MPI应用程序。在运行它时,我想为4个玩家中的每一个打开一个cmd终端,这样他们每个人都可以在轮到他表演时输入自己的卡片选择 我尝试了很多选项,包括转到项目属性->调试并将命令更改为$(MSMPI\u BIN)\mpiexec和命令参数更改为-np 4“$(TargetPath)”-请参阅下面的链接: 但是,除了让4个进程同时运行外,我还打开了一个终端,它对我的任何键盘输入都没有反应 是否有任何方法可以使用Visual S

使用Visual Studio 2017,我尝试运行一个类似于黑桃游戏的MPI应用程序。在运行它时,我想为4个玩家中的每一个打开一个cmd终端,这样他们每个人都可以在轮到他表演时输入自己的卡片选择

我尝试了很多选项,包括转到项目属性->调试并将命令更改为
$(MSMPI\u BIN)\mpiexec
命令参数更改为
-np 4“$(TargetPath)”
-请参阅下面的链接:

但是,除了让4个进程同时运行外,我还打开了一个终端,它对我的任何键盘输入都没有反应

是否有任何方法可以使用Visual Studio调试打开4个终端?还是其他方式?在cmd/bash中运行“mpiexec.exe-np 4 MyExec.exe”可提供与上述相同的结果


提前谢谢

我想这是不可能的

我尝试在mpi测试程序上使用
alloconsole()
,每个进程都返回一个错误,因为它认为已经有一个控制台连接到它

在某种程度上,这似乎是合乎逻辑的,因为mpiexec将启动进程,并且每个stdout都将指向相同的输出(文件或控制台),至于stdin,您必须选择哪个进程将处理它(通过manual-stdin选项判断)

这些重定向肯定由流程管理器()管理


正如@Evg所说,根据“黑桃游戏”的典故判断,我认为MPI不是你所需要的。也许更多的unix域套接字。但是它们是处理进程间com()的其他方法。

与只运行
mpiexec
相比,它不控制
mpiexec
如何运行进程。您希望
mpiexec
做一件奇怪的事情。也许,您应该使用IPC的其他方式,而MPI并不是您所需要的。