diff --git a/mpi_info/.gitignore b/mpi_info/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..6a2477a90d0827c04224437dcd21467272f5eabc
--- /dev/null
+++ b/mpi_info/.gitignore
@@ -0,0 +1,2 @@
+mpi_info
+
diff --git a/mpi_info/Makefile b/mpi_info/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..6f776f48f41fb049dbad26bf91b10a75458b7e86
--- /dev/null
+++ b/mpi_info/Makefile
@@ -0,0 +1,2 @@
+mpi_info: mpi_info.c
+	mpicc -o $@ $<
diff --git a/mpi_info/load_modules.sh b/mpi_info/load_modules.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6cfb6e00d742f914aeda22b63ec9845272d754d4
--- /dev/null
+++ b/mpi_info/load_modules.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+module purge
+module load spack git gcc/7.3.0 openmpi
+
diff --git a/mpi_info/mpi_info.c b/mpi_info/mpi_info.c
new file mode 100644
index 0000000000000000000000000000000000000000..2df42b6a36ebf8947651913e181cc591b5313383
--- /dev/null
+++ b/mpi_info/mpi_info.c
@@ -0,0 +1,14 @@
+#include "mpi.h"
+#include <stdio.h>
+
+int main(int argc, char *argv[]) {
+    int numtasks, rank, length;
+    char hostname[MPI_MAX_PROCESSOR_NAME];
+
+    MPI_Init(&argc, &argv);
+    MPI_Comm_size(MPI_COMM_WORLD, &numtasks);
+    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+    MPI_Get_processor_name(hostname, &length);
+    printf("Number of tasks = %d, rank = %d, running on %s\n", numtasks, rank, hostname);
+    MPI_Finalize();
+}