Qualquer dúvida só comentar, e se necessário acrescentarei ao post mais alguns detalhes!
Segue o código:
//Autor: Filipe Areias Névola //Ano: 2009 //Programa: Hello, world MPI //Licensa: Você pode usar e alterar, mas deve manter o Autor #include <stdio.h> #include <stdlib.h> #include <string.h> #include <mpi.h> int main(int argc, char **argv){ char message[20]; //Mensagem a ser enviada //rank = nro do proc, size = nro de procs int i, rank, size, type = 99; MPI_Status status; //inicializando MPI_Init(&argc, &argv); //pegando nro de procs MPI_Comm_size(MPI_COMM_WORLD, &size); //pegando nro do proc que esta executando aqui MPI_Comm_rank(MPI_COMM_WORLD, &rank); //se é o proc 0 (ROOT_RANK) manda mensagem if (rank == 0) { //copia Hello, world para mensagem strcpy(message, "Hello, world"); //manda para todos os procs for (i = 1; i <= size-1; i++){ //comando em MPI para enviar MPI_Send(message, 13, MPI_CHAR, i, type, MPI_COMM_WORLD); } } else { //quem não é o ROOT_RANK recebe a mensagem MPI_Recv(message, 13, MPI_CHAR, 0, type, MPI_COMM_WORLD, &status); } //todos imprimem a mensagem printf( "Message from process = %d : %.13s\n", rank,message); //finaliza MPI_Finalize(); }Não sabe instalar/compilar/executar MPI ? Aprenda aqui!