Cài đặt NVIDIA Driver, CUDA và cuDNN trên Ubuntu 16.04

Phần 1: Cài đặt NVIDIA Driver

1. Xác định phiên bản NVIDIA phù hợp

Trước khi cài đặt, hãy xác định phiên bản GPU của bạn và tải driver tương ứng từ trang web của NVIDIA. Bạn có thể tham khảo Compute Capability tại đây.

2. Các bước chuẩn bị trước khi cài đặt

Đảm bảo hệ thống đã cài đặt các gói header và development package cho kernel đang chạy. Kiểm tra phiên bản kernel bằng lệnh:

hiển_thị_phiên_bản_kernel=$(uname -r)

Nếu lệnh trên không trả về kết quả, hãy cài đặt các gói cần thiết:

sudo apt-get install linux-headers-${hiển_thị_phiên_bản_kernel}

3. Gỡ cài đặt phiên bản driver cũ

Sử dụng lệnh sau để gỡ cài đặt driver đã cài đặt bằng file run:

sudo /usr/bin/gỡ_cài_đặt_nvidia

Hoặc với các gói cài đặt bằng.deb:

sudo apt-get --purge remove nvidia-*
sudo apt-get autoremove

4. Quá trình cài đặt

4.1 Vô hiệu hóa driver Nouveau

Tạo một file tại `/etc/modprobe.d/chặn_nouveau.conf`:

sudo gedit /etc/modprobe.d/chặn_nouveau.conf

Thêm nội dung sau vào file:

chặn_nouveau
tùy_chọn nouveau modeset=0

Regenerate kernel initramfs:

sudo update-initramfs -u

Kiểm tra Nouveau đã bị vô hiệu hóa:

lsmod | grep nouveau

Nếu không có kết quả nào, bạn đã thành công.

4.2 Chuyển sang chế độ dòng lệnh

Nhấn `Ctrl+Alt+F1` để vào runlevel 1.

4.3 Tắt giao diện đồ họa

sudo service lightdm stop

4.4 Cài đặt NVIDIA Driver

Chuyển quyền thực thi cho file cài đặt và chạy nó:

sudo chmod +x ./driver_nvidia.run
sudo ./driver_nvidia.run --không_cài_opengl

Làm theo các hướng dẫn trên màn hình. Đối với các tùy chọn:

  • nVidia Installer Register the Kernel Source Modules with DKMS: Chọn No.
  • nVidia Installer 32-bit Compatibility Libraries: Chọn No.
  • nVidia Installer Automatic Xorg Config and Backup: Chọn Yes.

4.5 Kiểm tra cài đặt

sudo modprobe nvidia
kiểm_tra_nvidia

4.6 Trở về giao diện đồ họa

sudo service lightdm restart
# hoặc
# Ctrl + Alt + F7
# hoặc
# sudo init 5

4.7 Khởi động lại hệ thống

reboot

Phần 2: Cài đặt CUDA Toolkit

1. Gỡ cài đặt phiên bản cũ

sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl
sudo rm -rf /usr/local/cuda-10.0

2. Các bước chuẩn bị trước khi cài đặt

  • Kiểm tra GPU CUDA-capable bằng lệnh `lspci | grep -i nvidia`.
  • Đảm bảo hệ thống đang chạy phiên bản Linux được hỗ trợ.
  • Kiểm tra GCC đã được cài đặt.
  • Đảm bảo các gói header và development package cho kernel đã được cài đặt (đã hướng dẫn ở trên).
  • Tải xuống NVIDIA CUDA Toolkit từ đây.

3. Cài đặt bằng file Runfile

3.1 Vô hiệu hóa Nouveau (đã thực hiện ở trên)

3.2 Tắt giao diện đồ họa

sudo service lightdm stop

3.3 Chạy file cài đặt CUDA

sudo sh bộ_công_cụ_cuda.run

Khi được hỏi "Install NVIDIA Accelerated Graphics Driver for Linux-x86_64...", hãy trả lời "n" (No). Bỏ qua cài đặt driver OpenGL.

3.4 Khởi động lại giao diện đồ họa

sudo service lightdm start

3.5 Cấu hình biến môi trường

Thêm các dòng sau vào cuối file `/etc/profile`:

xuất_các_biến_môi_trường
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Áp dụng thay đổi và khởi động lại:

source /etc/profile
reboot

3.6 Kiểm tra cài đặt

Cài đặt các mẫu và build một mẫu để kiểm tra:

cuda-install-samples-10.0.sh ~
cd /usr/local/cuda-10.0/samples
make
cd ~/NVIDIA_CUDA-10.0_Samples/1_Utilities/deviceQuery
make
./deviceQuery

Kết quả cuối cùng phải là "Pass".

4. Kiểm tra phiên bản CUDA

nvcc -V
# hoặc
cat /usr/local/cuda/version.txt

Phần 3: Cài đặt cuDNN

1. Tải xuống cuDNN

Đăng ký tài khoản tại trang chủ cuDNN và tải xuống phiên bản phù hợp (ví dụ: cuDNN v7.6.5 cho CUDA 10.0).

2. Cài đặt từ file Tar

Giải nén gói cuDNN và sao chép các file vào thư mục CUDA:

giải_nén_cuDNN=$(tar -xzvf gói_cuDNN.tar.gz)
sao_chép_tệp_cuDNN
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

3. Cài đặt từ file Debian (tùy chọn)

Navigate to the directory containing the cuDNN Debian files and run:

sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.0_amd64.deb

4. Kiểm tra phiên bản cuDNN

kiểm_tra_phiên_bản_cuDNN=$(cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2)

Phần 4: Khắc phục sự cố

Lỗi "The system is running in low-graphics mode"

  • Giải pháp 1: Khắc phục quyền cho các thư mục liên quan đến lightdm và khởi động lại.
sudo chown lightdm:lightdm -R /var/lib/lightdm
sudo chown avahi-autoipd:avahi-autoipd -R /var/lib/avahi-autoipd
sudo chown colord:colord -R /var/lib/colord
sudo reboot
  • Giải pháp 2: Gỡ bỏ hoàn toàn NVIDIA driver.
sudo apt-get purge nvidia*
  • Giải pháp 3: Gỡ bỏ driver fglrx (nếu có).
sudo apt-get purge fglrx

Thẻ: nvidia-driver CUDA cudnn Ubuntu deep-learning

Đăng vào ngày 30 tháng 7 lúc 05:46