- 1 1. บทนำ
- 2 2. วิธีตรวจสอบเวอร์ชัน CUDA บน Ubuntu
- 3 3. วิธีตรวจสอบเวอร์ชันของ cuDNN
- 4 4. วิธีจัดการเมื่อมี CUDA หลายเวอร์ชันในเครื่อง
- 5 5. คำถามที่พบบ่อย (FAQ)
- 6 6. สรุป
- 7 บทความที่เกี่ยวข้อง
1. บทนำ
CUDA (Compute Unified Device Architecture) คือแพลตฟอร์มการประมวลผลแบบขนานที่ใช้ GPU ซึ่งพัฒนาโดย NVIDIA ใช้งานอย่างแพร่หลายในงาน Machine Learning, Deep Learning และการเรนเดอร์ 3D รวมถึงงานประมวลผลขนาดใหญ่หลากหลายประเภท
เมื่อใช้งาน CUDA บน Ubuntu การตรวจสอบเวอร์ชันของ CUDA จึงเป็นสิ่งสำคัญ ด้วยเหตุผลต่อไปนี้
ความเข้ากันได้กับไดรเวอร์
CUDA รองรับเฉพาะกับบางเวอร์ชันของ NVIDIA Driver หากเวอร์ชันไม่ตรงกันอาจทำงานผิดพลาดได้
ความเข้ากันได้ของไลบรารี
ไลบรารีอย่าง TensorFlow หรือ PyTorch ต้องการ CUDA และ cuDNN ในเวอร์ชันที่ระบุ ดังนั้นควรตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเวอร์ชันที่เหมาะสมแล้ว
ป้องกันความสับสนในสภาพแวดล้อม
หากมี CUDA หลายเวอร์ชันในระบบ ต้องรู้ว่าเวอร์ชันใดถูกใช้งานอยู่ และควรสลับให้เหมาะสมเมื่อต้องการใช้งานเวอร์ชันอื่น
บทความนี้จะอธิบายวิธีตรวจสอบเวอร์ชัน CUDA บน Ubuntu อย่างละเอียดและเข้าใจง่าย
2. วิธีตรวจสอบเวอร์ชัน CUDA บน Ubuntu
บน Ubuntu สามารถตรวจสอบเวอร์ชันของ CUDA ได้ด้วยวิธีต่อไปนี้
วิธีที่ 1: ตรวจสอบด้วยคำสั่ง nvidia-smi
(วิธีที่ง่ายที่สุด)
Driver ของ NVIDIA มีเครื่องมือชื่อ nvidia-smi
(NVIDIA System Management Interface) สำหรับตรวจสอบสถานะของ GPU
คำสั่งที่ใช้
nvidia-smi
ตัวอย่างผลลัพธ์
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03 Driver Version: 530.41.03 CUDA Version: 12.1 |
+-----------------------------------------------------------------------------+
จุดสำคัญ
- ส่วน
CUDA Version: 12.1
คือเวอร์ชันสูงสุดของ CUDA ที่ Driver นี้รองรับ - อาจแตกต่างจากเวอร์ชันของ CUDA Toolkit ที่ติดตั้งจริง ดังนั้นควรตรวจสอบวิธีถัดไปด้วย
วิธีที่ 2: ตรวจสอบด้วยคำสั่ง nvcc -V
(สำหรับนักพัฒนา)
หากติดตั้ง CUDA อย่างถูกต้อง สามารถใช้ nvcc
(CUDA Compiler) เพื่อตรวจสอบเวอร์ชันได้
คำสั่งที่ใช้
nvcc -V
ตัวอย่างผลลัพธ์
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
จุดสำคัญ
release 12.1, V12.1.105
→ เวอร์ชันของ CUDA Toolkit ที่ติดตั้งจริง- อาจไม่ตรงกับเวอร์ชันที่แสดงใน
nvidia-smi
ควรตรวจสอบให้แน่ใจ
วิธีที่ 3: ตรวจสอบไฟล์ version.txt
(วิธีเช็คแบบ manual)
หากติดตั้ง CUDA ที่ /usr/local/cuda
สามารถดูเวอร์ชันในไฟล์ version.txt
ได้
คำสั่งที่ใช้
cat /usr/local/cuda/version.txt
ตัวอย่างผลลัพธ์
CUDA Version 12.1.105
จุดสำคัญ
- ตรวจสอบได้ แม้ในระบบที่ใช้
nvcc -V
ไม่ได้ - ควรตรวจสอบว่า
/usr/local/cuda
ลิงก์ถูกต้องหรือไม่
3. วิธีตรวจสอบเวอร์ชันของ cuDNN
cuDNN (CUDA Deep Neural Network) คือไลบรารีสำหรับ Deep Learning ที่ทำงานร่วมกับ CUDA
นอกจากตรวจสอบ CUDA แล้ว ควรตรวจสอบเวอร์ชันของ cuDNN ด้วย
วิธีที่ 1: ตรวจสอบไฟล์ cudnn_version.h
เวอร์ชันของ cuDNN อยู่ใน header file cudnn_version.h
คำสั่งที่ใช้
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
ตัวอย่างผลลัพธ์
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 1
จุดสำคัญ
- รู้ได้ว่า
cuDNN 8.9.1
ติดตั้งอยู่ - ใช้
grep
ดึงข้อมูลเวอร์ชัน cuDNN ได้ง่าย - เวอร์ชันของ cuDNN และ CUDA ต้องเข้ากันได้ ควรตรวจสอบให้เหมาะสม
วิธีที่ 2: ตรวจสอบด้วย dpkg
(สำหรับ Linux สาย Debian เช่น Ubuntu)
สำหรับ Ubuntu หรือ Debian สามารถใช้ dpkg
เพื่อตรวจสอบเวอร์ชันของ cuDNN ที่ติดตั้งได้
คำสั่งที่ใช้
dpkg -l | grep libcudnn
ตัวอย่างผลลัพธ์
ii libcudnn8 8.9.1-1+cuda12.1 amd64 NVIDIA cuDNN Library
จุดสำคัญ
- ดูเวอร์ชัน cuDNN (8.9.1) ได้จาก
libcudnn8 8.9.1-1+cuda12.1
- ดูเวอร์ชัน CUDA ที่รองรับ (12.1) ได้จาก
cuda12.1
ใช้วิธีเหล่านี้เพื่อตรวจสอบว่า CUDA และ cuDNN ในระบบถูกต้องและพร้อมใช้งานหรือไม่

