Bootstrap: docker From: nvidia/cuda:11.4.2-cudnn8-devel-ubuntu18.04 Stage: spython-base %post export SINGULARITY_BINDPATH=$SINGULARITY_BINDPATH,$(echo /usr/bin/ | sed -e 's/ /,/g') MLNX_ARCH=ubuntu18.04-x86_64 MLNX_VERSION=5.2-1.0.4.0 # Python 3.7 is supported by Ubuntu Bionic out of the box python=3.7 PYTHON_VERSION=${python} # Set default shell to /bin/bash #SHELL ["/bin/bash", "-cu"] TZ="Europe/London" RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-downgrades --allow-change-held-packages --no-install-recommends \ build-essential \ cmake \ g++-7 \ git \ curl \ vim \ wget \ ca-certificates \ python${PYTHON_VERSION} \ python${PYTHON_VERSION}-dev \ python${PYTHON_VERSION}-distutils \ libpython-stdlib \ python \ udev \ automake \ gfortran \ autotools-dev \ chrpath \ pkg-config \ libnl-3-dev \ tcl \ pciutils \ tk \ libnl-route-3-dev \ libltdl-dev \ bison \ autoconf \ flex \ graphviz \ libssl1.0.0 \ kmod \ debhelper \ libgfortran4 \ ethtool \ swig \ lsof \ libnl-route-3-200 \ m4 \ libnl-3-200 \ dpatch \ libnuma-dev \ iputils-ping \ iproute2 \ apt-utils ln -sf /usr/bin/python${PYTHON_VERSION} /usr/bin/python curl -O https://bootstrap.pypa.io/get-pip.py && \ python get-pip.py && \ rm get-pip.py wget http://www.mellanox.com/downloads/ofed/MLNX_OFED-${MLNX_VERSION}/MLNX_OFED_LINUX-${MLNX_VERSION}-${MLNX_ARCH}.tgz && \ tar -xzvf MLNX_OFED_LINUX-${MLNX_VERSION}-${MLNX_ARCH}.tgz --no-same-owner && \ cd MLNX_OFED_LINUX-${MLNX_VERSION}-${MLNX_ARCH} && \ ./mlnxofedinstall --user-space-only --without-fw-update --skip-repo --force && \ cd .. && \ rm -rf MLNX_OFED-LINUX-${MLNX_VERSION}-${MLNX_ARCH} && \ rm -rf *.tgz # Install Open MPI version 4.1 wget https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-4.1.0.tar.gz && \ tar zxf openmpi-4.1.0.tar.gz && \ cd openmpi-4.1.0 && \ ./configure --enable-mpirun-prefix-by-default \ --enable-shared \ --without-verbs && \ make -j $(nproc) all && \ make install && \ ldconfig && \ rm -rf /tmp/openmpi cd / pip --no-cache-dir --disable-pip-version-check install mpi4py LD_LIBRARY_PATH=/usr/local/lib/:/usr/local/lib/openmpi:$LD_LIBRARY_PATH %environment %runscript