MPI分散并收集多次

时间:2018-09-04 12:38:24

标签: mpi

我在理解分散和混乱方面存在问题。假设我有一张桌子[tableSize]。在该表中,我想对每25个元素进行一些计算。我想将其划分为我的MPI中的所有流程。我尝试这样的事情

MPI_Scatter(table, 25, MPI_INT, tmpTable, 25, MPI_INT, 0, MPI_COMM_WORLD);
tmpTable[12] = doTheCalculation(tmpTable);
MPI_Gather(tmpTable, 25, MPI_INT, table, 25, MPI_INT, 0, MPI_COMM_WORLD);

但是只有在 25 *进程数= tableSize 正确的情况下它才有效。如果我希望tableSize为125,但只运行了3个进程,该怎么办?我的目标是使过程0和1计数两次(过程0元素1-25然后75-100,过程1计数25-50和100-125)。分散和聚集能够做到这一点吗?我应该看看别的东西吗?预先感谢

0 个答案:

没有答案