Skip to content
Snippets Groups Projects
Commit 982bfc47 authored by Marty Kandes's avatar Marty Kandes
Browse files

Add CentOS 7.7 + CUDA 11.0 + OpenMPI 3.1.6/4.0.5 def files

As mentioned in a recent commit, an Expanse user required a much older
GCC compiler for their code, but also still wanted to run the code
across multiple nodes with full Infiniband support. This code also
required a CUDA-enabled version of OpenMPI. As such, these additional
definition files were created to support their CUDA requirement.
Infiniband support was tested with the OMB containers also included here.

Again, please note that CentOS 7.7 has been deprecated and should only
be used in limited circumstances when necessary. In this case, Mellanox
does not provide an OFED version matching the one we have on Expanse for
the latest versions of CentOS 7.
parent 227f989b
No related branches found
No related tags found
No related merge requests found
......@@ -57,8 +57,8 @@ University of California, San Diego
## Version
1.7.6
1.7.9
## Last Updated
Friday, July 23rd, 2021
Sunday, August 1st, 2021
Bootstrap: localimage
From: centos-7.7.1908.sif
%labels
APPLICATION_NAME centos + cuda
APPLICATION_VERSION 7.7.1908 + 11.0
APPLICATION_URL https://docs.nvidia.com/cuda
AUTHOR_NAME Marty Kandes
AUTHOR_EMAIL mkandes@sdsc.edu
LAST_UPDATED 20210727
%setup
%environment
# Location of NVIDIA/CUDA repositories
export CUDA_ROOT_URL='http://developer.download.nvidia.com/compute'
export CUDA_DISTRO='rhel7'
export CUDA_ARCH='x86_64'
export CUDA_REPO_URL="${CUDA_ROOT_URL}/cuda/repos/${CUDA_DISTRO}/${CUDA_ARCH}"
export CUDA_GPG_PUBKEY='7fa2af80.pub'
# Set NVIDIA driver and CUDA versions
export CUDA_DRIVER_MAJOR='460'
export CUDA_DRIVER_MINOR='32'
export CUDA_DRIVER_REVISION='03'
export CUDA_DRIVER_VERSION="${CUDA_DRIVER_MAJOR}.${CUDA_DRIVER_MINOR}.${CUDA_DRIVER_REVISION}"
export CUDA_MAJOR='11'
export CUDA_MINOR='0'
export CUDA_REVISION='2'
export CUDA_VERSION="${CUDA_MAJOR}.${CUDA_MINOR}"
export CUDNN_MAJOR='8'
export CUDNN_MINOR='1'
export CUDNN_REVISION='0.77'
export CUDNN_VERSION="${CUDNN_MAJOR}.${CUDNN_MINOR}.${CUDNN_REVISION}"
export NCCL_MAJOR='2'
export NCCL_MINOR='8'
export NCCL_REVISION='4'
export NCCL_VERSION="${NCCL_MAJOR}.${NCCL_MINOR}.${NCCL_REVISION}"
# 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}}"
%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
# Update all software packages to their latest versions
yum -y check-update && yum -y update
# Location of NVIDIA/CUDA repositories
export CUDA_ROOT_URL='http://developer.download.nvidia.com/compute'
export CUDA_DISTRO='rhel7'
export CUDA_ARCH='x86_64'
export CUDA_REPO_URL="${CUDA_ROOT_URL}/cuda/repos/${CUDA_DISTRO}/${CUDA_ARCH}"
export CUDA_GPG_PUBKEY='7fa2af80.pub'
# Set NVIDIA driver and CUDA versions
export CUDA_DRIVER_MAJOR='460'
export CUDA_DRIVER_MINOR='32'
export CUDA_DRIVER_REVISION='03'
export CUDA_DRIVER_VERSION="${CUDA_DRIVER_MAJOR}.${CUDA_DRIVER_MINOR}.${CUDA_DRIVER_REVISION}"
export CUDA_MAJOR='11'
export CUDA_MINOR='0'
export CUDA_REVISION='2'
export CUDA_VERSION="${CUDA_MAJOR}.${CUDA_MINOR}"
export CUDNN_MAJOR='8'
export CUDNN_MINOR='1'
export CUDNN_REVISION='0.77'
export CUDNN_VERSION="${CUDNN_MAJOR}.${CUDNN_MINOR}.${CUDNN_REVISION}"
export NCCL_MAJOR='2'
export NCCL_MINOR='8'
export NCCL_REVISION='4'
export NCCL_VERSION="${NCCL_MAJOR}.${NCCL_MINOR}.${NCCL_REVISION}"
# 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}}"
# Install NVIDIA package dependencies
yum -y install xorg-x11-server-Xorg
yum -y install xorg-x11-server-common
yum -y install xorg-x11-apps
yum -y install xorg-x11-utils
yum -y install xorg-x11-xauth
yum -y install xorg-x11-xkb-utils
yum -y install cmake
yum -y install make
yum -y install dkms
yum -y install kernel-headers
yum -y install glibc-devel
yum -y install glibc-headers
yum -y install glibc-utils
yum -y install libwayland-client
yum -y install libwayland-server
yum -y install pkgconfig
yum -y install libvdpau
yum -y install libva-vdpau-driver
yum -y install atk
yum -y install atk-devel
yum -y install cairo
yum -y install cairo-devel
yum -y install cairo-gobject
yum -y install cairo-gobject-devel
yum -y install cairo-tools
yum -y install fontconfig
yum -y install fontconfig-devel
yum -y install gdk-pixbuf2
yum -y install gdk-pixbuf2-devel
yum -y install gtk3
yum -y install gtk3-devel
yum -y install gtk2
yum -y install gtk2-devel
yum -y install jansson
yum -y install freeglut
yum -y install freeglut-devel
yum -y install libX11
yum -y install libX11-devel
yum -y install libX11-common
yum -y install libXmu
yum -y install libXmu-devel
yum -y install libXi
yum -y install libXi-devel
yum -y install mesa-libGLU
yum -y install mesa-libGLU-devel
yum -y install java-latest-openjdk
yum -y install java-latest-openjdk-devel
yum -y install grubby
yum -y install libtirpc
yum -y install ocl-icd
yum -y install opencl-filesystem
yum -y install vulkan-filesystem
cd /tmp
# Download local installer rpm and then install NVIDIA driver and
# CUDA toolkit meta-packages
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda-repo-rhel7-11-0-local-11.0.2_450.51.05-1.x86_64.rpm
rpm -i cuda-repo-rhel7-11-0-local-11.0.2_450.51.05-1.x86_64.rpm
yum -y install nvidia-driver-latest-dkms
yum -y install cuda
yum -y install cuda-drivers
# Cleanup
package-cleanup -q --leaves | xargs -l1 yum -y remove
yum -y clean all
# Update database for mlocate
updatedb
%files
%runscript
%test
Bootstrap: localimage
From: centos-7.7.1908-cuda-11.0.sif
%labels
APPLICATION_NAME centos + cuda + openmpi
APPLICATION_VERSION 7.7.1908 + 11.0 + 3.1.6
APPLICATION_URL https://www.open-mpi.org
AUTHOR_NAME Marty Kandes
AUTHOR_EMAIL mkandes@sdsc.edu
LAST_UPDATED 20210727
%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='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}"
%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
# Update all software packages to their latest versions
yum -y check-update && yum -y update
# Install all dependencies and/or prerequisites for Mellanox OFED
yum -y install perl
yum -y install pciutils
yum -y install python
yum -y install gcc-gfortran
yum -y install libxml2-python
yum -y install tcsh
yum -y install libnl.i686
yum -y install libnl
yum -y install expat
yum -y install glib2
yum -y install tcl
yum -y install libstdc++
yum -y install bc
yum -y install tk
yum -y install gtk2
yum -y install atk
yum -y install cairo
yum -y install numactl
yum -y install pkgconfig
yum -y install ethtool
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='rhel7.7'
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 OpenMPI dependencies
yum -y install zlib
yum -y install zlib-devel
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='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}"
# 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}" --with-cuda
make all install
cd /tmp
# Remove OpenMPI build directory and source tarball
rm -rf "openmpi-${OMPI_VERSION}"
rm "openmpi-${OMPI_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
Bootstrap: localimage
From: centos-7.7.1908-cuda-11.0.sif
%labels
APPLICATION_NAME centos + cuda + openmpi
APPLICATION_VERSION 7.7.1908 + 11.0 + 4.0.5
APPLICATION_URL https://www.open-mpi.org
AUTHOR_NAME Marty Kandes
AUTHOR_EMAIL mkandes@sdsc.edu
LAST_UPDATED 20210728
%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='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='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}"
%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
# Update all software packages to their latest versions
yum -y check-update && yum -y update
# Install all dependencies and/or prerequisites for Mellanox OFED
yum -y install perl
yum -y install pciutils
yum -y install python
yum -y install gcc-gfortran
yum -y install libxml2-python
yum -y install tcsh
yum -y install libnl.i686
yum -y install libnl
yum -y install expat
yum -y install glib2
yum -y install tcl
yum -y install libstdc++
yum -y install bc
yum -y install tk
yum -y install gtk2
yum -y install atk
yum -y install cairo
yum -y install numactl
yum -y install pkgconfig
yum -y install ethtool
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='rhel7.7'
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 OpenMPI dependencies
yum -y install zlib
yum -y install zlib-devel
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='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}"
# 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}" --with-cuda
make all install
cd /tmp
# Remove OpenMPI build directory and source tarball
rm -rf "openmpi-${OMPI_VERSION}"
rm "openmpi-${OMPI_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
Bootstrap: localimage
From: centos-7.7.1908.sif
%labels
APPLICATION_NAME centos + openmpi
APPLICATION_VERSION 7.7.1908 + 4.0.5
APPLICATION_URL https://www.open-mpi.org
AUTHOR_NAME Marty Kandes
AUTHOR_EMAIL mkandes@sdsc.edu
LAST_UPDATED 20210728
%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='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='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}"
%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
# Update all software packages to their latest versions
yum -y check-update && yum -y update
# Install all dependencies and/or prerequisites for Mellanox OFED
yum -y install perl
yum -y install pciutils
yum -y install python
yum -y install gcc-gfortran
yum -y install libxml2-python
yum -y install tcsh
yum -y install libnl.i686
yum -y install libnl
yum -y install expat
yum -y install glib2
yum -y install tcl
yum -y install libstdc++
yum -y install bc
yum -y install tk
yum -y install gtk2
yum -y install atk
yum -y install cairo
yum -y install numactl
yum -y install pkgconfig
yum -y install ethtool
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='rhel7.7'
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 OpenMPI dependencies
yum -y install zlib
yum -y install zlib-devel
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='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}"
# 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}"
make all install
cd /tmp
# Remove OpenMPI build directory and source tarball
rm -rf "openmpi-${OMPI_VERSION}"
rm "openmpi-${OMPI_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
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
......@@ -4,13 +4,13 @@ From: ../centos/centos-7.7.1908-openmpi-3.1.6.sif
%labels
APPLICATION_NAME OSU Microbenchmarks
APPLICATION_VERSION 5.6.3
APPLICATION_VERSION 5.7
APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks
AUTHOR_NAME Marty Kandes
AUTHOR_EMAIL mkandes@sdsc.edu
LAST_UPDATED 20210726
LAST_UPDATED 20210727
%setup
......
Bootstrap: localimage
From: ../centos/centos-7.7.1908-openmpi-4.0.5.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 20210729
%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='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}"
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment