所以我正在使用 MPI 编写一个简单的矩阵乘法代码。我面临的问题之一是将其中一个矩阵分散到所有处理器。我假设我的矩阵的维度可能不能被处理器的数量整除。
我还使用了一个变量,该变量col_id
通过使用 mod 函数计算分配给每个处理器的列数。例如,如果我们有 9 列和 6 个处理器,则前 3 个处理器的col_id
值为 2,而其他三个处理器的col_id
值为 1。
所以我使用了基本的散射操作。
call MPI_Scatter(b, dim2*col_id, MPI_Integer, b1, dim2*col_id, MPI_Integer, 0, MPI_COMM_WORLD, ierr)
col_id
对于不同的处理器会有所不同。我们是否允许使用这个变量来指定尺寸MPI_scatter
?