#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; }