MPI 程序设计

                     

贡献者: billyshears

  • 本文处于草稿阶段。

1. MPI

   MPI(Message Passing Interface 消息传递接口)

#include <mpi.h> /* For MPI functions, etc */
const int MAX STRING = 100;
int main(void){
    char greeting[MAX STRING];
    int comm_sz; /* Number of processes */
    int my_rank; /* My process rank */
    MPI_Init(NULL, NULL);
    MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
    if(my_rank != 0){
        sprintf(greeting, "Greetings from process
         %d of %d!", my_rank, comm sz);
        MPI_Send(greeting, strlen(greeting)+1, 
        MPI_CHAR, 0, 0, MPI_COMM_WORLD);
    } else {
        printf("Greetings from process %d of %d!\n", my_rank, comm_sz);
        for(int q = 1; q < comm_sz; q++){
            MPI_Recv(greeting, MAX_STRING, MPI_CHAR,
            q, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
            printf("%s\n", greeting);
        }
    }
    MPI_Finalize();
    return 0;
} /* main */

                     

© 保留一切权利