在不同的处理器上散布重复数字的数组

时间:2015-01-22 17:30:56

标签: mpi scatterview

如何在MPI中的不同处理器上分散重复数字的数组,确保同一处理器上没有两个重复的数字。

例如,如果我有一个数组

A=[0, 1, 2, 2, 3, 4, 4, 5, 6, 8, 8, 10, 10, 9, 2, 2]

我希望将它分散在4个处理器上而不会在同一处理器上重复任何数字,如

[0 1 2 4] on pid 0,
[2 3 4 5] on pid 1,
[2 6 8 10] on pid 2,
[10 9 2 8]  on pid 3

知道如何做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您需要使用MPI_Scatter。它允许您将大小为N*M的缓冲区(数组)拆分为N大小为M的块,其中N是执行中的MPI进程数。