2010-05-26 81 views

回答

2

号但是也有一些MPI作业的队伍之间自动共享没有“用户空间”变量或缓冲区。

MPI环境设置了一些常见变量(例如队列总数),并保证在所有队伍中“相同” - 但不是“共享”的(例如有本地读取 - 仅限所有级别的值的副本)。在很多情况下,这些值是通过MPI_ *调用来访问的,并且还可以根据实现的具体情况以其他方式提供。

2

没有。很多时候,MPI代码会一次在多台计算机上运行,​​因此除了通过网络传输消息外,他们无法共享数据。

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