【发布时间】:2016-05-04 15:40:35
【问题描述】:
我想知道是否有一种聪明的方法可以做到这一点。假设我有三个节点,0、1、2。假设每个节点都有一个数组,a0、a1、a2。如果每个节点的内容类似于
a0 = {0, 1, 2, 1}
a1 = {1, 2, 2, 0}
a2 = {0, 0, 1, 2}
是否有一个聪明的通信模式,以便将每个数字移动到它对应的节点,即
a0 = {0, 0, 0, 0}
a1 = {1, 1, 1, 1}
a2 = {2, 2, 2, 2}
我想到的方法将涉及排序和临时缓冲区,但我想知道是否有更聪明的方法?
【问题讨论】:
-
我不明白——你不能用 0 填充 a0,用 1 填充 a1 等等吗?据推测,您的问题比您的示例显示的要多。也不清楚您所说的“三个节点,0、1、2”是什么意思,以及它与 MPI“节点”(计算机)或数组中的 0、1、2 值有何关系。
-
谢谢约翰。我想祖蓝是在正确的道路上。这三个节点是独立的计算机。是的,问题还有更多。我只选择数组中的值是为了让我的意图更清楚。我想我在那个 xp 上失败了
标签: mpi