#include "mpi.h"
#include <iostream>
using namespace std;
int main(int argc,char* argv[])
{
const int n = 10000;
int myid,numprocs;
double a[n+1]; //定义进行数据传输的数据组
MPI_Status status;
double starttime,endtime;
int namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
MPI_Get_processor_name(processor_name,&namelen);
for(int i=1;i<=n;i++)
{
a[i] = i;
}
starttime = MPI_Wtime();
if(myid == 0)
{
MPI_Send(&a[1],10000,MPI_DOUBLE,1,99,MPI_COMM_WORLD);
}
if(myid == 1)
{
MPI_Recv(&a[1],10000,MPI_DOUBLE,0,99,MPI_COMM_WORLD,&status);
}
endtime = MPI_Wtime();
if(myid == 0)
{
cout << endtime - starttime << endl;
}
MPI_Finalize();
return 0;
}