我正在尝试将矩阵A [MxN]和向量B [N]相乘,其中每个过程P通过使用分散和减少操作从B获得M * P / N列和N / P个元素。 我可以创建一个新类型并分散元素,没有问题,例如:
MPI_Type_vector ( m*n/p , 1 , p , MPI_INT , &columns );
MPI_Type_create_resized ( columns , 0 , sizeof(int) , &rescolumns );
MPI_Scatter (&A[0][0], 1 , &rescolums , newvector , m*n/p , MPI_INT , 0 , MPI_COMM_WORLD)
并对矢量B执行相同的操作,但无法弄清楚如何使用MPI_Reduce
来增加分散的结果。
非常感谢任何帮助。