Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "mpi.h"
- #include <stdio.h>
- #include <string.h>
- #define SIZE 1000
- int main(int argc, char *argv[]){
- double startwtime, endwtime;
- int namelen, numprocs, myid, size ;
- char processor_name[MPI_MAX_PROCESSOR_NAME], buff[SIZE], msg[SIZE];
- MPI_Init(&argc,&argv);
- startwtime = MPI_Wtime();
- MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
- MPI_Comm_rank(MPI_COMM_WORLD,&myid);
- MPI_Get_processor_name(processor_name,&namelen);
- fprintf(stderr,"\nProcessus %d sur la machine %s parmi %d processus.\n",myid,processor_name, numprocs);
- if (numprocs != 3)
- fprintf(stderr,"Il me faut 3 processus !\n") ;
- strcpy(msg,"Message Broadcast");
- size=sizeof(char)*strlen(msg);
- if (myid==0)
- fprintf(stderr,"%d envoie <%s>\n",myid , msg) ;
- /* c'est le processus 0 qui est l'envoyeur */
- MPI_Bcast((void*) msg, size, MPI_CHAR,0, MPI_COMM_WORLD) ;
- fprintf(stderr,"%d recoit [%s]\n",myid,msg) ;
- endwtime = MPI_Wtime();
- printf("Temps ecoule sur %d = %f\n", myid, endwtime-startwtime);
- MPI_Finalize();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement