From 0d39618339b38314f375bf2e8a6ca00cf1bcd1d9 Mon Sep 17 00:00:00 2001
From: Marty Kandes <mkandes@sdsc.edu>
Date: Wed, 10 Mar 2021 15:59:48 +0000
Subject: [PATCH] Add OSU Micro-Benchmarks (OMB) 5.7 definition file
---
...ularity.omb-5.7-ubuntu-18.04-openmpi-4.0.4 | 115 ++++++++++++++++++
1 file changed, 115 insertions(+)
create mode 100644 definition-files/omb/Singularity.omb-5.7-ubuntu-18.04-openmpi-4.0.4
diff --git a/definition-files/omb/Singularity.omb-5.7-ubuntu-18.04-openmpi-4.0.4 b/definition-files/omb/Singularity.omb-5.7-ubuntu-18.04-openmpi-4.0.4
new file mode 100644
index 0000000..20a48a2
--- /dev/null
+++ b/definition-files/omb/Singularity.omb-5.7-ubuntu-18.04-openmpi-4.0.4
@@ -0,0 +1,115 @@
+Bootstrap: shub
+From: mkandes/naked-singularity:ubuntu-18.04-openmpi-4.0.4
+
+%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 20210305
+
+%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='4'
+ 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
--
GitLab