From 0a6b27e72401bb3260ed86fff81f2d26e908e753 Mon Sep 17 00:00:00 2001 From: Marty Kandes <mkandes@sdsc.edu> Date: Fri, 24 Sep 2021 23:46:30 +0000 Subject: [PATCH] Add Singularity.omb-5.8-ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 Another OMB container (and its base container layers) built to assist with testing CUDA-enabled OpenMPI to help investigate a problem with multi-GPU node support in Expanse's software deployment. Again, these containers will also be used to prepare acceptance tests on Expanse for the upcoming deployment of Voyager. --- README.md | 4 +- ...a-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 | 117 ++++++++++++++++++ ...untu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1 | 2 +- ...a-10.2-mlnx-ofed-4.6-1.0.1.1-openmpi-3.1.4 | 2 +- ...a-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 | 106 ++++++++++++++++ 5 files changed, 227 insertions(+), 4 deletions(-) create mode 100644 definition-files/omb/Singularity.omb-5.8-ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 create mode 100644 definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 diff --git a/README.md b/README.md index a6aaea2..55a52c4 100644 --- a/README.md +++ b/README.md @@ -60,8 +60,8 @@ University of California, San Diego ## Version -1.9.3 +1.9.4 ## Last Updated -Saturday, September 4th, 2021 +Friday, September 24th, 2021 diff --git a/definition-files/omb/Singularity.omb-5.8-ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 b/definition-files/omb/Singularity.omb-5.8-ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 new file mode 100644 index 0000000..178985b --- /dev/null +++ b/definition-files/omb/Singularity.omb-5.8-ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 @@ -0,0 +1,117 @@ +Bootstrap: oras +From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 + +%labels + + APPLICATION_NAME OSU Micro-Benchmarks + APPLICATION_VERSION 5.8 + APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20210924 + +%setup + +%environment + + # Set OMB major and minor version numbers, root and + # installation directories + export OMB_MAJOR='5' + export OMB_MINOR='8' + 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 NVIDIA CUDA version + export CUDA_MAJOR='11' + export CUDA_MINOR='2' + 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 OpenMPI major, minor, and revision numbers, root and + # installation directories + 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}" + + # 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='8' + 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}.tgz" + tar -xf "osu-micro-benchmarks-${OMB_VERSION}.tgz" + 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}.tgz" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1 b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1 index 85a749a..306c06b 100644 --- a/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1 +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1 @@ -4,7 +4,7 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-cuda-10.2 %labels APPLICATION_NAME ubuntu + cuda mlnx-ofed - APPLICATION_VERSION 18.04 + 10.2. + 4.6-1.0.1.1 + APPLICATION_VERSION 18.04 + 10.2 + 4.6-1.0.1.1 APPLICATION_URL https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed AUTHOR_NAME Marty Kandes diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1-openmpi-3.1.4 b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1-openmpi-3.1.4 index 7493e57..d7a3cbe 100644 --- a/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1-openmpi-3.1.4 +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0.1.1-openmpi-3.1.4 @@ -4,7 +4,7 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-cuda-10.2-mlnx-ofed-4.6-1.0 %labels APPLICATION_NAME ubuntu + cuda + mlnx-ofed + openmpi - APPLICATION_VERSION 18.04 + 10.2. + 4.6-1.0.1.1 + 3.1.4 + APPLICATION_VERSION 18.04 + 10.2 + 4.6-1.0.1.1 + 3.1.4 APPLICATION_URL https://www.open-mpi.org AUTHOR_NAME Marty Kandes diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 new file mode 100644 index 0000000..62163a2 --- /dev/null +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 @@ -0,0 +1,106 @@ +Bootstrap: oras +From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-cuda-11.2-mlnx-ofed-4.7-3.2.9.0 + +%labels + + APPLICATION_NAME ubuntu + cuda + mlnx-ofed + openmpi + APPLICATION_VERSION 18.04 + 11.2 + 4.7-3.2.9.0 + 4.0.5 + APPLICATION_URL https://www.open-mpi.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20210924 + +%setup + +%environment + + # Set OpenMPI major, minor, and revision numbers, root and + # installation directories + 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='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 NVIDIA CUDA version + export CUDA_MAJOR='11' + export CUDA_MINOR='2' + 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}}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install OpenMPI dependencies + apt-get -y install zlib1g-dev + + # 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}" + + cd /tmp + + # 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}" --enable-shared \ + --disable-silent-rules --disable-builtin-atomics --enable-static \ + --without-hcoll --without-psm --without-knem --without-psm2 \ + --with-verbs=/usr --without-ofi --without-mxm --without-fca \ + --without-xpmem --without-ucx --without-cma --without-slurm \ + --without-tm --without-loadleveler --without-alps --without-lsf \ + --without-sge --disable-memchecker --disable-java \ + --disable-mpi-java --with-cuda --enable-mpi-cxx \ + --enable-cxx-exceptions + make all install + + cd /tmp + + # Remove OpenMPI build directory and source tarball + rm -rf "openmpi-${OMPI_VERSION}" + rm "openmpi-${OMPI_VERSION}.tar.gz" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test -- GitLab