使用MPI Scatter进行2d数组

时间:2016-11-12 07:40:42

标签: c mpi

我试图使用MPI_Scatter在16个进程中传输一组矩阵[5000] [2000](尝试实现矩阵乘法)。但是5000不能被16整除。因此,如果每个进程接收到相同数量的行,则最后几行将丢失。 (312 * 16 + 8 = 5000)

有谁能告诉我如何在使用MPI_Scatter的进程中正确地分散这[5000]行?

谢谢

1 个答案:

答案 0 :(得分:1)

我找到了我想要的答案。 MPI为此提供功能。收集和分散的一个版本。

MPI_Scatterv http://www.mpich.org/static/docs/v3.1/www3/MPI_Scatterv.html

MPI_Gatherv http://www.mpich.org/static/docs/v3.1/www3/MPI_Gatherv.html