FROM ubuntu:16.04 MAINTAINER Sebastian Enger RUN apt-get -y update && apt-get -y install git bc make dpkg-dev && mkdir -p /usr/src/kernels && mkdir -p /opt/nvidia/nvidia_installers RUN apt-get -y install bzip2 gzip pbzip2 libhdf5-dev nasm perl python3-pip python-pip software-properties-common python-software-properties build-essential # install gcc 4.9 for newer kernels RUN add-apt-repository ppa:ubuntu-toolchain-r/test RUN apt-get update RUN apt-get install -y gcc-4.9 g++-4.9 RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 ADD http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run /opt/nvidia/ WORKDIR /usr/src/kernels RUN git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux WORKDIR linux RUN git checkout -b stable v`uname -r | sed -e "s/-.*//" | sed -e "s/\.[0]*$//"` && zcat /proc/config.gz > .config && make modules_prepare RUN sed -i -e "s/`uname -r | sed -e "s/-.*//" | sed -e "s/\.[0]*$//"`/`uname -r`/" include/generated/utsrelease.h # In case a '+' was added # Nvidia drivers setup WORKDIR /opt/nvidia/ RUN chmod +x cuda_7.0.28_linux.run && ./cuda_7.0.28_linux.run -extract=`pwd`/nvidia_installers WORKDIR /opt/nvidia/nvidia_installers RUN ./NVIDIA-Linux-x86_64-346.46.run -a -x --ui=none RUN sed -i "s/read_cr4/__read_cr4/g" NVIDIA-Linux-x86_64-346.46/kernel/nv-pat.c RUN sed -i "s/write_cr4/__write_cr4/g" NVIDIA-Linux-x86_64-346.46/kernel/nv-pat.c CMD ./NVIDIA-Linux-x86_64-346.46/nvidia-installer -q -a -n -s --kernel-source-path=/usr/src/kernels/linux/ && insmod /opt/nvidia/nvidia_installers/NVIDIA-Linux-x86_64-346.46/kernel/uvm/nvidia-uvm.ko WORKDIR /opt/nvidia/ ADD https://tech.onetipp.net/cudnn/cudnn-7.0-linux-x64-v4.0-prod.tar.gz /opt/nvidia/ RUN tar xfz /opt/nvidia/cudnn-7.0-linux-x64-v4.0-prod.tar.gz RUN cp -R /opt/nvidia/cuda/include /opt/nvidia/ RUN cp -R /opt/nvidia/cuda/lib64 /opt/nvidia/ RUN cp -R /opt/nvidia/cuda/include /opt/nvidia/nvidia_installers/NVIDIA-Linux-x86_64-346.46/ RUN cp -R /opt/nvidia/cuda/lib64 /opt/nvidia/nvidia_installers/NVIDIA-Linux-x86_64-346.46/ ADD http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb /opt/nvidia/ RUN dpkg -i /opt/nvidia/cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb RUN apt-get update RUN apt-get install -y cuda-7-5 cuda-runtime-7-5 cuda-drivers nvidia-opencl-icd-352 RUN apt-get install -y cuda cuda-7-5 cuda-runtime-7-5 openssl libssl-dev libopenblas-dev RUN apt-get install -y nvidia-cuda-toolkit RUN pip install -U pip RUN pip install -U pip RUN pip install -U numpy RUN pip install -U Cython RUN pip install -U h5py RUN pip install -U six RUN CUDA_PATH=/opt/nvidia/nvidia_installers/NVIDIA-Linux-x86_64-346.46/ pip install -U chainer --no-cache-dir RUN mkdir -p /var/tmp/onetipp