GPU-Usage-Audit: ถ้า GPU ไม่ได้แค่ว่าง แต่กำลัง 'ถูกยึดไว้' ทั้งที่ไม่ได้ทำงานล่ะ?!
(github.com/AI-Ocean)ถ้า nvidia-smi แสดง util แค่ 1% การ์ดก็ดูเหมือนว่างอยู่
แต่ถ้าใครสักคนเปิด Jupyter Notebook ทิ้งไว้พร้อมจองหน่วยความจำ 8GB แล้วลุกไป GPU ตัวนั้นก็จะไม่มีใครใช้ได้อีก
บนเซิร์ฟเวอร์ที่ใช้ร่วมกันหรือ GPU ที่คิดค่าบริการเป็นรายชั่วโมง นี่คือความสิ้นเปลืองที่มองไม่เห็น
เพราะแบบนั้นจึงสร้าง GPU-Usage-Audit ขึ้นมา!
ถ้าติดตั้งแค่ไดรเวอร์ NVIDIA ไว้ เครื่องมือนี้จะบันทึกเมตริกของ GPU ลงใน SQLite แล้วค่อยดึงออกมาเป็นรีพอร์ตภายหลัง
รีพอร์ตจะแบ่งเวลาการใช้งาน GPU ไม่ใช่แค่สองแบบ แต่เป็นสามแบบ
คือเวลาที่กำลังประมวลผลจริง เวลาที่ว่างสนิท และเวลาแบบ 'idle-held' ที่ยังยึดหน่วยความจำไว้แต่ไม่ได้คำนวณ
เครื่องมือส่วนใหญ่มักจะรวมสองแบบหลังเข้าด้วยกัน แต่ความสิ้นเปลืองจริง ๆ ซ่อนอยู่ตรงนั้น
มันจะแปลงเวลาที่ถูกยึดไว้เป็น GPU-hours และถ้ารันแยกตามผู้ใช้ ก็จะแสดงด้วยว่าใครครอบครองอยู่เท่าไร
การติดตั้งและรันทำได้บรรทัดเดียว: uv tool install gpu-usage-audit && gua daemon
หลังจากมีข้อมูลสะสมแล้ว แค่พิมพ์ gua report ก็จะดูรีพอร์ตได้
ถ้าอยากดูผลลัพธ์ก่อนโดยยังไม่มีข้อมูล ก็ลองรันข้อมูลจำลองด้วย gua demo ได้
ยังไม่มีความคิดเห็น