Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions corenvidiadrivers/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FROM ubuntu:14.04
MAINTAINER Mike Orzel <[email protected]>

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 update && apt-get -y install git bc make dpkg-dev libssl-dev && mkdir -p /usr/src/kernels && mkdir -p /opt/nvidia/nvidia_installers

RUN apt-get -y install software-properties-common python-software-properties

Expand All @@ -11,7 +11,8 @@ 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/
ADD http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run /opt/nvidia
#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
Expand All @@ -21,11 +22,15 @@ RUN sed -i -e "s/`uname -r | sed -e "s/-.*//" | sed -e "s/\.[0]*$//"`/`uname -r`

# 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
RUN chmod +x cuda_7.5.18_linux.run && ./cuda_7.5.18_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
RUN ./NVIDIA-Linux-x86_64-352.39.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

COPY nvprocfs.patch /opt/nvidia/nvidia_installers
RUN patch NVIDIA-Linux-x86_64-352.39/kernel/nv-procfs.c < nvprocfs.patch

CMD ./NVIDIA-Linux-x86_64-352.39/nvidia-installer -q -a -n -s --kernel-source-path=/usr/src/kernels/linux/ && insmod /opt/nvidia/nvidia_installers/NVIDIA-Linux-x86_64-352.39/kernel/uvm/nvidia-uvm.ko

15 changes: 15 additions & 0 deletions corenvidiadrivers/nvprocfs.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
360,361c360,363
<
< return seq_printf(s, "Binary: \"%s\"\n", registry_keys);
---
> //mikes fix below
> seq_printf(s, "Binary: \"%s\"\n", registry_keys);
> return 0;
> //return seq_printf(s, "Binary: \"%s\"\n", registry_keys);
562c564,567
< return seq_puts(s, s->private);
---
> //mikes fix below
> seq_puts(s, s->private);
> return 0;
> //return seq_puts(s, s->private);
29 changes: 9 additions & 20 deletions tflowgpu/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM b.gcr.io/tensorflow/tensorflow:latest-gpu
MAINTAINER Mike Orzel <[email protected]>

# Add some dependent packages we will need for the build process
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 update && apt-get -y install git bc make dpkg-dev libssl-dev && mkdir -p /usr/src/kernels && mkdir -p /opt/nvidia/nvidia_installers

RUN apt-get -y install software-properties-common python-software-properties

Expand All @@ -13,8 +13,8 @@ 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

# Download the nvidia cuda package
ADD http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run /opt/nvidia/
RUN chmod +x /opt/nvidia/cuda_7.0.28_linux.run
ADD http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run /opt/nvidia
RUN chmod +x /opt/nvidia/cuda_7.5.18_linux.run

# download the linux kernel source and prepare it for use
WORKDIR /usr/src/kernels
Expand All @@ -23,30 +23,19 @@ 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


#RUN git checkout -b stable v`uname -r` && zcat /proc/config.gz > .config && make modules_prepare

#RUN sed -i -e "s/`uname -r`+/`uname -r`/" include/generated/utsrelease.h # In case a '+' was added
RUN sed -i -e "s/`uname -r | sed -e "s/-.*//" | sed -e "s/\.[0]*$//"`/`uname -r`/" include/config/kernel.release # 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
RUN chmod +x cuda_7.5.18_linux.run && ./cuda_7.5.18_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
RUN ./NVIDIA-Linux-x86_64-352.39.run -a -x --ui=none
# Patch code to be compatible with current coreos kernel
COPY nvprocfs.patch /opt/nvidia/nvidia_installers
RUN patch NVIDIA-Linux-x86_64-352.39/kernel/nv-procfs.c < nvprocfs.patch

RUN ./NVIDIA-Linux-x86_64-346.46/nvidia-installer -q -a -n -s --kernel-source-path=/usr/src/kernels/linux/ --no-kernel-module

# install modules to expected location, cuda will do modprobes in certain situations which require this
WORKDIR /usr/src/kernels/linux
RUN make modules && make modules_install
RUN mv /lib/modules/`uname -r | sed -e "s/-.*//" | sed -e "s/\.[0]*$//"`+ /lib/modules/`uname -r`
WORKDIR /opt/nvidia/nvidia_installers
RUN depmod
RUN ./NVIDIA-Linux-x86_64-352.39/nvidia-installer -q -a -n -s --kernel-source-path=/usr/src/kernels/linux/ --no-kernel-module

# Run jupyter notebook and create a folder for the notebooks
RUN chmod +x /run_jupyter.sh
Expand Down
15 changes: 15 additions & 0 deletions tflowgpu/nvprocfs.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
360,361c360,363
<
< return seq_printf(s, "Binary: \"%s\"\n", registry_keys);
---
> //mikes fix below
> seq_printf(s, "Binary: \"%s\"\n", registry_keys);
> return 0;
> //return seq_printf(s, "Binary: \"%s\"\n", registry_keys);
562c564,567
< return seq_puts(s, s->private);
---
> //mikes fix below
> seq_puts(s, s->private);
> return 0;
> //return seq_puts(s, s->private);