#include "mpi.h" #include <iostream> #include <cstring> using namespace std; int main(int argc , char* argv[]) { int myid,numprocs; MPI_Status status; char message[100]; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD,&myid); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); if(myid != 0) { strcpy(message,"Hello World"); MPI_Send(message,strlen(message)+1,MPI_CHAR,0,99,MPI_COMM_WORLD); } else { for(int i=1;i<numprocs;i++) { MPI_Recv(message,100,MPI_CHAR,i,99,MPI_COMM_WORLD,&status); cout << message << endl; } } MPI_Finalize(); return 0; }
myid=0作为主进程。send消息,recv接收。然后通过tag消息标识进行匹配。