北航并行计算矩阵相乘作业.docVIP

  • 20
  • 0
  • 约5.51千字
  • 约 7页
  • 2016-12-25 发布于重庆
  • 举报
矩阵相乘并行实现 1、算法描述: 设有如下矩阵相乘: C=A×B 其中A,B分别是m×k和k×n矩阵,C是m×n矩阵。若处理器个数为p,且它们的编号依次是0,1,…,p-1,则设可将矩阵A、B、C分成p个大小为mxm的子块,其中A=(Aij)m×m,B=(Bij)m×m,和C=(Cij)m×m,其中A?ij,Bij和Cij是n×n矩阵。同时假设和。 定义对角块矩阵,则 其中,。利用此关系式,将节点编号从一维映射到二维,数据,,存放在中,可得到下面的在处理机结点上的算法。该算法数据交量 算法流程如下: 流程图如下所示: 2、程序代码: #include stdlib.h #include string.h #include mpi.h #include time.h #include stdio.h #include math.h float **A, **B, **C; float *a, *b, *c, *tmp_a, *tmp_b; int dg=1000, dl, dl2,p, sp; int my_rank, my_row, my_col; MPI_Status status; int get_index(int row, int col, int sp) { return (

文档评论(0)

1亿VIP精品文档

相关文档