แก้ไข: ฉันได้เพิ่มคำตอบใหม่ด้านล่างสำหรับ Ubuntu 20.04 LTS และ CUDA 11.1.1 ดูด้านล่าง


ฉันมีระบบที่มีการ์ด NVIDIA ที่รองรับการประมวลผล 3.5+ เมื่อเปรียบเทียบกับhttps://developer.nvidia.com/cuda-gpus ฉันจะติดตั้ง CUDA และไดรเวอร์ NVIDIA ใน Ubuntu โดยไม่ต้องดาวน์โหลดไฟล์ .deb จาก NVIDIA ได้อย่างไร

answer

ไดรเวอร์ Ubuntu 18.04, CUDA 10.1, libcudnn 7.5.1 และ NVIDIA 418.67


หมายเหตุ

  • 2021-01-07 : โปรดใช้การติดตั้ง 20.04 ด้านล่างเพื่อดำเนินการต่อเนื่องจากขั้นตอนจะเหมือนกันสำหรับทั้ง 18.04 และ 20.04

  • 2019-06-23 : การอัปเดตล่าสุดด้วยไดรเวอร์ NVIDIA 418.67 รุ่น CUDA 10.0 หรือ 10.1 ที่ติดตั้งมาพร้อมกับไลบรารี 32 บิต ซึ่งจะทำให้ Steam และเกมส่วนใหญ่ไม่ทำงานอีกต่อไป เวอร์ชันนี้libnvidia-gl-418:i386จะติดตั้งเฉพาะเวอร์ชัน 418.56 ซึ่งจะไม่ทำงานกับไดรเวอร์ 418.67 หวังว่า NVIDIA จะออกการอัปเดตในไม่ช้า ฉันได้เพิ่มข้อมูลที่ด้านล่างของคำตอบนี้ใน.run file installส่วนของวิธีการดาวน์โหลดไฟล์ที่รันสำหรับตัวติดตั้ง CUDA จากนั้นคุณสามารถใช้ไดรเวอร์ใดก็ได้ที่คุณต้องการ ไฟล์ที่รันมีขนาด 2.3GB ดังนั้นอาจต้องใช้เวลาดาวน์โหลดเล็กน้อย

  • CUDA 9.x ไม่สามารถใช้งานได้ผ่าน repo ubuntu1804 ของ NVIDIA อย่างไรก็ตาม ฉันเขียนคำตอบสำหรับ CUDA 9.2 ที่https://askubuntu.com/a/1086993/231142


การติดตั้ง CUDA ผ่านที่เก็บ (แทนการ.debติดตั้ง)

บรรทัดต่อไปนี้คุณสามารถคัดลอกและวางไปยังหน้าต่างเทอร์มินัล กดCtrl+ Alt+ Tเพื่อเปิดหน้าต่างเทอร์มินัล

ลบและอัปเดต

ลบ CUDA PPA ที่อาจตั้งค่าและลบออกnvidia-cuda-toolkitหากติดตั้ง:

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove --autoremove nvidia-cuda-toolkit

แนะนำให้ลบไดรเวอร์ NVIDIA ทั้งหมดก่อนที่จะติดตั้งไดรเวอร์ใหม่:

sudo apt remove --autoremove nvidia-*

จากนั้นอัปเดตระบบ:

sudo apt update

เพิ่มและติดตั้ง

เมื่อเร็ว ๆ นี้ ฉันเพิ่งพบว่าการติดตั้ง CUDA ใช้งานได้graphics-drivers ppaหากคุณยังไม่ได้เพิ่ม ให้เพิ่มทันที:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

การติดตั้งไดรเวอร์ NVIDIA สำหรับสิ่งนี้เราจะใช้ไดรเวอร์ 440

sudo apt install nvidia-driver-440

ตอนนี้ติดตั้งคีย์:

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

เพิ่ม repos:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

อัปเดตระบบอีกครั้ง:

sudo apt update

ติดตั้ง CUDA 10.1:

sudo apt install cuda-10-1

ควรจะติดตั้งไดรเวอร์ NVIDIA 418.40 ด้วยเนื่องจากเป็นรายการที่ระบุไว้ใน repo ดู: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/

