• 大小: 8.05KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


MPI源文件:Cannon并行实现及加速比分析

资源截图

代码片段和文件信息

/*
Cannon并行算法及其加速比分析【源代码】
*/

#include 
#include 
#include 
#include 
#include 
#include 

/* 全局变量声明 */
float **A **B **C **D;           /* 总矩阵C = A * B */
float *a *b *c *tmp_a *tmp_b; /* a、b、c表分块,tmp_a、tmp_b表缓冲区 */
int dg dl dl2p sp;            /* dg:总矩阵维数;dl:矩阵块维数;dl2=dl*dl;p:处理器个数;sp=sqrt(p) */
int my_rank my_row my_col;      /* my_rank:处理器ID;(my_rowmy_col):处理器逻辑阵列坐标 */
double sTimepTime;
MPI_Status status;


/*
 *函数名: get_index
 *功能:处理器逻辑阵列坐标至rank号的转换
 *输入:坐标、逻辑阵列维数
 *输出:rank号
 */
int get_index(int row int col int sp)
{
   return ((row+sp)%sp)*sp + (col+sp)%sp;
}

//计算串行时间
void chuanXing()
{
int ijk;
double t1t2;
t1=MPI_Wtime();
for(i=0; i for(j=0; j for(k=0; k D[i][j]=A[i][k]*B[k][j];
t2=MPI_Wtime();
sTime=t2-t1;
}

/*
 *函数名:random_A_B
 *功能:随机生成矩阵A和B
 */
void random_A_B()
{
   int ij;

    srand((unsigned int)tim

评论

共有 条评论