Warm tip: This article is reproduced from serverfault.com, please click

python-按顺序收集来自不同进程的数组

(python - Gathering arrays from different processes in order)

发布于 2020-12-01 13:16:31

我有几个进程,每个进程都计算一些子数组。他们完成后,我需要按顺序将数组缝合在一起(即:子数组0,然后是子数组1,然后是子数组2,依此类推)。问题是:使用MPI收集来自不同过程的较小矩阵部分,得到的答案包括遍历过程并一次发送/接收一个过程。但是我不相信数组会按我的要求顺序存储吗?根进程是否具有a)每个子数组和b)知道它来自哪个进程的替代方法?非常感谢!

Questioner
Eli Rees
Viewed
0
Joe Todd 2020-12-01 22:11:10

无需查看任何代码,此答案将对细节有所帮助。你可以将MPI_ANY_SOURCE用作任何MPI接收函数的源参数,然后检查“ status.Get_source()”以查找谁向你发送了消息。罗得的这样的例子在这里