ติดตั้ง libcudnn7 7.5.1:

sudo apt install libcudnn7

ปรับสภาพแวดล้อมและรีบูต

เพิ่มบรรทัดต่อไปนี้ใน~/.profileไฟล์ของคุณสำหรับ CUDA 10.1

# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

รีบูตเครื่องคอมพิวเตอร์ของคุณ

ตรวจสอบการตั้งค่าของคุณ

ตรวจสอบ NVIDIA Cuda Compiler ด้วยnvcc --version:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168

ตรวจสอบเวอร์ชัน libcudnn /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn:

[email protected]:~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
    libcudnn.so.7 -> libcudnn.so.7.5.1

ตรวจสอบไดรเวอร์ NVIDIA ด้วยnvidia-smi:

[email protected]:~$ nvidia-smi
Wed Jan 29 12:41:02 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.48.02    Driver Version: 440.48.02    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 750 Ti  Off  | 00000000:02:00.0  On |                  N/A |
| 40%   34C    P0     1W /  38W |    163MiB /  2000MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1993      G   /usr/lib/xorg/Xorg                           158MiB |
|    0      2502      G   compton                                        1MiB |
+-----------------------------------------------------------------------------+

.run ไฟล์ติดตั้ง

ติดตั้งไดรเวอร์

sudo add-apt-repository ppa:graphics-drivers/ppaคุณสามารถใช้ไดรเวอร์430.26ใหม่ล่าสุดหรือไดรเวอร์อื่น ๆ ที่เหมาะกับความต้องการของคุณได้

ติดตั้ง libcudnn7

เพิ่ม Repo:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

ติดตั้งคีย์:

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

อัพเดทระบบ:

sudo apt update

ติดตั้ง libcudnn7.5.1:

sudo apt install libcudnn7

ดาวน์โหลด.runไฟล์

ตอนนี้ดาวน์โหลดcuda_10.1.105_418.39_linux.runจากhttps://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

หากคุณต้องการ CUDA 10.2 คำแนะนำในการดาวน์โหลดอยู่ที่นี่: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal จากนั้นทำตามขั้นตอนเดียวกับด้านล่าง แต่อย่าลืมอัปเดต เป็น 10.2 แทนที่จะเป็น 10.1

จากนั้นรันโปรแกรมติดตั้ง:

sudo sh cuda_10.1.105_418.39_linux.run

พิมพ์ยอมรับและกด Enter บนหน้าจอนี้:

┌──────────────────────────────────────────────────────────────────────────────┐
│  End User License Agreement                                                  │
│  --------------------------                                                  │
│                                                                              │
│                                                                              │
│  Preface                                                                     │
│  -------                                                                     │
│                                                                              │
│  The Software License Agreement in Chapter 1 and the Supplement              │
│  in Chapter 2 contain license terms and conditions that govern               │
│  the use of NVIDIA software. By accepting this agreement, you                │
│  agree to comply with all the terms and conditions applicable                │
│  to the product(s) included herein.                                          │
│                                                                              │
│                                                                              │
│  NVIDIA Driver                                                               │
│                                                                              │
│                                                                              │
│  Description                                                                 │
│                                                                              │
│  This package contains the operating system driver and                       │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit):                         │
│ accept                                                                       

ยกเลิกการเลือกไดรเวอร์แล้วเลือกติดตั้งโดยใช้ปุ่มลูกศรและแป้นเว้นวรรคเพื่อย้ายและเลือกหรือยกเลิกการเลือก:

┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer                                                               │
│ - [ ] Driver                                                                 │
│      [ ] 418.39                                                              │
│ + [X] CUDA Toolkit 10.1                                                      │
│   [X] CUDA Samples 10.1                                                      │
│   [X] CUDA Demo Suite 10.1                                                   │
│   [X] CUDA Documentation 10.1                                                │
│   Install                                                                    │
│   Options                                                                    │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │

รอให้การติดตั้งเสร็จสิ้น ระบบอาจแจ้งข้อผิดพลาดในระหว่างนั้น แต่ไม่ต้องกังวล

ปรับสภาพแวดล้อมและรีบูต

เพิ่มบรรทัดต่อไปนี้ใน~/.profileไฟล์ของคุณสำหรับ CUDA 10.1

# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

รีบูตระบบเพื่อให้การเปลี่ยนแปลงมีผล

Ubuntu 20.04 LTS, CUDA 11.5.0, NVIDIA 495 และ libcudnn 8.0.4


ฉันไม่แนะนำให้ติดตั้งไดรเวอร์ NVIDIA ที่มาพร้อมกับ CUDA เนื่องจากไม่มีไดรเวอร์ dkms ที่นำไปสู่การอัปเกรดเคอร์เนลใหม่

ตอนนี้ที่เก็บของ Ubuntu มีไดรเวอร์เหมือนกับgraphics-driversPPA ดังนั้นอย่าลังเลที่จะติดตั้ง495.44ไดรเวอร์

sudo apt install nvidia-driver-495

รีบูตระบบเพื่อให้ไดรเวอร์ใหม่มีผล

ตอนนี้ ดาวน์โหลดไฟล์ CUDA 11.5.0 .run จาก NVIDIA:

wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run

เรียกใช้.runไฟล์เป็นsudo:

sudo sh ./cuda_11.5.0_495.29.05_linux.run

หากคุณได้รับสิ่งต่อไปนี้ เพียงแค่เลือกContinue:

┌──────────────────────────────────────────────────────────────────────────────┐
│ Existing package manager installation of the driver found. It is strongly    │
│ recommended that you remove this before continuing.                          │
│ Abort                                                                        │
│ Continue                                                                     │
│                                                                             

ยอมรับ EULA:

┌──────────────────────────────────────────────────────────────────────────────┐
│  End User License Agreement                                                  │
│  --------------------------                                                  │
│                                                                              │
│  NVIDIA Software License Agreement and CUDA Supplement to                    │
│  Software License Agreement. Last updated: October 8, 2021                   │
│                                                                              │
│  The CUDA Toolkit End User License Agreement applies to the                  │
│  NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA                    │
│  Display Driver, NVIDIA Nsight tools (Visual Studio Edition),                │
│  and the associated documentation on CUDA APIs, programming                  │
│  model and development tools. If you do not agree with the                   │
│  terms and conditions of the license agreement, then do not                  │
│  download or use the software.                                               │
│                                                                              │
│  Last updated: October 8, 2021.                                              │
│                                                                              │
│                                                                              │
│  Preface                                                                     │
│  -------                                                                     │
│                                                                              │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit):                         │
│ accept                                                                       

ยกเลิกการเลือกไดรเวอร์วิดีโอโดยกดแป้นเว้นวรรคในขณะที่[X] Driverไฮไลต์:

┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer                                                               │
│ - [ ] Driver                                                                 │
│      [ ] 495.29.05                                                           │
│ + [X] CUDA Toolkit 11.5                                                      │
│   [X] CUDA Samples 11.5                                                      │
│   [X] CUDA Demo Suite 11.5                                                   │
│   [X] CUDA Documentation 11.5                                                │
│   Options                                                                    │
│   Install                                                                    │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │

จากนั้นกดลูกศรลงInstallเพื่อ กดEnterจากนั้นรอให้การติดตั้งเสร็จสิ้น

หลังจากการติดตั้งเสร็จสมบูรณ์ ให้เพิ่มข้อมูลต่อไปนี้ที่ด้านล่างของ ไฟล์ ~/.profileหรือเพิ่มลงใน/etc/profile.d/cuda.shไฟล์ที่คุณอาจต้องสร้างสำหรับผู้ใช้ทั้งหมด (ทั่วโลก):

# set PATH for cuda 11.5 installation
if [ -d "/usr/local/cuda-11.5/bin/" ]; then
    export PATH=/usr/local/cuda-11.5/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

ติดตั้ง libcudnn8

เพิ่ม Repo:

หมายเหตุ : repo 20.04 จาก NVIDIA ไม่จัดหา libcudnn แต่ repo 18.04 ทำและติดตั้งได้ดีใน 20.04

echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda_learn.list

ติดตั้งคีย์:

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

อัพเดทระบบ:

sudo apt update

ติดตั้ง libcudnn 8.0.4:

sudo apt install libcudnn8

