Skip to content
Snippets Groups Projects
Select Git revision
  • 05674a72f73cf8a72b8974b3659dfee267a939af
  • master default protected
2 results

clockevent.c

Blame
  • Singularity.omb-5.7-centos-7.7.1908-cuda-11.0-openmpi-3.1.6 3.87 KiB
    Bootstrap: localimage
    From: ../centos/centos-7.7.1908-cuda-11.0-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 20210728
    
    %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 CUDA version
        export CUDA_MAJOR='11'
        export CUDA_MINOR='0'
        export CUDA_VERSION="${CUDA_MAJOR}.${CUDA_MINOR}"
    
        # Set paths to CUDA binaries and libraries
        export CUDA_HOME="/usr/local/cuda-${CUDA_VERSION}"
        export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}"
        export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
    
        # 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' --enable-cuda --with-cuda-include="${CUDA_HOME}/include" --with-cuda-libpath="${CUDA_HOME}/lib64"
        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