Ejemplo broadcast en MPI
Ejemplo sencillo de comunicación global
broadcast.c
—
C source code,
1Kb
Contenido del Archivo
/* ***** ***** ***** ***** ***** ***** */
/* Escuela Complutense Latinoamericana */
/* Febrero del 2012 - UBA */
/* Autor: Esteban Mocskos */
/* ***** ***** ***** ***** ***** ***** */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mpi.h>
#define BUF_SIZE 100
int main(int argc, char* argv[])
{
int status, my_rank, cant; /* Valor de retorno, id, cant */
int source, dest; /* fuente, destino */
char message[BUF_SIZE]; /* mensaje */
MPI_Init(&argc, &argv); /* Inicio de MPI */
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); /* rango de procesos */
MPI_Comm_size(MPI_COMM_WORLD, &cant); /* numero de procesos */
sprintf(message, "Saludos desde el proceso %d!",my_rank);
/* parametros: buffer, cantidad a transferir, tipo de datos, root y comunicador.*/
status = MPI_Bcast(message, strlen(message)+1, MPI_CHAR, 0, MPI_COMM_WORLD);
if (status!=MPI_SUCCESS)
{
printf("Ups...\n");
exit(1);
}
printf("%s\n", message);
MPI_Finalize();
return 0;
}


