1. บทนำ
เมื่อใช้ GPU บน Ubuntu จำเป็นต้องตรวจสอบสถานะของมันอย่างแม่นยำ สิ่งนี้สำคัญอย่างยิ่งในงานที่เกี่ยวกับการเรียนรู้เชิงลึกหรือการเรนเดอร์กราฟิก ซึ่งต้องเข้าใจการใช้ GPU และเวอร์ชันของไดรเวอร์ ในบทความนี้ เราจะอธิบายวิธีใช้ nvidia-smi ซึ่งเป็นเครื่องมือจัดการ GPU ของ NVIDIA และแนะนำวิธีตรวจสอบข้อมูล GPU บน Ubuntu
2. การตรวจสอบข้อมูล GPU ด้วย nvidia-smi
nvidia-smi เป็นเครื่องมือบรรทัดคำสั่งที่ช่วยให้คุณตรวจสอบการใช้งาน, การใช้หน่วยความจำ, และข้อมูลรายละเอียดอื่น ๆ ของ GPU ของ NVIDIA มันมีประโยชน์อย่างยิ่งเมื่อคุณต้องการตรวจสอบกิจกรรมของ GPU แบบเรียลไทม์หรือดึงเมตริกการใช้งานอย่างละเอียด
การใช้งานพื้นฐาน
คุณสามารถใช้คำสั่งต่อไปนี้เพื่อมอนิเตอร์การใช้ GPU และการใช้หน่วยความจำแบบเรียลไทม์:
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1
คำสั่งนี้จะดึงข้อมูลรายละเอียดรวมถึงการใช้ GPU, การใช้หน่วยความจำ, และหน่วยความจำที่เหลืออยู่ ตัวเลือก -l ทำให้คุณตั้งค่าช่วงเวลาการรีเฟรชเป็นวินาที
รูปแบบการแสดงผลและการบันทึกไฟล์
โดยค่าเริ่มต้น ผลลัพธ์จะแสดงในรูปแบบตาราง แต่คุณสามารถส่งออกเป็น CSV เพื่อการประมวลผลที่ง่ายขึ้น หากต้องการบันทึกข้อมูลลงไฟล์ ให้ระบุปลายทางด้วยตัวเลือก -f
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv
วิธีนี้ทำให้คุณบันทึกบันทึกการใช้ GPU และวิเคราะห์ในภายหลัง
3. การดึงข้อมูลกระบวนการด้วย nvidia-smi
nvidia-smi ยังช่วยให้คุณดึงข้อมูลเกี่ยวกับกระบวนการที่กำลังใช้ GPU อยู่ ซึ่งช่วยระบุว่ากระบวนการแต่ละตัวใช้ทรัพยากร GPU เท่าใด
การดึงข้อมูลกระบวนการ
ใช้คำสั่งต่อไปนี้เพื่อดู PID และการใช้หน่วยความจำของกระบวนการที่ใช้ GPU:
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader
คำสั่งนี้จะแสดงรายการกระบวนการ GPU ที่กำลังทำงานและแสดงการใช้หน่วยความจำของแต่ละกระบวนการ
คำสั่งย่อย nvidia-smi pmon
เครื่องมือ nvidia-smi ยังมีคำสั่งย่อย pmon ซึ่งให้การมอนิเตอร์กระบวนการ GPU อย่างละเอียด
nvidia-smi pmon --delay 10 -s u -o DT
คำสั่งนี้จะแสดงข้อมูลกระบวนการ GPU ตามช่วงเวลาที่กำหนด ตัวเลือก --delay กำหนดช่วงเวลาการรีเฟรชเป็นวินาที และคุณสามารถเลือกข้อมูลที่ต้องการแสดงได้
4. การติดตั้งและตรวจสอบไดรเวอร์ NVIDIA
เพื่อใช้ GPU ของ NVIDIA บน Ubuntu จำเป็นต้องติดตั้งไดรเวอร์ NVIDIA ที่ถูกต้อง ด้านล่างเป็นขั้นตอนการติดตั้งและตรวจสอบ
การติดตั้งไดรเวอร์
แรกสุด ให้ติดตั้งไดรเวอร์ NVIDIA ที่เหมาะสมกับระบบของคุณโดยใช้คำสั่งต่อไปนี้:
sudo apt install nvidia-driver-510
หลังจากการติดตั้งเสร็จสิ้น ให้รีสตาร์ทระบบของคุณ
การตรวจสอบการติดตั้ง
หลังจากรีบูต ให้รันคำสั่งต่อไปนี้เพื่อยืนยันว่าไดรเวอร์ได้ถูกติดตั้งอย่างถูกต้อง:
nvidia-smi
หากแสดงเวอร์ชันของไดรเวอร์และเวอร์ชัน CUDA แสดงว่าการติดตั้งสำเร็จแล้ว 
5. การตรวจสอบการทำงานของ GPU ด้วย TensorFlow
คุณสามารถตรวจสอบการทำงานของ GPU ได้โดยทดสอบกับ TensorFlow ซึ่งเป็นเฟรมเวิร์กการเรียนรู้ของเครื่อง
การติดตั้ง Anaconda
แรกสุด ให้ติดตั้ง Anaconda และตั้งค่าสภาพแวดล้อมของคุณ:
bash ./Anaconda3-2022.05-Linux-x86_64.sh
conda update -n base conda
conda update anaconda
conda update -y --all
conda install tensorflow-gpu==2.4.1
การตรวจสอบว่า TensorFlow รับรู้ GPU หรือไม่
ต่อไป ตรวจสอบว่า TensorFlow รับรู้ GPU หรือไม่:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
หากอุปกรณ์ GPU ปรากฏในรายการ แสดงว่า TensorFlow ตรวจจับ GPU ได้สำเร็จ
6. การมอนิเตอร์และบันทึกข้อมูล GPU
nvidia-smi รองรับการมอนิเตอร์ GPU แบบเรียลไทม์และการบันทึกล็อก ซึ่งช่วยให้คุณติดตามการใช้ GPU ตามเวลาและปรับประสิทธิภาพให้ดีขึ้น
การตรวจสอบเป็นระยะ
เพื่อกำหนดการตรวจสอบเป็นระยะ ให้ใช้ตัวเลือก -l เพื่อระบุช่วงเวลาการอัปเดต และสามารถบันทึกข้อมูลลงไฟล์ได้ตามต้องการ:
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log
การควบคุมแบบโปรแกรมผ่านการเชื่อมต่อ Python
nvidia-smi มีการเชื่อมต่อ Python (nvidia-ml-py) ที่ทำให้คุณสามารถดึงข้อมูล GPU อย่างโปรแกรมได้ ซึ่งช่วยให้การตรวจสอบและควบคุมที่ปรับแต่งได้มากขึ้นจากสคริปต์ Python.
7. สรุป
nvidia-smi เป็นเครื่องมือที่ทรงพลังสำหรับการตรวจสอบและจัดการการใช้ GPU ของ NVIDIA บน Ubuntu บทความนี้อธิบายการใช้งานพื้นฐาน การตรวจสอบกระบวนการ การติดตั้งไดรเวอร์ และการตรวจสอบ GPU ของ TensorFlow ใช้เทคนิคเหล่านี้เพื่อเพิ่มประสิทธิภาพ GPU ให้สูงสุดและปรับระบบของคุณให้เหมาะสม.

