From 5886a8cde3e7a09c5aef5091bd3bef4826faed78 Mon Sep 17 00:00:00 2001
From: MB <michael.blaschek@univie.ac.at>
Date: Tue, 23 Nov 2021 22:04:03 +0100
Subject: [PATCH] MPI definitions

---
 .../centos/Singularity-centos8-IMPI           | 23 +++++++++++++
 ...ularity.miniconda3-py39-4.9.2-ubuntu-18.04 |  6 ++--
 .../rocky/Singularity.rocky-8.4-OMPI          | 34 +++++++++++++++++++
 3 files changed, 61 insertions(+), 2 deletions(-)
 create mode 100644 definition-files/centos/Singularity-centos8-IMPI
 create mode 100644 definition-files/rocky/Singularity.rocky-8.4-OMPI

diff --git a/definition-files/centos/Singularity-centos8-IMPI b/definition-files/centos/Singularity-centos8-IMPI
new file mode 100644
index 0000000..4a020e4
--- /dev/null
+++ b/definition-files/centos/Singularity-centos8-IMPI
@@ -0,0 +1,23 @@
+BootStrap: yum
+OSVersion: 8
+MirrorURL: http://linux-ftp.jf.intel.com/pub/mirrors/centos/8/BaseOS/$basearch/os/
+Include: yum
+
+%environment
+    source /opt/intel/oneapi/mpi/latest/env/vars.sh
+%post
+    export http_proxy=http://***
+    yum repolist
+    yum install -y yum-utils
+    tee > /tmp/oneAPI.repo << EOF
+[oneAPI]
+name=Intel(R) oneAPI repository
+baseurl=https://yum.repos.intel.com/oneapi
+enabled=1
+gpgcheck=1
+repo_gpgcheck=1
+gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
+EOF
+    mv /tmp/oneAPI.repo /etc/yum.repos.d
+    yum install -y intel-oneapi-mpi*
+    yum install -y sudo wget vi which numactl bzip2 tar gcc hostname util-linux redhat-lsb
diff --git a/definition-files/miniconda/Singularity.miniconda3-py39-4.9.2-ubuntu-18.04 b/definition-files/miniconda/Singularity.miniconda3-py39-4.9.2-ubuntu-18.04
index ace3a08..085a222 100644
--- a/definition-files/miniconda/Singularity.miniconda3-py39-4.9.2-ubuntu-18.04
+++ b/definition-files/miniconda/Singularity.miniconda3-py39-4.9.2-ubuntu-18.04
@@ -1,5 +1,7 @@
-Bootstrap: library
-From: mblaschek/imgw/ubuntu:18.04
+# Bootstrap: library
+# From: mblaschek/imgw/ubuntu:18.04
+Bootstrap: localimage
+From: ubuntu.sif
 
 %labels
 
diff --git a/definition-files/rocky/Singularity.rocky-8.4-OMPI b/definition-files/rocky/Singularity.rocky-8.4-OMPI
new file mode 100644
index 0000000..d2460ae
--- /dev/null
+++ b/definition-files/rocky/Singularity.rocky-8.4-OMPI
@@ -0,0 +1,34 @@
+BootStrap: docker
+From: rockylinux/rockylinux:8.4
+
+%setup
+    echo "Looking in directory '$SINGULARITY_ROOTFS' for /bin/sh"
+    if [ ! -x "$SINGULARITY_ROOTFS/bin/sh" ]; then
+        echo "Hrmm, this container does not have /bin/sh installed..."
+        exit 1
+    fi
+    exit 0
+
+%post
+    echo "Installing Development Tools YUM group"
+    yum -y groupinstall "Development Tools"
+    echo "Installing OpenMPI into container..."
+    mkdir -p /tmp/git
+    cd /tmp/git
+    # just clone that version
+    git clone -b v4.0.5 --depth 1 --recursive https://github.com/open-mpi/ompi.git
+    cd ompi
+    ./autogen.pl
+    ./configure --prefix=/usr/local
+    make
+    make install
+    /usr/local/bin/mpicc examples/ring_c.c -o /usr/bin/mpi_ring
+    cd /
+    rm -rf /tmp/git
+    exit 0
+
+%runscript
+    exec /usr/bin/mpi_ring
+
+%test
+    /usr/local/bin/mpirun --allow-run-as-root /usr/bin/mpi_ring
-- 
GitLab