This source file includes following definitions.
- main
1
2
3
4
5
6
7
8 #include <stdio.h>
9 #include <unistd.h>
10 #include "mpi.h"
11
12 int main(int argc, char* argv[])
13 {
14 int rank, size;
15 MPI_Comm parent;
16 int msg;
17
18 printf("Slave [pid %ld] starting up!\n", (long)getpid());
19
20 MPI_Init(&argc, &argv);
21
22 MPI_Comm_rank(MPI_COMM_WORLD, &rank);
23 MPI_Comm_size(MPI_COMM_WORLD, &size);
24
25 MPI_Comm_get_parent(&parent);
26
27 MPI_Recv(&msg, 1, MPI_INT, 0, 1, parent, MPI_STATUS_IGNORE);
28 printf("Slave %d received msg: %d\n", rank, msg);
29 MPI_Comm_disconnect(&parent);
30
31 MPI_Finalize();
32 return 0;
33 }