From e41633e0f2f4e9c64d5fa0dcdad20ac483e6d9ed Mon Sep 17 00:00:00 2001 From: Marty Kandes <mkandes@sdsc.edu> Date: Fri, 2 Mar 2018 11:07:37 -0800 Subject: [PATCH] naked-singularity-v0.1.4 :: rewrote and added additional comments to ubuntu.def and ubuntu-cuda.def; also modified PATH and LD_LIBRARY_PATH within ubuntu-cuda.def via Singularity environment variables to include CUDA binaries and libraries by default --- .../us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def | 39 +++++++------------ .../us/ucsd/sdsc/comet/ubuntu/ubuntu.def | 20 +++++----- 2 files changed, 26 insertions(+), 33 deletions(-) diff --git a/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def b/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def index 5456bef..e6670e1 100644 --- a/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def +++ b/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu-cuda.def @@ -12,7 +12,7 @@ OSVersion: xenial SYSTEM_NAME comet SYSTEM_SINGULARITY_VERSION 2.3.2 SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html - LAST_UPDATED 20180226 + LAST_UPDATED 20180302 %setup @@ -20,11 +20,14 @@ OSVersion: xenial %post -c /bin/bash + # Set system locale export LC_ALL=C + # Install system metapackages apt-get -y install ubuntu-standard apt-get -y install ubuntu-server + # Add repositories add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} main" add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} universe" add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} multiverse" @@ -45,6 +48,7 @@ OSVersion: xenial add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security multiverse" add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security restricted" + # Upgrade all packages to their latest versions apt-get -y update && apt-get -y upgrade # Install common packages from 'main' @@ -62,19 +66,11 @@ OSVersion: xenial # Make filesystem mount points mkdir /cvmfs /oasis /projects /scratch - # Build and install additional software packages in /opt - cd /opt - - # Install Miniconda -- a free minimal installer for conda - # - # Miniconda is a small, bootstrap version of Anaconda that includes - # only conda, Python, the packages they depend on and a small number - # of other useful packages, including pip, zlib and a few others. - # Use the 'conda install' command to install more than 720 - # additional conda packages from the Anaconda repository. - # - # https://conda.io/docs/index.html + # Use /tmp to store temporary files within the container during the + # bootstraping process + cd /tmp + # Install miniconda2 wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh chmod +x Miniconda2-latest-Linux-x86_64.sh @@ -104,9 +100,7 @@ OSVersion: xenial chmod +x install-miniconda2.exp ./install-miniconda2.exp - rm Miniconda2-latest-Linux-x86_64.sh - rm install-miniconda2.exp - + # Install miniconda3 wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-latest-Linux-x86_64.sh @@ -136,9 +130,6 @@ OSVersion: xenial chmod +x install-miniconda3.exp ./install-miniconda3.exp - rm Miniconda3-latest-Linux-x86_64.sh - rm install-miniconda3.exp - # Location of NVIDIA repositories declare -r NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute' declare -r CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/ubuntu1604/x86_64" @@ -272,12 +263,15 @@ OSVersion: xenial dpkg -i libnccl2_2.1.2-1+cuda8.0_amd64.deb dpkg -i libnccl-dev_2.1.2-1+cuda8.0_amd64.deb - rm *.deb - # Set paths to CUDA binaries and libraries export PATH="/usr/local/cuda-8.0/bin${PATH:+:${PATH}}" export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + # Set container environment variables + cd /.singularity.d/env + echo 'export PATH="/usr/local/cuda-8.0/bin${PATH:+:${PATH}}"' >> 90-environment.sh + echo 'export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"' >> 90-environment.sh + # Update database for mlocate updatedb @@ -287,8 +281,5 @@ OSVersion: xenial %test - # Test if nvcc was installed properly - export PATH="/usr/local/cuda-8.0/bin${PATH:+:${PATH}}" - export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" nvcc --version diff --git a/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu.def b/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu.def index c8ced8e..efbc3dc 100644 --- a/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu.def +++ b/definition-files/us/ucsd/sdsc/comet/ubuntu/ubuntu.def @@ -12,7 +12,7 @@ OSVersion: xenial SYSTEM_NAME comet SYSTEM_SINGULARITY_VERSION 2.3.2 SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html - LAST_UPDATED 20180226 + LAST_UPDATED 20180302 %setup @@ -20,11 +20,14 @@ OSVersion: xenial %post -c /bin/bash + # Set system locale export LC_ALL=C + # Install system metapackages apt-get -y install ubuntu-standard apt-get -y install ubuntu-server + # Add repositories add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} main" add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} universe" add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} multiverse" @@ -45,6 +48,7 @@ OSVersion: xenial add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security multiverse" add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security restricted" + # Upgrade all packages to their latest versions apt-get -y update && apt-get -y upgrade # Install common packages from 'main' @@ -62,8 +66,9 @@ OSVersion: xenial # Make filesystem mount points mkdir /cvmfs /oasis /projects /scratch - # Build and install additional software packages in /opt - cd /opt + # Use /tmp to store temporary files within the container during the + # bootstraping process + cd /tmp # Install miniconda2 wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh @@ -95,9 +100,6 @@ OSVersion: xenial chmod +x install-miniconda2.exp ./install-miniconda2.exp - rm Miniconda2-latest-Linux-x86_64.sh - rm install-miniconda2.exp - # Install miniconda3 wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-latest-Linux-x86_64.sh @@ -128,11 +130,11 @@ OSVersion: xenial chmod +x install-miniconda3.exp ./install-miniconda3.exp - rm Miniconda3-latest-Linux-x86_64.sh - rm install-miniconda3.exp + # Set container environment variables + cd /.singularity.d/env # Update database for mlocate - updatedb + updatedb %files -- GitLab