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

naked-singularity-v0.1.2 :: updated tensorflow-cpu.def and

tensorflow-gpu.def on comet to build both python(2) and python3 versions
side-by-side; also added many of the more common python-based data
science and machine learning packages
parent 8e5ea3fc
No related branches found
No related tags found
No related merge requests found
...@@ -10,8 +10,6 @@ DESCRIPTION ...@@ -10,8 +10,6 @@ DESCRIPTION
* http://singularity.lbl.gov/ * http://singularity.lbl.gov/
USAGE
STATUS STATUS
A work in progress. A work in progress.
...@@ -29,6 +27,10 @@ AUTHOR ...@@ -29,6 +27,10 @@ AUTHOR
HPC User Services Group, San Diego Supercomputer Center HPC User Services Group, San Diego Supercomputer Center
University of California, San Diego University of California, San Diego
VERSION
0.1.2
LAST UPDATED LAST UPDATED
Thursday, December 20th, 2017 Wednesday, February 14th, 2018
...@@ -8,12 +8,11 @@ OSVersion: xenial ...@@ -8,12 +8,11 @@ OSVersion: xenial
AUTHOR_EMAIL mkandes@sdsc.edu AUTHOR_EMAIL mkandes@sdsc.edu
APPLICATION_NAME tensorflow APPLICATION_NAME tensorflow
APPLICATION_VERSION 1.4 APPLICATION_VERSION 1.4
APPLICATION_URL https://www.tensorflow.org/ APPLICATION_URL https://www.tensorflow.org
SYSTEM_NAME comet SYSTEM_NAME comet
SYSTEM_SINGULARITY_VERSION 2.3.2 SYSTEM_SINGULARITY_VERSION 2.3.2
SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html
VERSION 0.0.6 LAST_UPDATED 20180214
LAST_UPDATED 20180108
%setup %setup
...@@ -48,29 +47,51 @@ OSVersion: xenial ...@@ -48,29 +47,51 @@ OSVersion: xenial
apt-get -y update && apt-get -y upgrade apt-get -y update && apt-get -y upgrade
# Install common packages from 'main'
apt-get -y install autoconf
apt-get -y install automake
apt-get -y install build-essential
apt-get -y install libtool
apt-get -y install pkg-config
apt-get -y install gfortran
apt-get -y install zip
# Make filesystem mount points
mkdir /cvmfs /oasis /projects /scratch mkdir /cvmfs /oasis /projects /scratch
#echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list # Build and install from source in /opt
#curl https://bazel.build/bazel-release.pub.gpg | apt-key add - cd /opt
### Install Bazel using custom APT repository
###apt-get -y install openjdk-8-jdk
###echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list
###curl https://bazel.build/bazel-release.pub.gpg | apt-key add -
###apt-get -y update
###apt-get -y install bazel
###apt-get -y upgrade bazel
apt-get -y update # Install Bazel from Debian Package
apt-get -y install openjdk-8-jdk apt-get -y install openjdk-8-jdk
#apt-get -y install bazel apt-get -y install zlib1g-dev
wget https://github.com/bazelbuild/bazel/releases/download/0.8.1/bazel_0.8.1-linux-x86_64.deb
dpkg -i bazel_0.8.1-linux-x86_64.deb
rm bazel_0.8.1-linux-x86_64.deb
# Install expect to automate responses to TensorFlow build questions
apt-get -y install expect apt-get -y install expect
# Install TensorFlow python dependencies
apt-get -y install python-numpy apt-get -y install python-numpy
apt-get -y install python-dev apt-get -y install python-dev
apt-get -y install python-pip apt-get -y install python-pip
apt-get -y install python-wheel apt-get -y install python-wheel
apt-get -y install zlib1g-dev
wget https://github.com/bazelbuild/bazel/releases/download/0.8.1/bazel_0.8.1-linux-x86_64.deb
dpkg -i bazel_0.8.1-linux-x86_64.deb
cd /opt # Download TensorFlow source
git clone https://github.com/tensorflow/tensorflow git clone https://github.com/tensorflow/tensorflow
cd /opt/tensorflow cd /opt/tensorflow
git checkout r1.4 git checkout r1.4
# Build TensorFlow for python(2)
echo '#!/usr/bin/expect -f' > configure.exp echo '#!/usr/bin/expect -f' > configure.exp
echo 'spawn ./configure' >> configure.exp echo 'spawn ./configure' >> configure.exp
echo 'expect "Please specify the location of python. \[Default is /usr/bin/python\]: "' >> configure.exp echo 'expect "Please specify the location of python. \[Default is /usr/bin/python\]: "' >> configure.exp
...@@ -108,8 +129,84 @@ OSVersion: xenial ...@@ -108,8 +129,84 @@ OSVersion: xenial
bazel-bin/tensorflow/tools/pip_package/build_pip_package /opt/tensorflow_pkg bazel-bin/tensorflow/tools/pip_package/build_pip_package /opt/tensorflow_pkg
pip install /opt/tensorflow_pkg/tensorflow-1.4.1-cp27-cp27mu-linux_x86_64.whl pip install /opt/tensorflow_pkg/tensorflow-1.4.1-cp27-cp27mu-linux_x86_64.whl
rm -rf /opt/tensorflow_pkg
rm configure.exp
# Install TensorFlow python3 dependencies
apt-get -y install python3-numpy
apt-get -y install python3-dev
apt-get -y install python3-pip
apt-get -y install python3-wheel
# Build TensorFlow for python3
echo '#!/usr/bin/expect -f' > configure.exp
echo 'spawn ./configure' >> configure.exp
echo 'expect "Please specify the location of python. \[Default is /usr/bin/python\]: "' >> configure.exp
echo 'send "/usr/bin/python3\r"' >> configure.exp
echo 'expect "Please input the desired Python library path to use. Default is \[/usr/local/lib/python3.5/dist-packages\]\r"' >> configure.exp
echo 'send "/usr/local/lib/python3.5/dist-packages\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with jemalloc as malloc support? \[Y/n\]: "' >> configure.exp
echo 'send "Y\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with Google Cloud Platform support? \[Y/n\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with Hadoop File System support? \[Y/n\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with Amazon S3 File System support? \[Y/n\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with XLA JIT support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with GDR support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with VERBS support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with OpenCL support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with CUDA support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with MPI support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect ": "' >> configure.exp
echo 'send " -march=native\r"' >> configure.exp
echo 'expect "> "' >> configure.exp
chmod +x configure.exp
./configure.exp
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /opt/tensorflow_pkg
pip3 install /opt/tensorflow_pkg/tensorflow-1.4.1-cp35-cp35m-linux_x86_64.whl
rm -rf /opt/tensorflow_pkg
rm configure.exp
# Install common python and python3 packages for data science and
# machine learning applications
apt-get -y install python-scipy apt-get -y install python-scipy
apt-get -y install python-pandas
apt-get -y install python-matplotlib
apt-get -y install ipython
apt-get -y install ipython-notebook
apt-get -y install python-sympy
apt-get -y install python-nose
apt-get -y install python-sklearn
apt-get -y install python-mlpy
apt-get -y install python-nltk
apt-get -y install python-statsmodels
apt-get -y install libopencv-dev
apt-get -y install python-opencv
apt-get -y install python3-scipy
apt-get -y install python3-pandas
apt-get -y install python3-matplotlib
apt-get -y install ipython3
apt-get -y install ipython3-notebook
apt-get -y install python3-sympy
apt-get -y install python3-nose
apt-get -y install python3-sklearn
apt-get -y install python3-nltk
# Update database for mlocate
updatedb
%files %files
...@@ -118,4 +215,5 @@ OSVersion: xenial ...@@ -118,4 +215,5 @@ OSVersion: xenial
%test %test
time -p python /opt/tensorflow/tensorflow/examples/tutorials/mnist/mnist_deep.py time -p python /opt/tensorflow/tensorflow/examples/tutorials/mnist/mnist_deep.py
time -p python3 /opt/tensorflow/tensorflow/examples/tutorials/mnist/mnist_deep.py
...@@ -8,12 +8,11 @@ OSVersion: xenial ...@@ -8,12 +8,11 @@ OSVersion: xenial
AUTHOR_EMAIL mkandes@sdsc.edu AUTHOR_EMAIL mkandes@sdsc.edu
APPLICATION_NAME tensorflow APPLICATION_NAME tensorflow
APPLICATION_VERSION 1.4 APPLICATION_VERSION 1.4
APPLICATION_URL https://www.tensorflow.org/ APPLICATION_URL https://www.tensorflow.org
SYSTEM_NAME comet SYSTEM_NAME comet
SYSTEM_SINGULARITY_VERSION 2.3.2 SYSTEM_SINGULARITY_VERSION 2.3.2
SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html
VERSION 0.0.5 LAST_UPDATED 20180214
LAST_UPDATED 20180108
%setup %setup
...@@ -48,12 +47,24 @@ OSVersion: xenial ...@@ -48,12 +47,24 @@ OSVersion: xenial
apt-get -y update && apt-get -y upgrade apt-get -y update && apt-get -y upgrade
# Install common packages from 'main'
apt-get -y install autoconf
apt-get -y install automake
apt-get -y install build-essential
apt-get -y install libtool
apt-get -y install pkg-config
apt-get -y install gfortran
apt-get -y install zip
# Make filesystem mount points
mkdir /cvmfs /oasis /projects /scratch mkdir /cvmfs /oasis /projects /scratch
# Location of NVIDIA repositories
declare -r NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute' declare -r NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute'
declare -r CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/ubuntu1604/x86_64" declare -r CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/ubuntu1604/x86_64"
declare -r ML_REPO_URL="${NVIDIA_ROOT_URL}/machine-learning/repos/ubuntu1604/x86_64/" declare -r ML_REPO_URL="${NVIDIA_ROOT_URL}/machine-learning/repos/ubuntu1604/x86_64/"
# Install NVIDIA package dependencies
apt-get -y install x11-common apt-get -y install x11-common
apt-get -y install xserver-xorg-core apt-get -y install xserver-xorg-core
apt-get -y install cmake apt-get -y install cmake
...@@ -87,6 +98,7 @@ OSVersion: xenial ...@@ -87,6 +98,7 @@ OSVersion: xenial
cd /opt cd /opt
# Download NVIDIA drivers, libraries, and packages
wget --wait=10 "${CUDA_REPO_URL}/nvidia-367_367.48-0ubuntu1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/nvidia-367_367.48-0ubuntu1_amd64.deb"
wget --wait=10 "${CUDA_REPO_URL}/nvidia-367-dev_367.48-0ubuntu1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/nvidia-367-dev_367.48-0ubuntu1_amd64.deb"
wget --wait=10 "${CUDA_REPO_URL}/nvidia-modprobe_367.48-0ubuntu1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/nvidia-modprobe_367.48-0ubuntu1_amd64.deb"
...@@ -134,6 +146,7 @@ OSVersion: xenial ...@@ -134,6 +146,7 @@ OSVersion: xenial
wget --wait=10 "${ML_REPO_URL}/libnccl2_2.1.2-1+cuda8.0_amd64.deb" wget --wait=10 "${ML_REPO_URL}/libnccl2_2.1.2-1+cuda8.0_amd64.deb"
wget --wait=10 "${ML_REPO_URL}/libnccl-dev_2.1.2-1+cuda8.0_amd64.deb" wget --wait=10 "${ML_REPO_URL}/libnccl-dev_2.1.2-1+cuda8.0_amd64.deb"
# Install NVIDIA drivers, libraries, and packages
dpkg -i nvidia-367_367.48-0ubuntu1_amd64.deb dpkg -i nvidia-367_367.48-0ubuntu1_amd64.deb
dpkg -i nvidia-367-dev_367.48-0ubuntu1_amd64.deb dpkg -i nvidia-367-dev_367.48-0ubuntu1_amd64.deb
dpkg -i nvidia-modprobe_367.48-0ubuntu1_amd64.deb dpkg -i nvidia-modprobe_367.48-0ubuntu1_amd64.deb
...@@ -181,31 +194,109 @@ OSVersion: xenial ...@@ -181,31 +194,109 @@ OSVersion: xenial
dpkg -i libnccl2_2.1.2-1+cuda8.0_amd64.deb dpkg -i libnccl2_2.1.2-1+cuda8.0_amd64.deb
dpkg -i libnccl-dev_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 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}}" export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
#echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list # Build and install from source in /opt
#curl https://bazel.build/bazel-release.pub.gpg | apt-key add - cd /opt
### Install Bazel using custom APT repository
###apt-get -y install openjdk-8-jdk
###echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list
###curl https://bazel.build/bazel-release.pub.gpg | apt-key add -
###apt-get -y update
###apt-get -y install bazel
###apt-get -y upgrade bazel
apt-get -y update # Install Bazel from Debian Package
apt-get -y install openjdk-8-jdk apt-get -y install openjdk-8-jdk
#apt-get -y install bazel
apt-get -y install expect
apt-get -y install python-dev
apt-get -y install python3-numpy
apt-get -y install python3-dev
apt-get -y install python3-pip
apt-get -y install python3-wheel
apt-get -y install libcupti-dev
apt-get -y install zlib1g-dev apt-get -y install zlib1g-dev
wget https://github.com/bazelbuild/bazel/releases/download/0.8.1/bazel_0.8.1-linux-x86_64.deb wget https://github.com/bazelbuild/bazel/releases/download/0.8.1/bazel_0.8.1-linux-x86_64.deb
dpkg -i bazel_0.8.1-linux-x86_64.deb dpkg -i bazel_0.8.1-linux-x86_64.deb
rm bazel_0.8.1-linux-x86_64.deb
# Install expect to automate responses to TensorFlow build questions
apt-get -y install expect
# Install TensorFlow python dependencies
apt-get -y install python-numpy
apt-get -y install python-dev
apt-get -y install python-pip
apt-get -y install python-wheel
# Download TensorFlow source
git clone https://github.com/tensorflow/tensorflow git clone https://github.com/tensorflow/tensorflow
cd tensorflow cd /opt/tensorflow
git checkout r1.4 git checkout r1.4
# Build TensorFlow for python(2)
echo '#!/usr/bin/expect -f' > configure.exp
echo 'spawn ./configure' >> configure.exp
echo 'expect "Please specify the location of python. \[Default is /usr/bin/python\]: "' >> configure.exp
echo 'send "/usr/bin/python\r"' >> configure.exp
echo 'expect "Please input the desired Python library path to use. Default is \[/usr/local/lib/python2.7/dist-packages\]\r"' >> configure.exp
echo 'send "/usr/local/lib/python2.7/dist-packages\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with jemalloc as malloc support? \[Y/n\]: "' >> configure.exp
echo 'send "Y\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with Google Cloud Platform support? \[Y/n\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with Hadoop File System support? \[Y/n\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with Amazon S3 File System support? \[Y/n\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with XLA JIT support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with GDR support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with VERBS support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with OpenCL support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with CUDA support? \[y/N\]: "' >> configure.exp
echo 'send "Y\r"' >> configure.exp
echo 'expect "Please specify the CUDA SDK version you want to use, e.g. 7.0. \[Leave empty to default to CUDA 8.0\]: "' >> configure.exp
echo 'send "8.0\r"' >> configure.exp
echo 'expect "Please specify the location where CUDA 8.0 toolkit is installed. Refer to README.md for more details. \[Default is /usr/local/cuda\]: "' >> configure.exp
echo 'send "/usr/local/cuda\r"' >> configure.exp
echo 'expect "Please specify the cuDNN version you want to use. \[Leave empty to default to cuDNN 6.0\]: "' >> configure.exp
echo 'send "6.0.21\r"' >> configure.exp
echo 'expect "Please specify the location where cuDNN 6.0.21 library is installed. Refer to README.md for more details. \[Default is /usr/local/cuda\]: "' >> configure.exp
echo 'send "/usr/lib/x86_64-linux-gnu\r"' >> configure.exp
echo 'expect "Please specify a list of comma-separated Cuda compute capabilities you want to build with.\r"' >> configure.exp
echo 'expect "You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus.\r"' >> configure.exp
echo 'expect "Please note that each additional compute capability significantly increases your build time and binary size. \[Default is: 3.5,5.2\]"' >> configure.exp
echo 'send "3.7,6.0\r"' >> configure.exp
echo 'expect "Do you want to use clang as CUDA compiler? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect "Please specify which gcc should be used by nvcc as the host compiler. \[Default is /usr/bin/gcc\]: "' >> configure.exp
echo 'send "/usr/bin/gcc\r"' >> configure.exp
echo 'expect "Do you wish to build TensorFlow with MPI support? \[y/N\]: "' >> configure.exp
echo 'send "N\r"' >> configure.exp
echo 'expect ": "' >> configure.exp
echo 'send " -march=native\r"' >> configure.exp
echo 'expect "> "' >> configure.exp
chmod +x configure.exp
./configure.exp
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /opt/tensorflow_pkg
pip install /opt/tensorflow_pkg/tensorflow-1.4.1-cp27-cp27mu-linux_x86_64.whl
rm -rf /opt/tensorflow_pkg
rm configure.exp
# Install TensorFlow python3 dependencies
apt-get -y install python3-numpy
apt-get -y install python3-dev
apt-get -y install python3-pip
apt-get -y install python3-wheel
# Build TensorFlow for python3
echo '#!/usr/bin/expect -f' > configure.exp echo '#!/usr/bin/expect -f' > configure.exp
echo 'spawn ./configure' >> configure.exp echo 'spawn ./configure' >> configure.exp
echo 'expect "Please specify the location of python. \[Default is /usr/bin/python\]: "' >> configure.exp echo 'expect "Please specify the location of python. \[Default is /usr/bin/python\]: "' >> configure.exp
...@@ -260,7 +351,37 @@ OSVersion: xenial ...@@ -260,7 +351,37 @@ OSVersion: xenial
pip3 install /opt/tensorflow_pkg/tensorflow-1.4.1-cp35-cp35m-linux_x86_64.whl pip3 install /opt/tensorflow_pkg/tensorflow-1.4.1-cp35-cp35m-linux_x86_64.whl
rm -rf /opt/tensorflow_pkg
rm configure.exp
# Install common python and python3 packages for data science and
# machine learning applications
apt-get -y install python-scipy
apt-get -y install python-pandas
apt-get -y install python-matplotlib
apt-get -y install ipython
apt-get -y install ipython-notebook
apt-get -y install python-sympy
apt-get -y install python-nose
apt-get -y install python-sklearn
apt-get -y install python-mlpy
apt-get -y install python-nltk
apt-get -y install python-statsmodels
apt-get -y install libopencv-dev
apt-get -y install python-opencv
apt-get -y install python3-scipy apt-get -y install python3-scipy
apt-get -y install python3-pandas
apt-get -y install python3-matplotlib
apt-get -y install ipython3
apt-get -y install ipython3-notebook
apt-get -y install python3-sympy
apt-get -y install python3-nose
apt-get -y install python3-sklearn
apt-get -y install python3-nltk
# Update database for mlocate
updatedb
%files %files
...@@ -268,4 +389,7 @@ OSVersion: xenial ...@@ -268,4 +389,7 @@ OSVersion: xenial
%test %test
# Test TensorFlow for both python and python3
time -p python /opt/tensorflow/tensorflow/examples/tutorials/mnist/mnist_deep.py
time -p python3 /opt/tensorflow/tensorflow/examples/tutorials/mnist/mnist_deep.py time -p python3 /opt/tensorflow/tensorflow/examples/tutorials/mnist/mnist_deep.py
...@@ -11,10 +11,9 @@ OSVersion: xenial ...@@ -11,10 +11,9 @@ OSVersion: xenial
APPLICATION_URL https://developer.nvidia.com/cuda-zone APPLICATION_URL https://developer.nvidia.com/cuda-zone
DEVICE_DRIVER_VERSION 367.48 DEVICE_DRIVER_VERSION 367.48
SYSTEM_NAME comet SYSTEM_NAME comet
SYSTEM_SINGULARITY_VERSION 2.3.1 SYSTEM_SINGULARITY_VERSION 2.3.2
SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html
VERSION 0.0.2 LAST_UPDATED 20180214
LAST_UPDATED 20170831
%setup %setup
...@@ -49,12 +48,24 @@ OSVersion: xenial ...@@ -49,12 +48,24 @@ OSVersion: xenial
apt-get -y update && apt-get -y upgrade apt-get -y update && apt-get -y upgrade
# Install common packages from 'main'
apt-get -y install autoconf
apt-get -y install automake
apt-get -y install build-essential
apt-get -y install libtool
apt-get -y install pkg-config
apt-get -y install gfortran
apt-get -y install zip
# Make filesystem mount points
mkdir /cvmfs /oasis /projects /scratch mkdir /cvmfs /oasis /projects /scratch
# Location of NVIDIA repositories
declare -r NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute' declare -r NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute'
declare -r CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/ubuntu1604/x86_64" declare -r CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/ubuntu1604/x86_64"
declare -r ML_REPO_URL="${NVIDIA_ROOT_URL}/machine-learning/repos/ubuntu1604/x86_64/" declare -r ML_REPO_URL="${NVIDIA_ROOT_URL}/machine-learning/repos/ubuntu1604/x86_64/"
# Install NVIDIA package dependencies
apt-get -y install x11-common apt-get -y install x11-common
apt-get -y install xserver-xorg-core apt-get -y install xserver-xorg-core
apt-get -y install cmake apt-get -y install cmake
...@@ -88,6 +99,7 @@ OSVersion: xenial ...@@ -88,6 +99,7 @@ OSVersion: xenial
cd /opt cd /opt
# Download NVIDIA drivers, libraries, and packages
wget --wait=10 "${CUDA_REPO_URL}/nvidia-367_367.48-0ubuntu1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/nvidia-367_367.48-0ubuntu1_amd64.deb"
wget --wait=10 "${CUDA_REPO_URL}/nvidia-367-dev_367.48-0ubuntu1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/nvidia-367-dev_367.48-0ubuntu1_amd64.deb"
wget --wait=10 "${CUDA_REPO_URL}/nvidia-modprobe_367.48-0ubuntu1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/nvidia-modprobe_367.48-0ubuntu1_amd64.deb"
...@@ -129,12 +141,13 @@ OSVersion: xenial ...@@ -129,12 +141,13 @@ OSVersion: xenial
wget --wait=10 "${CUDA_REPO_URL}/cuda-runtime-8-0_8.0.44-1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/cuda-runtime-8-0_8.0.44-1_amd64.deb"
wget --wait=10 "${CUDA_REPO_URL}/cuda-demo-suite-8-0_8.0.44-1_amd64.deb" wget --wait=10 "${CUDA_REPO_URL}/cuda-demo-suite-8-0_8.0.44-1_amd64.deb"
wget --wait=10 "${ML_REPO_URL}/libcudnn5_5.1.10-1+cuda8.0_amd64.deb" wget --wait=10 "${ML_REPO_URL}/libcudnn6_6.0.21-1+cuda8.0_amd64.deb"
wget --wait=10 "${ML_REPO_URL}/libcudnn5-dev_5.1.10-1+cuda8.0_amd64.deb" wget --wait=10 "${ML_REPO_URL}/libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb"
wget --wait=10 "${ML_REPO_URL}/libnccl1_1.2.3-1+cuda8.0_amd64.deb" wget --wait=10 "${ML_REPO_URL}/libnccl2_2.1.2-1+cuda8.0_amd64.deb"
wget --wait=10 "${ML_REPO_URL}/libnccl-dev_1.2.3-1+cuda8.0_amd64.deb" wget --wait=10 "${ML_REPO_URL}/libnccl-dev_2.1.2-1+cuda8.0_amd64.deb"
# Install NVIDIA drivers, libraries, and packages
dpkg -i nvidia-367_367.48-0ubuntu1_amd64.deb dpkg -i nvidia-367_367.48-0ubuntu1_amd64.deb
dpkg -i nvidia-367-dev_367.48-0ubuntu1_amd64.deb dpkg -i nvidia-367-dev_367.48-0ubuntu1_amd64.deb
dpkg -i nvidia-modprobe_367.48-0ubuntu1_amd64.deb dpkg -i nvidia-modprobe_367.48-0ubuntu1_amd64.deb
...@@ -176,21 +189,28 @@ OSVersion: xenial ...@@ -176,21 +189,28 @@ OSVersion: xenial
dpkg -i cuda-runtime-8-0_8.0.44-1_amd64.deb dpkg -i cuda-runtime-8-0_8.0.44-1_amd64.deb
dpkg -i cuda-demo-suite-8-0_8.0.44-1_amd64.deb dpkg -i cuda-demo-suite-8-0_8.0.44-1_amd64.deb
dpkg -i libcudnn5_5.1.10-1+cuda8.0_amd64.deb dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb
dpkg -i libcudnn5-dev_5.1.10-1+cuda8.0_amd64.deb dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb
dpkg -i libnccl1_1.2.3-1+cuda8.0_amd64.deb dpkg -i libnccl2_2.1.2-1+cuda8.0_amd64.deb
dpkg -i libnccl-dev_1.2.3-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 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}}" export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
# Update database for mlocate
updatedb
%files %files
%runscript %runscript
%test %test
# Test if nvcc was installed properly
export PATH="/usr/local/cuda-8.0/bin${PATH:+:${PATH}}" 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}}" export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
nvcc --version nvcc --version
......
...@@ -10,10 +10,9 @@ OSVersion: xenial ...@@ -10,10 +10,9 @@ OSVersion: xenial
APPLICATION_VERSION none APPLICATION_VERSION none
APPLICATION_URL none APPLICATION_URL none
SYSTEM_NAME comet SYSTEM_NAME comet
SYSTEM_SINGULARITY_VERSION 2.3.1 SYSTEM_SINGULARITY_VERSION 2.3.2
SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html
VERSION 0.0.5 LAST_UPDATED 20180213
LAST_UPDATED 20170811
%setup %setup
...@@ -48,8 +47,24 @@ OSVersion: xenial ...@@ -48,8 +47,24 @@ OSVersion: xenial
apt-get -y update && apt-get -y upgrade apt-get -y update && apt-get -y upgrade
# Install common packages from 'main'
apt-get -y install autoconf
apt-get -y install automake
apt-get -y install build-essential
apt-get -y install libtool
apt-get -y install pkg-config
apt-get -y install gfortran
apt-get -y install zip
# Make filesystem mount points
mkdir /cvmfs /oasis /projects /scratch mkdir /cvmfs /oasis /projects /scratch
# Build and install from souce in /opt
cd /opt
# Update database for mlocate
updatedb
%files %files
%runscript %runscript
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment