Posted 2011/08/31
MPI Hello World
I have included compilation and execution examples.
hello.c#include <stdio.h> #include <string.h> #include <stddef.h> #include <stdlib.h> #include "mpi.h" main(int argc, char **argv ) { char message[20]; int i,rank, size, type=99; MPI_Status status; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD,&size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); if(rank == 0) { strcpy(message, "Hello, world"); for (i=1; i<size; i++){ MPI_Send(message, 13, MPI_CHAR, i, type, MPI_COMM_WORLD); } }else{ MPI_Recv(message, 20, MPI_CHAR, 0, type, MPI_COMM_WORLD, &status); } printf("Message printed by process with rank %d : '%.13s'\n", rank,message); MPI_Finalize(); }How to compile and run hello
$ mpicc -o hello hello.c $ mpd & $ mpiexec -n 10 ./hello