ฉันแนะนำให้รีบูตระบบเพื่อให้การเปลี่ยนแปลงมีผล

หลังจากรีบูตให้ตรวจสอบการติดตั้ง:

~$ nvidia-smi
Thu Nov 18 07:31:31 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.44       Driver Version: 495.44       CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
| 40%   38C    P8     1W /  38W |    310MiB /  2000MiB |      4%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2091      G   /usr/lib/xorg/Xorg                 46MiB |
|    0   N/A  N/A      2680      G   /usr/lib/xorg/Xorg                163MiB |
|    0   N/A  N/A      2906      G   compton                             1MiB |
|    0   N/A  N/A      3262      G   /opt/waterfox/waterfox             85MiB |
+-----------------------------------------------------------------------------+

และตรวจสอบการติดตั้ง CUDA:

~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Sep_13_19:13:29_PDT_2021
Cuda compilation tools, release 11.5, V11.5.50
Build cuda_11.5.r11.5/compiler.30411180_0

และตรวจสอบการติดตั้ง libcudnn:

~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
    libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.0.4
    libcudnn.so.8 -> libcudnn.so.8.0.4
    libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.0.4
    libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.0.4
    libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.0.4
    libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.0.4
    libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.0.4

ฉันแค่ต้องการเพิ่มโซลูชันทางเลือกที่ง่ายกว่ามากและเป็นแบบโมดูลาร์ IMHO: ใช้อิมเมจนักเทียบท่า CUDA ของ Nvidia!

สิ่งนี้ต้องการไดรเวอร์ที่ใช้งานได้ (ที่เป็นกรรมสิทธิ์) บนเครื่องโฮสต์ ซึ่งสามารถติดตั้งได้จาก repos ของ Ubuntu ( nvidia-driver-470เป็นเวอร์ชันไดรเวอร์สุดท้ายที่รองรับสำหรับ CUDA compute 3.5)

  1. sudo apt install nvidia-driver-470
  2. ติดตั้ง Docker และnvidia-docker2. ดูคู่มือนี้จาก Nvidia ; หากคุณใช้ Ubuntu 21+ คุณจะต้องแทนที่$distributionด้วยubuntu2004ในขั้นตอนนี้
  3. ค้นหาอิมเมจนักเทียบท่า CUDA ที่คุณต้องการในหน้า DockerHub ของ Nvidia ตัวอย่างเช่น ถ้าคุณต้องการ CUDA 11.4.2 และ cuDNN 8 คุณสามารถเรียกใช้
    $ docker pull nvidia/cuda:11.4.2-cudnn8-devel-ubuntu20.04
    
  4. ตอนนี้เรียกใช้คอนเทนเนอร์จากอิมเมจนั้นโดยแนบ GPU ของคุณ:
    $ docker run -it --rm --gpus all nvidia/cuda:11.4.2-cudnn8-devel-ubuntu20.04
    
    คุณควรตรวจสอบว่าคอนเทนเนอร์สามารถเห็น GPU ของคุณโดยการเรียกใช้nvidia-smiซึ่งจะแสดงผลลัพธ์แบบเดียวกับที่คุณได้รับจากการรันnvidia-smiไม่ใช่ใน Docker

อย่าทำผิดพลาด

ดาวน์โหลดไฟล์ .deb ครั้งเดียวและตลอดไป

ฉันดาวน์โหลดไฟล์ .run และติดตั้ง แต่พอลองติดตั้ง tensorrt ปรากฏว่าติดตั้งไม่ได้

ฉันสามารถติดตั้งได้หลังจากติดตั้งไดรเวอร์ .deb nvidia แล้วเท่านั้น

สำหรับทุกคนที่ทำงานกับ AWS deep learning base AMI:
อิมเมจมาพร้อมกับสภาพแวดล้อม NVIDIA CUDA หลายตัวในตัวและโดยค่าเริ่มต้นจะใช้งานได้กับหนึ่งในนั้น (ในกรณีของฉัน 10) แต่คุณสามารถเปลี่ยนไปใช้ที่อื่นได้โดยเปลี่ยน symlink:

$ sudo rm /usr/local/cuda
$ sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda

ข้อมูลเพิ่มเติม:
https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-base.html