建置

教學過程將會使用 nvidia-docker 進行

範例環境:

  • Ubuntu 16.04 LTS (64)
  • Nvidia Tesla K80

流程分為 `五個` 主題:

  1. 安裝 nvidia driver
  2. 安裝 nvidia cuda
  3. 建置 nvidia-docker 需要的 2 要素
    • native Docker Engine
    • nvidia-docker
  4. 測試時間
  5. 開啟課程操作環境 - Jupyter

1. 安裝 Nvidia Driver

官方下載連結: http://www.nvidia.com/Download/index.aspx?lang=en-us

$ sudo apt-get install -y build-essential
$ wget -O nvidia-diag-driver-local-repo-ubuntu1604_375.66-1_amd64.deb http://us.download.nvidia.com/tesla/375.66/nvidia-diag-driver-local-repo-ubuntu1604_375.66-1_amd64.deb
$ sudo dpkg -i nvidia-diag-driver-local-repo-ubuntu1604_375.66-1_amd64.deb

2. 安裝 Nvidia CUDA

官方下載連結: https://developer.nvidia.com/cuda-downloads

$ wget -O cuda_8.0.61_375.26_linux.run https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run
$ sudo bash cuda_8.0.61_375.26_linux.run --no-opengl-libs

(進入安裝程序後,按 Q 離開使用條約)

  • accept
  • y
  • n
  • y
  • 直接按 enter
  • y
  • y
  • 直接按 enter

3.1 安裝 Native docker

$ sudo apt-get install -y 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 -y docker-ce
$ sudo usermod -aG docker $(whoami)
$ sudo su - $(whoami)

3.2 安裝 Nvidia-docker

$ wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
$ sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb
$ sudo service nvidia-docker status

4. 測試時間

(CPU) (上午場)
$ docker run -it -p 8888:8888 chienworld/pycon2017:latest-py3
(GPU) (下午場)
$ nvidia-docker run -it -p 8888:8888 chienworld/pycon2017:latest-gpu-py3

試跑看看

$ python3 run_MountainCar.py

5. 開啟課程操作環境 - Jupyter

$ jupyter notebook --no-browser --ip 0.0.0.0 --allow-root

複製 URL,並貼上至瀏覽器,將 0.0.0.0 改成 VM instances 頁面中機器的 External IP

成功如圖

官方資源