diff --git a/definition-files/omb/Singularity.omb-5.7-centos-7.7.1908-openmpi-3.1.6 b/definition-files/omb/Singularity.omb-5.7-centos-7.7.1908-openmpi-3.1.6 new file mode 100644 index 0000000000000000000000000000000000000000..6edd872b47c322d5bd602a5a86c1b9b455770639 --- /dev/null +++ b/definition-files/omb/Singularity.omb-5.7-centos-7.7.1908-openmpi-3.1.6 @@ -0,0 +1,112 @@ +Bootstrap: localimage +From: ../centos/centos-7.7.1908-openmpi-3.1.6.sif + +%labels + + APPLICATION_NAME OSU Microbenchmarks + APPLICATION_VERSION 5.6.3 + APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20210726 + +%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='https://vault.centos.org/7.7.1908/os/x86_64' + + # Set operating system version + export OSVERSION='7' + + # Set system locale + export LC_ALL=C + + # 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='rhel7.7' + 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='3' + export OMPI_MINOR='1' + export OMPI_REVISION='6' + 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}" + + # Update all software packages to their latest versions + yum -y check-update && yum -y update + + 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 + package-cleanup -q --leaves | xargs -l1 yum -y remove + yum -y clean all + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test