【发布时间】:2015-05-17 14:10:51
【问题描述】:
我正在尝试使用 MPI 将矩阵乘以矩阵 (A*B)。我将矩阵 B 拆分为列 B = [b1, ... bn] 并进行一系列乘法 ci = A*bi。问题是,然后我收集他们订购的结果列有时似乎是错误的。所以,而不是 [c1, ... cn] 例如,[c2,c1,c4, ..]。
MPI_Scatter(matrix,MM,MPI_INT,part_of_matrix,MM,MPI_INT,0,MPI_COMM_WORLD);
for (i=0; i<n; i++) {
get_block_of_matrix(block,part_of_matrix,M,n,i);
matvect(tmp,val,I,J,M,nnz,block);
for (j=0; j<M; j++)
result[M*i+j]=tmp[j];
}
MPI_Gather(result, MM, MPI_INT, res, MM, MPI_INT, 0, MPI_COMM_WORLD);
【问题讨论】:
标签: c matrix parallel-processing mpi