单节点、多个MPI任务

单节点、多个MPI任务,mpi,Mpi,我需要调试一个我只能访问单个节点/机器的MPI代码。问题是,我正在寻找的bug只会在多个节点上运行时出现,但在同一个节点上运行两个MPI任务时不会出现,一切正常。我假设我的MPI实现(mviapich2)巧妙地处理了在同一节点上运行的任务,例如,用IPC策略甚至memcpy替换网络通信 所以我的问题是:如何在一个节点上运行两个MPI任务,但让MPI将它们视为不同节点上的任务?这可能吗?您可以通过将MV2\u USE\u shared\u MEM环境变量设置为0来禁用MVAPICH2共享内存设备:

我需要调试一个我只能访问单个节点/机器的MPI代码。问题是,我正在寻找的bug只会在多个节点上运行时出现,但在同一个节点上运行两个MPI任务时不会出现,一切正常。我假设我的MPI实现(mviapich2)巧妙地处理了在同一节点上运行的任务,例如,用IPC策略甚至
memcpy
替换网络通信


所以我的问题是:如何在一个节点上运行两个MPI任务,但让MPI将它们视为不同节点上的任务?这可能吗?

您可以通过将
MV2\u USE\u shared\u MEM
环境变量设置为
0
来禁用MVAPICH2共享内存设备:

mpiexec ... -env MV2_USE_SHARED_MEM 0 ... ./executable

确保您的MVAPICH2是使用TCP/IP设备构建的,否则在共享内存支持关闭的情况下,您的队伍将无法进行通信。

是否同意输入错误,但不完全以英语存在?