⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hw2.c

📁 编程测试并行平台MPI层的带宽和延迟: 单向通信时间简单表示为:t=Latency+Message_Size/Bandwidth 利用该方程得到系统的带宽和延迟
💻 C
字号:
#include "mpi.h"
#include <sys/time.h>
#include <stdio.h>

main(int argc,char ** argv )
{
int myrank;
MPI_Status status;
MPI_Init( &argc, &argv );
MPI_Comm_rank( MPI_COMM_WORLD, &myrank );
struct timeval tend;
int i;
double timecur[100],timeuse[20];
int message_size=32;


if (myrank == 0)
{
        for(i=0;i<1;++i){
        gettimeofday(&tend,NULL);
        timecur[0]=1000000*(double)(tend.tv_sec)+(double)(tend.tv_usec);

        MPI_Send(&timecur[0], message_size, MPI_DOUBLE, 1,99,MPI_COMM_WORLD);
        }
}
else if(myrank==1)
{
        for(i=0;i<1;++i){
        MPI_Recv(&timecur[0], message_size, MPI_DOUBLE, 0, 99, MPI_COMM_WORLD, &status);
        gettimeofday(&tend,NULL);

        timeuse[i] = 1000000* (double) (tend.tv_sec) + (double)(tend.tv_usec)-timecur[0];
        timeuse[i] = timeuse[i]/1000;

        }
        printf("Time use is:%lf\n",timeuse[0]);
}
MPI_Finalize();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -