- 1 1. Giới thiệu
- 2 2. Cách kiểm tra phiên bản CUDA trên Ubuntu
- 3 3. Cách kiểm tra phiên bản cuDNN
- 4 4. Cách xử lý khi có nhiều phiên bản CUDA được cài đặt
- 5 5. Câu hỏi thường gặp (FAQ)
- 6 6. Tổng kết
- 7 Bài viết liên quan
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ặcmanual mode
, chuyển tay thì chọnmanual 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-smi
là phiê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:
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áp | Lệnh | Đặc điểm |
---|---|---|
nvidia-smi | nvidia-smi | Kiểm tra phiên bản CUDA mà driver hỗ trợ |
nvcc -V | nvcc -V | Kiểm tra phiên bản bộ công cụ CUDA thực tế |
version.txt | cat /usr/local/cuda/version.txt | Kiểm tra thủ công phiên bản CUDA |
Cách kiểm tra phiên bản cuDNN
Phương pháp | Lệnh | Đặc điểm |
---|---|---|
cudnn_version.h | cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 | Kiểm tra từ file header |
Lệnh dpkg | dpkg -l | grep libcudnn | Kiểm tra phiên bản cuDNN đã cài |
Cách chuyển đổi phiên bản CUDA
Phương pháp | Lệnh | Đặc điểm |
---|---|---|
update-alternatives | sudo update-alternatives --config cuda | Chuyển đổi giữa các phiên bản CUDA đã cài |
Symbolic link | sudo ln -s /usr/local/cuda-XX.X /usr/local/cuda | Chỉ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
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[…]
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 đ[…]
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[…]