| 30 | } |
| 31 | } |
| 32 | void Mul_Matrix(data_t *A,data_t *B,data_t *C,int m1,int n1,int n2){ |
| 33 | int i,j,k; |
| 34 | data_t temp; |
| 35 | for (i = 0; i < m1; i++){ |
| 36 | for (j = 0; j < n2; j++){ |
| 37 | temp =0; |
| 38 | for (k = 0; k < n1; k++){ |
| 39 | temp += A[i * n1 + k] * B[k * n2 + j]; |
| 40 | } |
| 41 | C[i * n2 + j]+= temp; |
| 42 | } |
| 43 | } |
| 44 | } |
| 45 | |
| 46 | void Matrix_cannon_scatter(int N,int id,int num,int part,data_t *source_matrix,data_t *target_matrix,MPI_Comm MPI_COMM_CART){ |
| 47 | data_t *matrixpool;//用于分发矩阵的一维向量 |