Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
working on mpi_comm_split.
[simgrid.git] / src / smpi / sample / split.c
diff --git a/src/smpi/sample/split.c b/src/smpi/sample/split.c
new file mode 100644 (file)
index 0000000..b161190
--- /dev/null
@@ -0,0 +1,14 @@
+#include <stdio.h>
+#include <mpi.h>
+
+int main(int argc, char *argv[]) {
+       int worldrank, localrank;
+       MPI_Comm localcomm;
+       MPI_Init(&argc, &argv);
+       MPI_Comm_rank(MPI_COMM_WORLD, &worldrank);
+       MPI_Comm_split(MPI_COMM_WORLD, worldrank % 2, worldrank, &localcomm);
+       MPI_Comm_rank(localcomm, &localrank);
+       printf("node with world rank %d has local rank %d\n", worldrank, localrank);
+       MPI_Finalize();
+       return 0;
+}