วิธีตรวจสอบและจัดการ GPU ของ NVIDIA บน Ubuntu ด้วยคำสั่ง nvidia-smi

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 ให้สูงสุดและปรับระบบของคุณให้เหมาะสม.