gpt4 book ai didi

c++ - 从 Visual Studio 2017 运行 MPI 应用程序,每个进程在不同的 cmd 窗口中

转载 作者:行者123 更新时间:2023-11-28 04:33:34 25 4
gpt4 key购买 nike

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

我尝试了很多选项,包括转到项目属性 -> 调试并将 Command 更改为 $(MSMPI_BIN)\mpiexecCommand Arguments-np 4 "$(TargetPath)" - 请参阅下面的链接:

Command and Command Arguments

但是,除了让 4 个进程同时运行之外,我仍然打开了一个终端,它不会对我的任何键盘输入使用react。

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

提前致谢

最佳答案

我认为这是不可能的。

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

在某种程度上这似乎是合乎逻辑的,因为 mpiexec 将启动进程并且每个 stdout 将定向到相同的输出(文件或控制台),至于 stdin 你必须选择哪个进程来处理它(根据手册判断 https://www.open-mpi.org/doc/v3.0/man1/mpiexec.1.php -stdin 选项)。

这些重定向肯定是由进程管理器管理的(https://wiki.mpich.org/mpich/index.php/Frequently_Asked_Questions)

正如@Evg 所说,从“黑桃游戏”的典故来看,我认为 MPI 不是您所需要的。也许更多的 unix 域套接字。但它们是进行进程间通信的其他方法(https://en.wikipedia.org/wiki/Inter-process_communication)

关于c++ - 从 Visual Studio 2017 运行 MPI 应用程序,每个进程在不同的 cmd 窗口中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52192653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com