我正在尝试使用 MPI_Scatter 跨 16 个进程传输一组矩阵 [5000][2000] 的行(尝试实现矩阵乘法)。但是 5000 不能被 16 整除。所以如果每个进程接收到相同数量的行,最后几行将会丢失。 ( 312 * 16 + 8 = 5000 )
谁能告诉我如何使用 MPI_Scatter 在进程之间正确地分散这 [5000] 行?
谢谢
最佳答案
我找到了我要找的答案。 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
关于c - 对二维数组使用 MPI 散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40560691/