MPI_一个简单的消息传递

#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消息标识进行匹配。

posted on 2014-01-07 10:49  Ja °  阅读(488)  评论(0编辑  收藏  举报

导航