Cách Kiểm Tra Phiên Bản CUDA và cuDNN Trên Ubuntu [Hướng Dẫn Mới Nhất 2025]

目次

1. Giới thiệu

CUDA (Compute Unified Device Architecture) là một nền tảng tính toán song song sử dụng GPU do NVIDIA phát triển. Nó được sử dụng rộng rãi trong các tác vụ như machine learning, deep learning và dựng hình 3D.

Khi sử dụng CUDA trên môi trường Ubuntu, việc kiểm tra phiên bản CUDA là rất quan trọng vì các lý do sau.

Tương thích với Driver

CUDA chỉ hỗ trợ một số phiên bản driver NVIDIA nhất định. Nếu không tương thích, CUDA có thể không hoạt động chính xác.

Tình trạng hỗ trợ thư viện

Các thư viện như TensorFlow hay PyTorch yêu cầu phiên bản CUDA và cuDNN cụ thể, vì vậy bạn cần đảm bảo đã cài đúng phiên bản phù hợp.

Tránh nhầm lẫn môi trường

Nếu có nhiều phiên bản CUDA được cài trên hệ thống, bạn cần xác định phiên bản nào đang được sử dụng và chuyển đổi khi cần thiết.

Bài viết này sẽ giải thích chi tiết cách kiểm tra phiên bản CUDA trên Ubuntu một cách dễ hiểu.

2. Cách kiểm tra phiên bản CUDA trên Ubuntu

Trên Ubuntu, bạn có thể kiểm tra phiên bản CUDA bằng các cách sau:

Cách 1: Kiểm tra bằng lệnh nvidia-smi (đơn giản nhất)

Driver NVIDIA đi kèm công cụ nvidia-smi (NVIDIA System Management Interface) để kiểm tra trạng thái GPU.

Lệnh thực thi

nvidia-smi

Ví dụ kết quả

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03    Driver Version: 530.41.03    CUDA Version: 12.1     |
+-----------------------------------------------------------------------------+

Điểm chú ý

  • Phần CUDA Version: 12.1 hiển thị phiên bản CUDA tối đa mà driver NVIDIA hỗ trợ.
  • Phiên bản này có thể khác với phiên bản bộ công cụ CUDA thực tế đã cài. Hãy kiểm tra thêm bằng các phương pháp khác dưới đây.

Cách 2: Kiểm tra bằng lệnh nvcc -V (dành cho developer)

Nếu CUDA đã được cài đặt đúng cách, bạn có thể kiểm tra phiên bản trình biên dịch CUDA nvcc.

Lệnh thực thi

nvcc -V

Ví dụ kết quả

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Sun_Jul_30_19:09:40_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105

Điểm chú ý

  • release 12.1, V12.1.105Đây là phiên bản bộ công cụ CUDA thực tế đã cài đặt.
  • Phiên bản này có thể khác với phiên bản hiện trên nvidia-smi, hãy chú ý!

Cách 3: Kiểm tra file version.txt (kiểm tra thủ công)

Nếu CUDA được cài ở /usr/local/cuda, bạn có thể xem thông tin phiên bản trong file version.txt.

Lệnh thực thi

cat /usr/local/cuda/version.txt

Ví dụ kết quả

CUDA Version 12.1.105

Điểm chú ý

  • Có thể kiểm tra kể cả khi không dùng được nvcc -V.
  • Hãy đảm bảo /usr/local/cuda được liên kết symbolic đúng với thư mục phiên bản.

3. Cách kiểm tra phiên bản cuDNN

cuDNN (CUDA Deep Neural Network) là thư viện dùng cho deep learning, được sử dụng cùng với CUDA.
Ngoài việc kiểm tra CUDA, cũng cần kiểm tra phiên bản cuDNN.

Cách 1: Kiểm tra file cudnn_version.h

Phiên bản cuDNN có thể kiểm tra qua file header cudnn_version.h.

Lệnh thực thi

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

Ví dụ kết quả

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 1

Điểm chú ý

  • Hiển thị cuDNN đã cài là cuDNN 8.9.1.
  • Dùng lệnh grep để nhanh chóng lấy thông tin phiên bản cuDNN.
  • Phiên bản cuDNN và CUDA cần tương thích, hãy kiểm tra kỹ.

Cách 2: Kiểm tra bằng lệnh dpkg (chỉ dành cho Linux dòng Debian như Ubuntu)

Với Ubuntu và các distro Debian, có thể kiểm tra cuDNN đã cài bằng lệnh dpkg.

Lệnh thực thi

dpkg -l | grep libcudnn

Ví dụ kết quả

ii  libcudnn8    8.9.1-1+cuda12.1    amd64    NVIDIA cuDNN Library

Điểm chú ý

  • Phần libcudnn8 8.9.1-1+cuda12.1 cho biết phiên bản cuDNN (8.9.1).
  • Phần cuda12.1 cho biết phiên bản CUDA tương ứng (12.1).

Hãy sử dụng các cách trên để đảm bảo môi trường CUDA của bạn được cấu hình đúng.

4. Cách xử lý khi có nhiều phiên bản CUDA được cài đặt

Trên Ubuntu, bạn có thể cài nhiều phiên bản CUDA. Tuy nhiên, điều này có thể gây nhầm lẫn về phiên bản đang được sử dụng.
Khi đó, cần chuyển đổi để dùng đúng phiên bản bạn muốn.

Cách 1: Sử dụng update-alternatives để chuyển đổi

Trên Ubuntu, có thể sử dụng update-alternatives để chuyển đổi giữa các phiên bản CUDA.

Kiểm tra thiết lập hiện tại

update-alternatives --query cuda

Chuyển đổi phiên bản CUDA

