Cách Cài Đặt NVIDIA CUDA và cuDNN trên Ubuntu: Hướng Dẫn Thiết Lập Đầy Đủ cho Tăng Tốc GPU

1. Giới thiệu

CUDA (Compute Unified Device Architecture) là một nền tảng và API tính toán song song do NVIDIA cung cấp, cho phép xử lý tốc độ cao bằng GPU.
Nó được sử dụng rộng rãi trong các lĩnh vực như học máy, học sâu và tính toán khoa học.
Bài viết này giải thích quy trình từng bước để cài đặt CUDA trong môi trường Ubuntu.

2. Yêu cầu trước

2.1 Cách kiểm tra GPU được hỗ trợ

Đầu tiên, xác minh xem GPU NVIDIA được cài đặt trong hệ thống của bạn có tương thích với CUDA hay không.
Chạy lệnh sau trong terminal:

lspci | grep -i nvidia

Nếu một thiết bị NVIDIA xuất hiện trong kết quả, GPU của bạn đã được nhận diện.
Bạn có thể kiểm tra danh sách đầy đủ các GPU được hỗ trợ trên trang web chính thức của NVIDIA.

2.2 Kiểm tra phiên bản Ubuntu

CUDA hỗ trợ một số phiên bản Ubuntu nhất định.
Sử dụng lệnh sau để kiểm tra phiên bản Ubuntu hiện tại của bạn:

lsb_release -a

Nói chung, các bản phát hành Ubuntu LTS (Long Term Support) được khuyến nghị.
Tham khảo tài liệu chính thức của NVIDIA để biết thông tin hỗ trợ mới nhất.

2.3 Kiểm tra xem gcc đã được cài đặt chưa

Trình biên dịch gcc là bắt buộc để cài đặt CUDA.
Kiểm tra trạng thái cài đặt bằng lệnh sau:

gcc --version

Nếu gcc chưa được cài đặt, chạy lệnh này để cài đặt nó:

sudo apt install build-essential

3. Cài đặt Driver NVIDIA

3.1 Gỡ bỏ Driver hiện có

Nếu các driver NVIDIA cũ đã được cài đặt, hãy gỡ bỏ chúng để tránh xung đột.
Chạy các lệnh sau:

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

3.2 Chọn và Cài đặt Driver phù hợp

Kiểm tra trang web chính thức của NVIDIA để tìm driver đúng cho GPU của bạn, sau đó cài đặt theo các bước dưới đây.

  1. Thêm repository — Chạy các lệnh sau để thêm repository driver NVIDIA:
    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    
  1. Kiểm tra driver được đề xuất — Sử dụng lệnh này để tìm driver được đề xuất:
    ubuntu-drivers devices
    

Cài đặt driver được gắn nhãn “recommended”.

  1. Cài đặt driver — Chỉ định phiên bản được đề xuất khi cài đặt:
    sudo apt install nvidia-driver-<recommended-version>
    
  1. Khởi động lại hệ thống — Sau khi cài đặt, khởi động lại Ubuntu:
    sudo reboot
    

4. Cài đặt CUDA Toolkit

4.1 Lựa chọn phiên bản CUDA

Trên trang tải CUDA chính thức, kiểm tra phiên bản CUDA nào tương thích với GPU và phiên bản Ubuntu của bạn.
Nếu bạn chọn phiên bản mới nhất, hãy đảm bảo tính tương thích với phần mềm và các thư viện của bạn.

4.2 Thêm Repository và Cài đặt

Thực hiện các bước dưới đây để cài đặt CUDA Toolkit.

  1. Thêm repository — Ví dụ sau dùng Ubuntu 20.04:
    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
    sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
    
  1. Thêm khóa repository — Lấy và cài đặt khóa repository:
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
    
  1. Cài đặt gói CUDA — Cài đặt CUDA Toolkit:
    sudo apt update
    sudo apt install cuda
    
  1. Xác minh cài đặt — Xác nhận rằng CUDA đã được cài đặt:
    nvcc --version
    

5. Đặt biến môi trường

5.1 Cấu hình PATH và LD_LIBRARY_PATH

Để sử dụng CUDA, bạn phải cấu hình đúng các biến môi trường. Thực hiện các bước sau:

  1. Chỉnh sửa file .bashrc
    nano ~/.bashrc
    
  1. Thêm các dòng sau
    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    
  1. Áp dụng thay đổi — Lưu và tải lại terminal:
    source ~/.bashrc
    

6. Cài đặt cuDNN

6.1 cuDNN là gì?

cuDNN (thư viện Mạng Nơ-ron Sâu CUDA) là một thư viện được tăng tốc bằng GPU, tối ưu cho các công việc học sâu.

6.2 Tải cuDNN

Tải phiên bản cuDNN tương thích với CUDA đã cài đặt của bạn từ trang web chính thức của NVIDIA.
Cần có tài khoản NVIDIA để tải xuống.

6.3 Quy trình Cài đặt

  1. Giải nén — Giải nén tệp cuDNN đã tải về:
    tar -xzvf cudnn-<version>.tgz
    
  1. Sao chép các tệp — Sao chép các tệp cần thiết vào thư mục CUDA:
    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*
    
  1. Xác minh cài đặt — Kiểm tra phiên bản cuDNN bằng lệnh này:
    cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    

7. Xác minh Cài đặt

7.1 Kiểm tra Hoạt động CUDA

Chạy lệnh sau để xác minh rằng CUDA đã được cài đặt đúng:

nvcc --version

7.2 Chạy Chương trình Mẫu

Thực thi các chương trình mẫu CUDA để kiểm tra chức năng.

  1. Cài đặt các mẫu
    cuda-install-samples-<version>.run
    cd ~/NVIDIA_CUDA-<version>_Samples/1_Utilities/deviceQuery
    make
    
  1. Chạy chương trình
    ./deviceQuery
    

Nếu đầu ra hiển thị “PASS”, việc cài đặt đã thành công.

8. Khắc phục sự cố

8.1 Các vấn đề thường gặp và Giải pháp

  • Vấn đề: CUDA không được nhận dạng Giải pháp: Kiểm tra lại các biến môi trường và khởi động lại hệ thống.
  • Vấn đề: GPU không được sử dụng Giải pháp: Thử cài đặt lại driver NVIDIA.
  • Vấn đề: Không tương thích giữa CUDA và phần mềm của bạn Giải pháp: Kiểm tra phiên bản CUDA mà phần mềm của bạn hỗ trợ và cài đặt phiên bản tương ứng.

9. Kết luận

Bài viết này cung cấp hướng dẫn chi tiết về cách cài đặt CUDA và cuDNN trong môi trường Ubuntu.
Bằng cách thực hiện chính xác các bước này, bạn có thể xây dựng một môi trường tính toán GPU hiệu năng cao.
Nếu bạn dự định sử dụng học sâu hoặc tính toán khoa học, hãy cân nhắc thiết lập TensorFlow hoặc PyTorch như bước tiếp theo.