From 98ddcb526a339e855f709ade98d3de67f8085e14 Mon Sep 17 00:00:00 2001
From: Marty Kandes <mkandes@sdsc.edu>
Date: Sun, 21 Mar 2021 22:31:50 +0000
Subject: [PATCH] Update OMB 5.7 def file to use OpenMPI 4.0.5

Also removed Singularity.ubuntu-18.04-openmpi-4.1.0 as it is not needed
at this time.
---
 ...ularity.omb-5.7-ubuntu-18.04-openmpi-4.0.5 | 115 +++++++++++++++
 .../Singularity.ubuntu-18.04-openmpi-4.1.0    | 134 ------------------
 2 files changed, 115 insertions(+), 134 deletions(-)
 create mode 100644 definition-files/omb/Singularity.omb-5.7-ubuntu-18.04-openmpi-4.0.5
 delete mode 100644 definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-4.1.0

diff --git a/definition-files/omb/Singularity.omb-5.7-ubuntu-18.04-openmpi-4.0.5 b/definition-files/omb/Singularity.omb-5.7-ubuntu-18.04-openmpi-4.0.5
new file mode 100644
index 0000000..c4511bb
--- /dev/null
+++ b/definition-files/omb/Singularity.omb-5.7-ubuntu-18.04-openmpi-4.0.5
@@ -0,0 +1,115 @@
+Bootstrap: shub
+From: mkandes/naked-singularity:ubuntu-18.04-openmpi-4.0.5
+
+%labels
+
+    APPLICATION_NAME OSU Micro-Benchmarks
+    APPLICATION_VERSION 5.7
+    APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks
+
+    AUTHOR_NAME Marty Kandes
+    AUTHOR_EMAIL mkandes@sdsc.edu
+
+    LAST_UPDATED 20210321
+
+%setup
+
+%environment
+
+    # Set OMB major and minor version numbers, root and
+    # installation directories
+    export OMB_ROOT_URL='http://mvapich.cse.ohio-state.edu/download/mvapich'
+    export OMB_MAJOR='5'
+    export OMB_MINOR='7'
+    export OMB_VERSION="${OMB_MAJOR}.${OMB_MINOR}"
+    export OMB_ROOT_DIR='/opt/omb'
+    export OMB_INSTALL_DIR="${OMB_ROOT_DIR}/${OMB_VERSION}"
+
+    # Set paths to OSU Microbenchmarks binaries
+    export PATH="${OMB_INSTALL_DIR}/collective:${PATH}"
+    export PATH="${OMB_INSTALL_DIR}/one-sided:${PATH}"
+    export PATH="${OMB_INSTALL_DIR}/pt2pt:${PATH}"
+    export PATH="${OMB_INSTALL_DIR}/startup:${PATH}"
+
+%post -c /bin/bash
+
+    # Set operating system mirror URL
+    export MIRRORURL='http://us.archive.ubuntu.com/ubuntu'
+
+    # Set operating system version
+    export OSVERSION='bionic'
+
+    # Set system locale
+    export LC_ALL='C'
+
+    # Set debian frontend interface
+    export DEBIAN_FRONTEND='noninteractive'
+
+    # Set Mellanox OFED version, operating system, and hardware platform
+    export MLNX_ROOT_URL='http://www.mellanox.com/downloads/ofed'
+    export MLNX_OFED_VERSION='4.7-3.2.9.0'
+    export MLNX_OS_VERSION='ubuntu18.04'
+    export MLNX_PLATFORM='x86_64'
+
+    # Set OpenMPI major, minor, and revision numbers, root and
+    # installation directories
+    export OMPI_ROOT_URL='https://download.open-mpi.org/release/open-mpi'
+    export OMPI_MAJOR='4'
+    export OMPI_MINOR='0'
+    export OMPI_REVISION='5'
+    export OMPI_VERSION="${OMPI_MAJOR}.${OMPI_MINOR}.${OMPI_REVISION}"
+    export OMPI_ROOT_DIR='/opt/openmpi'
+    export OMPI_INSTALL_DIR="${OMPI_ROOT_DIR}/${OMPI_VERSION}"
+
+    # Set paths to OpenMPI binaries and libraries
+    export PATH="${OMPI_INSTALL_DIR}/bin:${PATH}"
+    export LD_LIBRARY_PATH="${OMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}"
+
+    # Upgrade all software packages to their latest versions
+    apt-get -y update && apt-get -y upgrade
+
+    cd /tmp
+
+    # Set OMB major and minor version numbers, root and
+    # installation directories
+    export OMB_ROOT_URL='http://mvapich.cse.ohio-state.edu/download/mvapich'
+    export OMB_MAJOR='5'
+    export OMB_MINOR='7'
+    export OMB_VERSION="${OMB_MAJOR}.${OMB_MINOR}"
+    export OMB_ROOT_DIR='/opt/omb'
+    export OMB_INSTALL_DIR="${OMB_ROOT_DIR}/${OMB_VERSION}"
+
+    # Download, build, and install OSU Microbenchmarks
+    wget "${OMB_ROOT_URL}/osu-micro-benchmarks-${OMB_VERSION}.tar.gz"
+    tar -xf "osu-micro-benchmarks-${OMB_VERSION}.tar.gz"
+    cd "osu-micro-benchmarks-${OMB_VERSION}"
+    ./configure --prefix="${OMB_INSTALL_DIR}" CC='mpicc' CXX='mpicxx'
+    make
+    make install
+
+    # Reorganize OSU Microbenchmarks directory structure
+    cd "${OMB_INSTALL_DIR}"
+    mv libexec/osu-micro-benchmarks/mpi/collective ./
+    mv libexec/osu-micro-benchmarks/mpi/one-sided ./
+    mv libexec/osu-micro-benchmarks/mpi/pt2pt ./
+    mv libexec/osu-micro-benchmarks/mpi/startup ./
+    rm -rf libexec
+
+    cd /tmp
+
+    # Remove OMB build directory and source tarball
+    rm -rf "osu-micro-benchmarks-${OMB_VERSION}"
+    rm "osu-micro-benchmarks-${OMB_VERSION}.tar.gz"
+
+    # Cleanup
+    apt-get -y autoremove --purge
+    apt-get -y clean
+
+    # Update database for mlocate
+    updatedb
+
+%files
+
+%runscript
+
+%test
diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-4.1.0 b/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-4.1.0
deleted file mode 100644
index cb0c679..0000000
--- a/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-4.1.0
+++ /dev/null
@@ -1,134 +0,0 @@
-Bootstrap: shub
-From: mkandes/naked-singularity:ubuntu-18.04
-
-%labels
-
-    APPLICATION_NAME ubuntu + openmpi
-    APPLICATION_VERSION 18.04 + 4.1.0
-    APPLICATION_URL https://www.open-mpi.org
-
-    AUTHOR_NAME Marty Kandes
-    AUTHOR_EMAIL mkandes@sdsc.edu
-
-    LAST_UPDATED 20210319
-
-%setup
-
-%environment
-
-    # Set Mellanox OFED version, operating system, and hardware platform
-    export MLNX_ROOT_URL='http://www.mellanox.com/downloads/ofed'
-    export MLNX_OFED_VERSION='4.7-3.2.9.0'
-    export MLNX_OS_VERSION='ubuntu18.04'
-    export MLNX_PLATFORM='x86_64'
-
-    # Set OpenMPI major, minor, and revision numbers, root and
-    # installation directories
-    export OMPI_ROOT_URL='https://download.open-mpi.org/release/open-mpi'
-    export OMPI_MAJOR='4'
-    export OMPI_MINOR='1'
-    export OMPI_REVISION='0'
-    export OMPI_VERSION="${OMPI_MAJOR}.${OMPI_MINOR}.${OMPI_REVISION}"
-    export OMPI_ROOT_DIR='/opt/openmpi'
-    export OMPI_INSTALL_DIR="${OMPI_ROOT_DIR}/${OMPI_VERSION}"
-
-    # Set paths to OpenMPI binaries and libraries
-    export PATH="${OMPI_INSTALL_DIR}/bin:${PATH}"
-    export LD_LIBRARY_PATH="${OMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}"
-
-%post -c /bin/bash
-
-    # Set operating system mirror URL
-    export MIRRORURL='http://us.archive.ubuntu.com/ubuntu'
-
-    # Set operating system version
-    export OSVERSION='bionic'
-
-    # Set system locale
-    export LC_ALL='C'
-
-    # Set debian frontend interface
-    export DEBIAN_FRONTEND='noninteractive'
-
-    # Upgrade all software packages to their latest versions
-    apt-get -y update && apt-get -y upgrade
-
-    # Install all dependencies and/or prerequisites for Mellanox OFED
-    apt-get -y install bison
-    apt-get -y install chrpath
-    apt-get -y install debhelper
-    apt-get -y install dpatch
-    apt-get -y install flex
-    apt-get -y install graphviz
-    apt-get -y install libnl-3-dev
-    apt-get -y install libnl-route-3-200
-    apt-get -y install tcl-dev
-    apt-get -y install tk-dev
-    apt-get -y install swig
-
-    cd /tmp
-
-    # Set Mellanox OFED version, operating system, and hardware platform
-    export MLNX_ROOT_URL='http://www.mellanox.com/downloads/ofed'
-    export MLNX_OFED_VERSION='4.7-3.2.9.0'
-    export MLNX_OS_VERSION='ubuntu18.04'
-    export MLNX_PLATFORM='x86_64'
-
-    # Download and install Mellanox OFED drivers and supporting
-    # libraries for userspace access to Ethernet, RDMA, and Infiniband. 
-    # https://docs.mellanox.com/pages/releaseview.action?pageId=15049785
-    wget "${MLNX_ROOT_URL}/MLNX_OFED-${MLNX_OFED_VERSION}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}.tgz"
-    tar -xf "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}.tgz"
-    cd "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}"
-    ./mlnxofedinstall --user-space-only --without-fw-update --force
-
-    cd /tmp
-
-    # Remove Mellanox OFED archive directory and tarball
-    rm -rf "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}"
-    rm "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}.tgz"
-
-    # Install additional tools
-    apt-get -y install numactl
-    apt-get -y install libnuma-dev
-
-    # Install OpenMPI dependencies
-    apt-get -y install zlib1g-dev
-
-    cd /tmp
-
-    # Set OpenMPI major, minor, and revision numbers, root and
-    # installation directories
-    export OMPI_ROOT_URL='https://download.open-mpi.org/release/open-mpi'
-    export OMPI_MAJOR='4'
-    export OMPI_MINOR='1'
-    export OMPI_REVISION='0'
-    export OMPI_VERSION="${OMPI_MAJOR}.${OMPI_MINOR}.${OMPI_REVISION}"
-    export OMPI_ROOT_DIR='/opt/openmpi'
-    export OMPI_INSTALL_DIR="${OMPI_ROOT_DIR}/${OMPI_VERSION}"
-
-    # Download, build, and install OpenMPI
-    wget "${OMPI_ROOT_URL}/v${OMPI_MAJOR}.${OMPI_MINOR}/openmpi-${OMPI_VERSION}.tar.gz"
-    tar -xf "openmpi-${OMPI_VERSION}.tar.gz"
-    cd "openmpi-${OMPI_VERSION}"
-    ./configure --prefix="${OMPI_INSTALL_DIR}" --without-verbs
-    make all install
-
-    cd /tmp
-
-    # Remove OpenMPI build directory and source tarball
-    rm -rf "openmpi-${OMPI_VERSION}"
-    rm "openmpi-${OMPI_VERSION}.tar.gz"
-
-    # Cleanup
-    apt-get -y autoremove --purge
-    apt-get -y clean
-
-    # Update database for mlocate
-    updatedb
-
-%files
-
-%runscript
-
-%test
-- 
GitLab