sudo update-alternatives --config cuda

Ví dụ kết quả

There are 3 choices for the alternative cuda (providing /usr/local/cuda).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/local/cuda-11.8  100       auto mode
  1            /usr/local/cuda-10.2  50        manual mode
  2            /usr/local/cuda-11.8  100       manual mode
  3            /usr/local/cuda-12.1  110       manual mode

Press <enter> to keep the current choice[*], or type selection number:

Điểm chú ý

  • Khi chạy update-alternatives --config cuda, danh sách các phiên bản CUDA có thể dùng sẽ được hiển thị.
  • Nhập số tương ứng để chọn phiên bản muốn sử dụng.
  • Có thể chọn auto mode hoặc manual mode, chuyển tay thì chọn manual mode.

Cách 2: Thiết lập symbolic link thủ công

Bạn cũng có thể chuyển đổi CUDA bằng cách chỉnh symbolic link tới phiên bản muốn sử dụng.

Kiểm tra symbolic link hiện tại

ls -l /usr/local/cuda

Ví dụ kết quả

lrwxrwxrwx 1 root root 20 Feb  1 12:34 /usr/local/cuda -> /usr/local/cuda-11.8

Thay đổi symbolic link của CUDA

sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda

Kiểm tra lại

ls -l /usr/local/cuda

Điểm chú ý

  • /usr/local/cuda là đường dẫn mặc định cho CUDA, chỉnh link này để chuyển đổi phiên bản.
  • Dùng ln -s để tạo symbolic link mới tới phiên bản CUDA cần dùng.

Nhờ các cách này, bạn có thể sử dụng đúng phiên bản CUDA mong muốn ngay cả khi có nhiều phiên bản được cài đặt.

5. Câu hỏi thường gặp (FAQ)

Dưới đây là các câu hỏi thường gặp về kiểm tra phiên bản CUDA. Hãy tham khảo khi gặp vấn đề.

Q1: Không tìm thấy nvcc -V!

Nếu không tìm thấy lệnh nvcc, có thể đường dẫn CUDA chưa được thiết lập trong môi trường.

Giải pháp 1: Kiểm tra xem CUDA đã cài đặt chưa

ls /usr/local/cuda/

Giải pháp 2: Thêm đường dẫn nvcc vào PATH

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Sau đó thử lại lệnh nvcc -V để kiểm tra phiên bản.

Q2: Tại sao phiên bản CUDA trên nvidia-smi lại khác với thực tế?

Phiên bản CUDA hiển thị trên nvidia-smiphiên bản CUDA cao nhất mà driver NVIDIA hỗ trợ.

Cách kiểm tra:

nvidia-smi

Ví dụ kết quả:

CUDA Version: 12.1

Tuy nhiên, để kiểm tra bộ công cụ CUDA thực tế đã cài, hãy dùng nvcc -V hoặc kiểm tra version.txt.

Q3: Làm sao kiểm tra tính tương thích giữa CUDA và cuDNN?

Cách chắc chắn nhất là tham khảo bảng tương thích chính thức từ NVIDIA.

Trang chính thức:

NVIDIA cuDNN Support Matrix

Bạn cũng nên kiểm tra phiên bản đã cài bằng các lệnh sau:

Kiểm tra phiên bản CUDA

nvcc -V

Kiểm tra phiên bản cuDNN

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

Quản lý môi trường đúng cách sẽ giúp tránh các lỗi tương thích giữa CUDA và cuDNN.

6. Tổng kết

Bài viết này đã hướng dẫn chi tiết cách kiểm tra phiên bản CUDA trên Ubuntu.
Dưới đây là các điểm cần nhớ:

Cách kiểm tra phiên bản CUDA

Phương phápLệnhĐặc điểm
nvidia-sminvidia-smiKiểm tra phiên bản CUDA mà driver hỗ trợ
nvcc -Vnvcc -VKiểm tra phiên bản bộ công cụ CUDA thực tế
version.txtcat /usr/local/cuda/version.txtKiểm tra thủ công phiên bản CUDA

Cách kiểm tra phiên bản cuDNN

Phương phápLệnhĐặc điểm
cudnn_version.hcat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2Kiểm tra từ file header
Lệnh dpkgdpkg -l | grep libcudnnKiểm tra phiên bản cuDNN đã cài

Cách chuyển đổi phiên bản CUDA

Phương phápLệnhĐặc điểm
update-alternativessudo update-alternatives --config cudaChuyển đổi giữa các phiên bản CUDA đã cài
Symbolic linksudo ln -s /usr/local/cuda-XX.X /usr/local/cudaChỉnh symbolic link thủ công

Điểm chính cần nhớ

  • Kiểm tra chính xác phiên bản CUDA đã cài
  • Kiểm tra tính tương thích với cuDNN và chọn đúng phiên bản
  • Nắm vững cách chuyển đổi giữa các phiên bản CUDA nếu cần

Quản lý tốt môi trường sẽ giúp tận dụng tối đa sức mạnh của CUDA.
Hy vọng bài viết này sẽ hữu ích khi bạn kiểm tra phiên bản CUDA trên Ubuntu!

Bài viết liên quan

Bài

1. Giới thiệu CUDA (Compute Unified Device Architecture) là một nền tảng điện toán song song và API được cung cấp bởi N[…]

Bài

Cách cài đặt driver Nvidia trên Ubuntu 1. Giới thiệu: Tại sao nên sử dụng driver Nvidia trên Ubuntu? Ubuntu mặc đ[…]

Bài

1. Giới thiệu Khi sử dụng GPU trên Ubuntu, điều quan trọng là phải kiểm tra chính xác trạng thái của nó. Đặc biệt, tron[…]

侍エンジニア塾