【 AIoT 】安裝 NVIDIA CUDA 於 Azure Ubuntu VM

內容

  • 學習目標
  • 前置準備作業
  • 建立 Azure VM
  • 遠端登入的 Azure VM
  • Azure GPU VM 安裝 Python、CUDA、cuDNN

學習目標

  • 建立 Azure GPU VM
  • 遠端登入的 Azure VM
  • 安裝 安裝 Python 3.6
  • 安裝 CUDA
  • 安裝 cuDNN 7.4

前置準備作業

  • 已申請 Azure 帳號

建立 Azure VM

Step 1. 登入到 Azure


Step 2. 建立 Azure GPU VM

  • 於上方搜尋框搜尋 Virtual machines

    ---2020-04-21---3.17.58

  • 點選搜尋結果中的 Virtual machines

    ---2020-04-21---3.19.39

  • 點選上方的 + Add

    ---2020-04-21---3.20.41

  • 輸入相關資訊

    • Resource group
      • 使用舊有的或建立新的
    • Virtual machine name
      • 建立一個獨一無二可識別的名稱
    • Region
      • 選擇此 VM 所要在的區域
    • Image
      • Ubuntu Server 16.04 LTS
    • Size
      • 選擇 NC6NC6_Promo
        • Family: GPU
        • vCPUs: 6
        • RAM (GiB): 56
        • Data disks: 24
        • Max IOPS: 20000
        • Temporary storage (GiB): 380
        • Premium disk support: No
    • Authentication type
      • Password 並輸入帳號與密碼
    • 當輸入完以上資訊後,請點擊左下方的 Review + create

    ---2020-04-21---3.22.19

  • 再次確認所輸入的資訊後點擊左下角的 Create

    ---2020-04-21---3.29.55

  • 建立過程中

    ---2020-04-21---3.32.18

  • 建立完成後點選 Go to resource

    ---2020-04-21---3.47.23


遠端登入的 Azure VM

macOS


Windows


Azure GPU VM 端

Step 1. 安裝 Python 3.6


Step 2. 列出 NVIDIA PCI 設備

  • 請在終端機輸入下方指令

    lspci | grep -i NVIDIA
    

    ---2020-04-21---3.55.45


Step 3. 下載 cuda-repo-ubuntu1604_10.0.130-1_amd64.deb

  • 請在終端機輸入下方指令

    wget -O /tmp/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
    

    ---2020-04-21---4.00.24


Step 4. 安裝 cuda-repo-ubuntu1604_10.0.130-1_amd64.deb

  • 請在終端機輸入下方指令

    sudo dpkg -i /tmp/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
    

    ---2020-04-21---4.01.45


Step 5. 執行更新

  • 請在終端機輸入下方指令
    sudo apt-get update
    

Step 6. 安裝 gnupg-curl 套件 ( 避免 gpgkeys: protocol https not supported 發生 )

  • 請在終端機輸入下方指令

    sudo apt install gnupg-curl
    

    ---2020-04-21---4.10.22


Step 7. 新增 Key

  • 請在終端機輸入下方指令

    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
    

    ---2020-04-21---4.11.10


Step 8. 刪除 cuda-repo-ubuntu1604_10.0.130-1_amd64.deb

  • 請在終端機輸入下方指令
    rm -f /tmp/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
    

Step 9. 安裝 cuda-drivers

  • 請在終端機輸入下方指令
    sudo apt --allow-unauthenticated install -y cuda-drivers
    

Step 10. 安裝 cuda 10

  • 請在終端機輸入下方指令
    sudo apt --allow-unauthenticated install -y cuda-10-0
    

Step 11. Azure VM 重開機

  • 透過瀏覽器到所建立的 VM 中的 Overview 頁面,再點選上方的 Restart 按鈕

    ---2020-04-21---4.33.47

  • 點選 Yes

    ---2020-04-21---4.44.26


Step 12. 重新登入到 Azure VM

  • 請參考 遠端登入的 Azure VM 小節

Step 13. 查詢 Nvidia 驅動程式版本與 GPU 顯示卡資訊

  • 請在終端機輸入下方指令

    nvidia-smi
    

    ---2020-04-21---4.30.19


Step 14. 安裝 nvidia-cuda-toolkit

  • 請在終端機輸入下方指令
    sudo apt install -y nvidia-cuda-toolkit
    

Step 15. 查看 CUDA 版本

  • 請在終端機輸入下方指令

    nvcc --version
    

    ---2020-04-21---4.54.00


Step 16. 查看 CUDA 版本

  • 請在終端機輸入下方指令

    cat /usr/local/cuda/version.txt
    

    ---2020-04-21---4.54.36


Step 17. 下載 cudnn 7.4

  • 透過瀏覽器開啟下方網址

  • 下載檔案 ( 下載前要建立號並登入 )

    • 展開 Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0
      • ① 下載 cuDNN Runtime Library for Ubuntu16.04 (Deb)
      • ② 下載 cuDNN Developer Library for Ubuntu16.04 (Deb)
      • ③ 下載 cuDNN Code Samples and User Guide for Ubuntu16.04 (Deb)

    ---2020-04-21---4.23.56


Step 18. 將 Step 17 所下載的三個檔案傳送到 Azure VM


Step 19. 安裝 libcudnn7_7.4.2.24-1+cuda10.0_amd64

  • 請在終端機輸入下方指令

    sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
    

    ---2020-04-21---4.56.46


Step 20. 安裝 libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64

  • 請在終端機輸入下方指令

    sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
    

    ---2020-04-21---4.58.35


Step 21. 安裝 libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64

  • 請在終端機輸入下方指令

    sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
    

    ---2020-04-21---5.01.12


Step 22. 加入到環境變數中

  • 請在終端機輸入下方指令

    echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64/"' >> ~/.bashrc
    
  • 生效

    source ~/.bashrc
    

GitHub
List of blogs
Archer

Archer

Having being a software engineer. Experience with Python, JavaScript, Node.js, Objective-C, Micro:bit, Raspberry Pi, AWS, Azure, IoT. ❆ [email protected] https://oranwind.org/author/archer/

Read More