Skip to content

Instantly share code, notes, and snippets.

@wkmor1
Created November 29, 2017 04:08
Show Gist options
  • Save wkmor1/f404370aa95e052f155aecefd01b3268 to your computer and use it in GitHub Desktop.
Save wkmor1/f404370aa95e052f155aecefd01b3268 to your computer and use it in GitHub Desktop.

GPU enabled docker on Ubuntu

Check host is running at least Ubuntu 16.04

$ cat /etc/issue
Ubuntu 16.04 LTS \n \l

Check host has CUDA capable card with compute capability 3.0 or higher

$ lspci | grep -i nvidia

List of gpus

Install a CUDA capable driver appropriate to the gpu

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install nvidia-384

Install Docker

$ sudo apt-get install apt-transport-https ca-certificates \
>   curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
>   sudo apt-key add -
$ sudo add-apt-repository \
>   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
>   $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce

Install Nvidia docker runtime

$ curl -s -L \
>   https://nvidia.github.io/nvidia-docker/gpgkey | \
>   sudo apt-key add -
$ curl -s -L \
>   https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
>   sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2
$ sudo pkill -SIGHUP dockerd

Validate nvidia-docker works

$ sudo docker run --runtime=nvidia --rm nvidia/cuda:8.0-cudnn6-runtime-ubuntu14.04 nvidia-smi

To run tensorflow in a container need to use nvidia/cuda:8.0-cudnn6-runtime-ubuntu14.04 as base

Example Dockerfile

FROM nvidia/cuda:8.0-cudnn6-runtime-ubuntu14.04

RUN    apt-get update \
    && apt-get install -y --no-install-recommends \
         build-essential libcupti-dev python3-pip

ENV CUDA_HOME       /usr/local/cuda
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:$CUDA_HOME/lib64
ENV PATH $CUDA_HOME/bin:$PATH

RUN    pip3 install --upgrade pip \
    && /usr/local/bin/pip3 install tensorflow-gpu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment