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

Add Ubuntu 18.04 + OpenMPI 4.0.4 definition file

Updated the existing base Ubuntu 18.04 + OpenMPI 3.1.6 definition file
to OpenMPI 4.0.4, which is currently the default version of OpenMPI
deployed on Expanse at SDSC.
parent 02b4aac2
No related branches found
No related tags found
No related merge requests found
Bootstrap: shub
From: mkandes/naked-singularity:ubuntu-18.04
%labels
APPLICATION_NAME ubuntu + openmpi
APPLICATION_VERSION 18.04 + 4.0.4
APPLICATION_URL https://www.open-mpi.org
AUTHOR_NAME Marty Kandes
AUTHOR_EMAIL mkandes@sdsc.edu
LAST_UPDATED 20210223
%setup
%environment
# Set Mellanox OFED version number, operating system, and hardware
# platform
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 versions, root and
# installation directories
export OPENMPI_MAJOR_VERSION=4
export OPENMPI_MINOR_VERSION=0
export OPENMPI_REVISION_VERSION=4
export OPENMPI_VERSION="${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}.${OPENMPI_REVISION_VERSION}"
export OPENMPI_ROOT_DIR='/opt/openmpi'
export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}/${OPENMPI_VERSION}"
# Set paths to OpenMPI binaries and libraries
export PATH="${OPENMPI_INSTALL_DIR}/bin:${PATH}"
export LD_LIBRARY_PATH="${OPENMPI_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'
# 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 number, operating system, and hardware
# platform
export MLNX_OFED_VERSION='4.7-3.2.9.0'
export MLNX_OS_VERSION='ubuntu18.04'
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 "http://www.mellanox.com/downloads/ofed/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 versions, root and
# installation directories
export OPENMPI_MAJOR_VERSION=4
export OPENMPI_MINOR_VERSION=0
export OPENMPI_REVISION_VERSION=4
export OPENMPI_VERSION="${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}.${OPENMPI_REVISION_VERSION}"
export OPENMPI_ROOT_DIR='/opt/openmpi'
export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}/${OPENMPI_VERSION}"
# Download, build, and install OpenMPI
wget "https://download.open-mpi.org/release/open-mpi/v${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}/openmpi-${OPENMPI_VERSION}.tar.gz"
tar -xf "openmpi-${OPENMPI_VERSION}.tar.gz"
cd "openmpi-${OPENMPI_VERSION}"
./configure --prefix="${OPENMPI_INSTALL_DIR}"
make all install
cd /tmp
# Remove OpenMPI build directory and source tarball
rm -rf "openmpi-${OPENMPI_VERSION}"
rm "openmpi-${OPENMPI_VERSION}.tar.gz"
# Cleanup
apt-get -y autoremove --purge
apt-get -y clean
# 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