4. วิธีจัดการเมื่อมี CUDA หลายเวอร์ชันในเครื่อง
บน Ubuntu สามารถติดตั้ง CUDA ได้หลายเวอร์ชัน แต่บางครั้งอาจสับสนว่าใช้งานเวอร์ชันไหนอยู่
กรณีนี้จำเป็นต้องสลับเวอร์ชันให้เหมาะสม
วิธีที่ 1: สลับเวอร์ชันด้วย update-alternatives
Ubuntu สามารถใช้ update-alternatives
สลับเวอร์ชันของ CUDA ได้
ตรวจสอบเวอร์ชันปัจจุบัน
update-alternatives --query cuda
สลับไปใช้เวอร์ชันที่ต้องการ
sudo update-alternatives --config cuda
ตัวอย่างผลลัพธ์
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:
จุดสำคัญ
- เมื่อรัน
update-alternatives --config cuda
จะแสดงรายการ CUDA ที่ติดตั้ง - เลือกหมายเลขเพื่อสลับเวอร์ชันที่ต้องการ
- มีทั้ง
auto mode
และmanual mode
หากต้องการกำหนดเองให้เลือก manual
วิธีที่ 2: ตั้งค่า Symbolic Link ด้วยตนเอง
สามารถใช้ symbolic link เพื่อกำหนด CUDA เวอร์ชันที่ใช้งานอยู่ได้เช่นกัน
ตรวจสอบ symbolic link ปัจจุบัน
ls -l /usr/local/cuda
ตัวอย่างผลลัพธ์
lrwxrwxrwx 1 root root 20 Feb 1 12:34 /usr/local/cuda -> /usr/local/cuda-11.8
เปลี่ยนเวอร์ชัน CUDA
sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda
ตรวจสอบอีกครั้ง
ls -l /usr/local/cuda
จุดสำคัญ
/usr/local/cuda
คือ path เริ่มต้นของ CUDA การเปลี่ยน symbolic link จะเป็นการเปลี่ยนเวอร์ชันที่ใช้งาน- ใช้คำสั่ง
ln -s
เปลี่ยน symbolic link ได้ง่ายและรวดเร็ว
ด้วยวิธีเหล่านี้ จะสามารถสลับและใช้งาน CUDA หลายเวอร์ชันในระบบได้อย่างถูกต้อง
5. คำถามที่พบบ่อย (FAQ)
รวมคำถามและปัญหาที่พบบ่อยเกี่ยวกับการตรวจสอบเวอร์ชัน CUDA เพื่อใช้อ้างอิงเมื่อเกิดปัญหา
Q1: ใช้ nvcc -V
ไม่ได้?
ถ้าไม่พบคำสั่ง nvcc
อาจเป็นเพราะ PATH ไม่ถูกต้อง
วิธีแก้ที่ 1: ตรวจสอบว่าติดตั้ง CUDA แล้วหรือไม่
ls /usr/local/cuda/
วิธีแก้ที่ 2: เพิ่ม PATH ของ nvcc
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
ตั้งค่าแล้วให้ลองรัน nvcc -V
อีกครั้งเพื่อดูเวอร์ชัน
Q2: ทำไมเวอร์ชัน CUDA ที่แสดงใน nvidia-smi
ไม่ตรงกับที่ติดตั้งจริง?
เวอร์ชัน CUDA ที่ nvidia-smi
แสดงคือเวอร์ชันสูงสุดที่ Driver รองรับ
วิธีตรวจสอบ:
nvidia-smi
ตัวอย่างผลลัพธ์:
CUDA Version: 12.1
หากต้องการดูเวอร์ชัน CUDA ที่ติดตั้งจริงให้ใช้ nvcc -V
หรือดูที่ version.txt
Q3: ตรวจสอบความเข้ากันได้ของ CUDA กับ cuDNN ได้อย่างไร?
ควรดู Support Matrix อย่างเป็นทางการของ NVIDIA สำหรับข้อมูลล่าสุด
เว็บไซต์ทางการ:
หรือเช็คเวอร์ชันที่ติดตั้งอยู่ด้วยคำสั่งเหล่านี้
ตรวจสอบเวอร์ชัน CUDA
nvcc -V
ตรวจสอบเวอร์ชัน cuDNN
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
การจัดการสภาพแวดล้อมอย่างถูกต้องจะช่วยป้องกันปัญหาเกี่ยวกับ CUDA และ cuDNN ได้
6. สรุป
บทความนี้ได้อธิบายรายละเอียดเกี่ยวกับการตรวจสอบเวอร์ชันของ CUDA บน Ubuntu
ขอสรุปจุดสำคัญอีกครั้ง
วิธีตรวจสอบเวอร์ชัน CUDA
วิธี | คำสั่ง | จุดเด่น |
---|---|---|
nvidia-smi | nvidia-smi | ดูเวอร์ชัน CUDA ที่ Driver รองรับ |
nvcc -V | nvcc -V | ดูเวอร์ชันของ CUDA Toolkit ที่ติดตั้งจริง |
version.txt | cat /usr/local/cuda/version.txt | เช็คเวอร์ชันด้วยตนเอง |
วิธีตรวจสอบเวอร์ชัน cuDNN
วิธี | คำสั่ง | จุดเด่น |
---|---|---|
cudnn_version.h | cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 | ตรวจสอบเวอร์ชันจาก header file |
dpkg คำสั่ง | dpkg -l | grep libcudnn | ดูเวอร์ชัน cuDNN ที่ติดตั้งในระบบ |
วิธีสลับเวอร์ชัน CUDA
วิธี | คำสั่ง | จุดเด่น |
---|---|---|
update-alternatives | sudo update-alternatives --config cuda | สลับเวอร์ชัน CUDA หลายตัว |
Symbolic Link | sudo ln -s /usr/local/cuda-XX.X /usr/local/cuda | เปลี่ยนเวอร์ชัน CUDA ด้วยตนเอง |
จุดสำคัญในบทสรุป
- ต้องรู้จักเวอร์ชัน CUDA ที่ใช้งานจริง
- ตรวจสอบความเข้ากันได้กับ cuDNN ทุกครั้ง
- ถ้ามีหลายเวอร์ชัน ต้องเข้าใจวิธีสลับให้เหมาะสม
หากจัดการสภาพแวดล้อมอย่างถูกต้อง จะใช้งาน CUDA ได้เต็มประสิทธิภาพ
หวังว่าบทความนี้จะเป็นประโยชน์สำหรับการตรวจสอบเวอร์ชัน CUDA บน Ubuntu ของคุณ
บทความที่เกี่ยวข้อง
1. บทนำ CUDA (Compute Unified Device Architecture) เป็นแพลตฟอร์มการประมวลผลแบบขนานและ API ที่ NVIDIA พัฒนาขึ้นมา ซึ่งช่[…]
1. เหตุผลที่ควรใช้ไดรเวอร์ Nvidia บน Ubuntu Ubuntu มีไดรเวอร์ Nouveau แบบโอเพนซอร์สให้เป็นค่าเริ่มต้น แต่การติดตั้งไดรเ[…]
1. บทนำ เมื่อใช้งาน GPU บน Ubuntu สิ่งสำคัญคือต้องตรวจสอบสถานะอย่างถูกต้อง โดยเฉพาะอย่างยิ่งสำหรับงาน Deep Learning หรื[…]