Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add tesh files to test all new collectives
[simgrid.git] / teshsuite / smpi / bcast_coll.c
1 /* Copyright (c) 2009. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include <stdio.h>
8 #include <mpi.h>
9
10 int main(int argc, char **argv)
11 {
12   int size, rank;
13   int value = 3;
14   int status;
15
16   MPI_Init(&argc, &argv);
17   MPI_Comm_size(MPI_COMM_WORLD, &size);
18   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
19
20   if (0 == rank) {
21     value = 17;
22   }
23   status = MPI_Bcast(&value, 1, MPI_INT, 0, MPI_COMM_WORLD);
24   printf("node %d has value %d after broadcast\n", rank, value);
25
26   MPI_Barrier(MPI_COMM_WORLD);
27
28   if (rank == 0) {
29     if (status != MPI_SUCCESS) {
30       printf("bcast returned %d\n", status);
31       fflush(stdout);
32     }
33   }
34
35   MPI_Finalize();
36   return 0;
37 }