From efeaf2412a06905d7544fd144cf981a39e3db2e1 Mon Sep 17 00:00:00 2001
From: Chao Zhan <chao.zhan@fu-berlin.de>
Date: Wed, 14 Jun 2023 23:31:33 +0200
Subject: [PATCH] add MPI gather example

---
 exercises/MPI_examples/gather/Makefile |  20 ++++++++++
 exercises/MPI_examples/gather/gather.c |  52 +++++++++++++++++++++++++
 slides/images/MPI-gather.png           | Bin 0 -> 49981 bytes
 slides/pages/recap.md                  |  29 ++++++++++++--
 4 files changed, 98 insertions(+), 3 deletions(-)
 create mode 100644 exercises/MPI_examples/gather/Makefile
 create mode 100644 exercises/MPI_examples/gather/gather.c
 create mode 100644 slides/images/MPI-gather.png

diff --git a/exercises/MPI_examples/gather/Makefile b/exercises/MPI_examples/gather/Makefile
new file mode 100644
index 0000000..3fb0fdb
--- /dev/null
+++ b/exercises/MPI_examples/gather/Makefile
@@ -0,0 +1,20 @@
+PROG = gather
+OBJECTS = gather.o
+CC = mpicc
+CFLAGS = -Wall -std=c11
+CFLAGS += -I. # add the current directory to the include path
+
+$(PROG): $(OBJECTS) # link the object files into a binary
+	$(CC) $(CFLAGS) $^ -o $@
+
+.Phone: run
+run: $(PROG) # build and run the program
+	mpirun ./$(PROG)
+
+$(OBJECTS): %.o: %.c  # compile the source files into object files
+	$(CC) $(CFLAGS) -c $<
+
+.PHONY: clean
+clean: # remove the object files and the binary
+	rm -f $(OBJECTS) $(PROG)
+
diff --git a/exercises/MPI_examples/gather/gather.c b/exercises/MPI_examples/gather/gather.c
new file mode 100644
index 0000000..418135a
--- /dev/null
+++ b/exercises/MPI_examples/gather/gather.c
@@ -0,0 +1,52 @@
+#include <mpi.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#define SCATTER_NUM 10
+
+int main(int argc, char **argv) {
+
+  MPI_Init(&argc, &argv);
+
+  // Get the number of processes
+  int num_processes;
+  MPI_Comm_size(MPI_COMM_WORLD, &num_processes);
+
+  int *bigdata = malloc(SCATTER_NUM * num_processes * sizeof(int));
+  int *localdata = malloc(SCATTER_NUM * sizeof(int));
+
+  // Get the rank of the process
+  int rank;
+  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+
+  for (int i = 0; i < SCATTER_NUM; i++) {
+    localdata[i] = rank * SCATTER_NUM + (i + 1);
+  }
+
+  // Get the name of the processor
+  char processor_name[MPI_MAX_PROCESSOR_NAME];
+  int name_len;
+  MPI_Get_processor_name(processor_name, &name_len);
+
+  MPI_Gather(localdata, SCATTER_NUM, MPI_INT, bigdata,
+             SCATTER_NUM, MPI_INT, 0, MPI_COMM_WORLD);
+
+  if (rank == 0) {
+    printf("Process %d of %d on %s received: bigdata[%d] = { ", rank, num_processes,
+           processor_name, SCATTER_NUM * num_processes);
+    for (int i = 0; i < SCATTER_NUM * num_processes; i++) {
+      printf("%d, ", bigdata[i]);
+    }
+    printf("}\n");
+  } else {
+    printf("Process %d of %d on %s sent: localdata[%d] = { ", rank, num_processes,
+           processor_name, SCATTER_NUM);
+    for (int i = 0; i < SCATTER_NUM; i++) {
+      printf("%d, ", localdata[i]);
+    }
+    printf("}\n");
+  }
+
+  // Finalize the MPI environment. No more MPI calls can be made after this
+  MPI_Finalize();
+}
diff --git a/slides/images/MPI-gather.png b/slides/images/MPI-gather.png
new file mode 100644
index 0000000000000000000000000000000000000000..f070b09f22ed809a4b2b171800848fe8ed3c5970
GIT binary patch
literal 49981
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

literal 0
HcmV?d00001

diff --git a/slides/pages/recap.md b/slides/pages/recap.md
index fd69d3b..81eebf7 100644
--- a/slides/pages/recap.md
+++ b/slides/pages/recap.md
@@ -349,6 +349,8 @@ title: Data Replication (Broadcast)
 
 ## Data Replication (Broadcast)
 
+Replicate data from one rank to all other ranks:
+
 ```c
 MPI_Bcast (void *data, int count, MPI_Datatype dtype, int root, MPI_Comm comm)
 ```
@@ -363,14 +365,14 @@ MPI_Bcast (void *data, int count, MPI_Datatype dtype, int root, MPI_Comm comm)
 - in rank root, data is an input argument
 - **MPI_Bcast completes only after all ranks in comm have made the call**
 
-See live demo.
-
 ---
 title: Data Scatter
 ---
 
 ## Data Scatter
 
+Distribute chunks of data from one rank to all ranks:
+
 ```c
 MPI_Scatter (void *sendbuf, int sendcount, MPI_Datatype sendtype,
     void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
@@ -387,4 +389,25 @@ MPI_Scatter (void *sendbuf, int sendcount, MPI_Datatype sendtype,
 - root also sends one data chunk to itself 
 - **for each chunk the amount of data sent must match the receive size**
 
-See live demo.
+---
+title: Data Gather
+---
+
+## Data Gather
+
+Collect chunks of data from all ranks in one place:
+
+```c
+MPI_Gather (void *sendbuf, int sendcount, MPI_Datatype sendtype,
+    void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
+```
+
+<div class="container flex justify-center mt-5">
+    <img src="/images/MPI-gather.png" class="block w-lg"/>
+</div>
+
+### Notes
+
+- The opposite operation of **MPI_Scatter**
+- root also receives one data chunk from itself
+- data chunks are stored in increasing order of the sender’s rank
-- 
GitLab