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

Update OMB 5.7 def file to use OpenMPI 4.0.5

Also removed Singularity.ubuntu-18.04-openmpi-4.1.0 as it is not needed
at this time.
parent 8c59ea28
No related branches found
No related tags found
No related merge requests found
Bootstrap: shub Bootstrap: shub
From: mkandes/naked-singularity:ubuntu-18.04 From: mkandes/naked-singularity:ubuntu-18.04-openmpi-4.0.5
%labels %labels
APPLICATION_NAME ubuntu + openmpi APPLICATION_NAME OSU Micro-Benchmarks
APPLICATION_VERSION 18.04 + 4.1.0 APPLICATION_VERSION 5.7
APPLICATION_URL https://www.open-mpi.org APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks
AUTHOR_NAME Marty Kandes AUTHOR_NAME Marty Kandes
AUTHOR_EMAIL mkandes@sdsc.edu AUTHOR_EMAIL mkandes@sdsc.edu
LAST_UPDATED 20210319 LAST_UPDATED 20210321
%setup %setup
%environment %environment
# Set Mellanox OFED version, operating system, and hardware platform # Set OMB major and minor version numbers, root and
export MLNX_ROOT_URL='http://www.mellanox.com/downloads/ofed'
export MLNX_OFED_VERSION='4.7-3.2.9.0'
export MLNX_OS_VERSION='ubuntu18.04'
export MLNX_PLATFORM='x86_64'
# Set OpenMPI major, minor, and revision numbers, root and
# installation directories # installation directories
export OMPI_ROOT_URL='https://download.open-mpi.org/release/open-mpi' export OMB_ROOT_URL='http://mvapich.cse.ohio-state.edu/download/mvapich'
export OMPI_MAJOR='4' export OMB_MAJOR='5'
export OMPI_MINOR='1' export OMB_MINOR='7'
export OMPI_REVISION='0' export OMB_VERSION="${OMB_MAJOR}.${OMB_MINOR}"
export OMPI_VERSION="${OMPI_MAJOR}.${OMPI_MINOR}.${OMPI_REVISION}" export OMB_ROOT_DIR='/opt/omb'
export OMPI_ROOT_DIR='/opt/openmpi' export OMB_INSTALL_DIR="${OMB_ROOT_DIR}/${OMB_VERSION}"
export OMPI_INSTALL_DIR="${OMPI_ROOT_DIR}/${OMPI_VERSION}"
# Set paths to OSU Microbenchmarks binaries
# Set paths to OpenMPI binaries and libraries export PATH="${OMB_INSTALL_DIR}/collective:${PATH}"
export PATH="${OMPI_INSTALL_DIR}/bin:${PATH}" export PATH="${OMB_INSTALL_DIR}/one-sided:${PATH}"
export LD_LIBRARY_PATH="${OMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" export PATH="${OMB_INSTALL_DIR}/pt2pt:${PATH}"
export PATH="${OMB_INSTALL_DIR}/startup:${PATH}"
%post -c /bin/bash %post -c /bin/bash
...@@ -50,75 +45,61 @@ From: mkandes/naked-singularity:ubuntu-18.04 ...@@ -50,75 +45,61 @@ From: mkandes/naked-singularity:ubuntu-18.04
# Set debian frontend interface # Set debian frontend interface
export DEBIAN_FRONTEND='noninteractive' export DEBIAN_FRONTEND='noninteractive'
# Upgrade all software packages to their latest versions
apt-get -y update && apt-get -y upgrade
# Install all dependencies and/or prerequisites for Mellanox OFED
apt-get -y install bison
apt-get -y install chrpath
apt-get -y install debhelper
apt-get -y install dpatch
apt-get -y install flex
apt-get -y install graphviz
apt-get -y install libnl-3-dev
apt-get -y install libnl-route-3-200
apt-get -y install tcl-dev
apt-get -y install tk-dev
apt-get -y install swig
cd /tmp
# Set Mellanox OFED version, operating system, and hardware platform # Set Mellanox OFED version, operating system, and hardware platform
export MLNX_ROOT_URL='http://www.mellanox.com/downloads/ofed' export MLNX_ROOT_URL='http://www.mellanox.com/downloads/ofed'
export MLNX_OFED_VERSION='4.7-3.2.9.0' export MLNX_OFED_VERSION='4.7-3.2.9.0'
export MLNX_OS_VERSION='ubuntu18.04' export MLNX_OS_VERSION='ubuntu18.04'
export MLNX_PLATFORM='x86_64' 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 additional tools
apt-get -y install numactl
apt-get -y install libnuma-dev
# Install OpenMPI dependencies
apt-get -y install zlib1g-dev
cd /tmp
# Set OpenMPI major, minor, and revision numbers, root and # Set OpenMPI major, minor, and revision numbers, root and
# installation directories # installation directories
export OMPI_ROOT_URL='https://download.open-mpi.org/release/open-mpi' export OMPI_ROOT_URL='https://download.open-mpi.org/release/open-mpi'
export OMPI_MAJOR='4' export OMPI_MAJOR='4'
export OMPI_MINOR='1' export OMPI_MINOR='0'
export OMPI_REVISION='0' export OMPI_REVISION='5'
export OMPI_VERSION="${OMPI_MAJOR}.${OMPI_MINOR}.${OMPI_REVISION}" export OMPI_VERSION="${OMPI_MAJOR}.${OMPI_MINOR}.${OMPI_REVISION}"
export OMPI_ROOT_DIR='/opt/openmpi' export OMPI_ROOT_DIR='/opt/openmpi'
export OMPI_INSTALL_DIR="${OMPI_ROOT_DIR}/${OMPI_VERSION}" export OMPI_INSTALL_DIR="${OMPI_ROOT_DIR}/${OMPI_VERSION}"
# Download, build, and install OpenMPI # Set paths to OpenMPI binaries and libraries
wget "${OMPI_ROOT_URL}/v${OMPI_MAJOR}.${OMPI_MINOR}/openmpi-${OMPI_VERSION}.tar.gz" export PATH="${OMPI_INSTALL_DIR}/bin:${PATH}"
tar -xf "openmpi-${OMPI_VERSION}.tar.gz" export LD_LIBRARY_PATH="${OMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}"
cd "openmpi-${OMPI_VERSION}"
./configure --prefix="${OMPI_INSTALL_DIR}" --without-verbs # Upgrade all software packages to their latest versions
make all install 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='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 cd /tmp
# Remove OpenMPI build directory and source tarball # Remove OMB build directory and source tarball
rm -rf "openmpi-${OMPI_VERSION}" rm -rf "osu-micro-benchmarks-${OMB_VERSION}"
rm "openmpi-${OMPI_VERSION}.tar.gz" rm "osu-micro-benchmarks-${OMB_VERSION}.tar.gz"
# Cleanup # Cleanup
apt-get -y autoremove --purge apt-get -y autoremove --purge
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment