Skip to content
Snippets Groups Projects
Select Git revision
  • 982bfc4775ab620e04d663ba67ae4c5aab3f6e17
  • master default protected
2 results

Singularity.omb-5.7-centos-7.7.1908-openmpi-3.1.6

  • Singularity.omb-5.7-centos-7.7.1908-openmpi-3.1.6 3.40 KiB
    Bootstrap: localimage
    From: ../centos/centos-7.7.1908-openmpi-3.1.6.sif
    
    %labels
    
        APPLICATION_NAME OSU Microbenchmarks
        APPLICATION_VERSION 5.7
        APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks
    
        AUTHOR_NAME Marty Kandes
        AUTHOR_EMAIL mkandes@sdsc.edu
    
        LAST_UPDATED 20210727
    
    %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