MPI处理者之间是否共享特殊变量?

MPI处理者之间是否共享特殊变量?,mpi,Mpi,我是MPI编程界的新手,我想知道是否有一些变量在MPI进程之间共享,并且可以从任何进程访问,而不必发送/接收它们 谢谢否。MPI作业的列组之间没有自动共享的“用户空间”变量或缓冲区 MPI环境设置了一些公共变量(例如列组总数),这些变量保证在所有列组中“相同”,但不是“共享的”(例如,所有列组中的值都有一个本地只读副本)。在许多情况下,这些值是通过MPI_*调用访问的,也可以通过其他方式访问,具体取决于实现的具体情况 没有。很多时候,您的MPI代码将同时在多台计算机上运行,因此除了通过网络传输消

我是MPI编程界的新手,我想知道是否有一些变量在MPI进程之间共享,并且可以从任何进程访问,而不必发送/接收它们

谢谢

否。MPI作业的列组之间没有自动共享的“用户空间”变量或缓冲区


MPI环境设置了一些公共变量(例如列组总数),这些变量保证在所有列组中“相同”,但不是“共享的”(例如,所有列组中的值都有一个本地只读副本)。在许多情况下,这些值是通过MPI_*调用访问的,也可以通过其他方式访问,具体取决于实现的具体情况

没有。很多时候,您的MPI代码将同时在多台计算机上运行,因此除了通过网络传输消息外,这些计算机无法共享数据

对于多核机器,大多数MPI实现检测进程是否在同一个芯片上运行,并使用优化的消息传递算法,避免网络上的任何通信,在某些情况下重用缓冲区以避免中间内存拷贝