12 คะแนน โดย GN⁺ 2024-03-14 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • NVTop = "Neat Videocard TOP"
  • ตัวติดตามงานสำหรับ GPU และตัวเร่งความเร็ว
  • จัดการข้อมูลจาก GPU หลายตัว และแสดงผลข้อมูลในลักษณะคล้ายกับ htop
  • ผู้ผลิตที่รองรับในปัจจุบัน: AMD (ไดรเวอร์ Linux amdgpu), Apple (รองรับ M1 & M2 แบบจำกัด), Huawei (Ascend), Intel (ไดรเวอร์ Linux i915), NVIDIA (ไดรเวอร์เฉพาะบน Linux), Qualcomm Adreno (ไดรเวอร์ Linux MSM)

ตัวเลือกและคำสั่งแบบโต้ตอบของ NVTOP

  • หน้าต่างตั้งค่าแบบโต้ตอบ: กด F2 เพื่อเปิดยูทิลิตีตั้งค่าที่ช่วยปรับแต่งอินเทอร์เฟซให้ตรงกับความต้องการของผู้ใช้
  • บันทึกการตั้งค่า: บันทึกสภาพแวดล้อมที่ตั้งค่าไว้ในหน้าต่างตั้งค่าด้วยการกด F12 แล้วจะถูกโหลดขึ้นมาเมื่อรัน nvtop ครั้งถัดไป
  • คู่มือและตัวเลือกคำสั่งของ NVTOP: มีหน้าคู่มือให้ใช้งาน (man nvtop) และสามารถดูตัวช่วยของคำสั่งได้ด้วย nvtop -h หรือ nvtop --help

การรองรับ GPU

  • AMD: รองรับ AMD GPU ผ่านไดรเวอร์ amdgpu โดยสามารถดูโปรเซสที่ใช้ GPU ได้บนเคอร์เนล 5.14 ขึ้นไป
  • Intel: รองรับ Intel GPU ผ่านไดรเวอร์ Linux i915 โดยสามารถดูโปรเซสที่ใช้ GPU ได้บนเคอร์เนล 5.19 ขึ้นไป
  • NVIDIA: รองรับผ่านไลบรารี NVML โดย GPU ที่เก่ากว่าไมโครสถาปัตยกรรม Kepler จะไม่รองรับบางคิวรี
  • Adreno: รองรับ Adreno GPU ผ่านไดรเวอร์ Linux msm โดยสามารถดูโปรเซสที่ใช้ GPU ได้บนเคอร์เนล 6.0 ขึ้นไป
  • Apple: มีการรองรับเบื้องต้นสำหรับ Apple โดยใช้ Metal และรองรับเฉพาะตอน build บน Apple เท่านั้น
  • Ascend: รองรับ Ascend ผ่าน DCMI API (เวอร์ชัน 6.0.0) โดยปัจจุบัน DCMI ยังรองรับ API ได้อย่างจำกัด

การ build

  • ไลบรารีที่ต้องใช้: ncurses (ส่วนติดต่อผู้ใช้), NVIDIA (NVML), AMD (libdrm), Intel (i915) เป็นต้น
  • ขั้นตอนการ build: โคลนซอร์สโค้ดด้วย git clone จากนั้น build ด้วย cmake และติดตั้งลงระบบด้วย make install

ขั้นตอนการติดตั้งตามดิสทริบิวชัน

  • Ubuntu / Debian: รองรับการติดตั้งผ่าน snap หรือ apt และสามารถติดตั้ง nvtop เวอร์ชันล่าสุดผ่าน PPA ได้
  • Fedora / Red Hat / CentOS: รองรับการติดตั้งผ่าน AppImage หรือ dnf
  • OpenSUSE: รองรับการติดตั้งผ่าน zypper
  • Arch Linux: ติดตั้ง nvtop ผ่าน pacman
  • Gentoo: ติดตั้ง nvtop ผ่าน layman และ emerge
  • AppImage: มีให้ใช้งานเป็นแอปพลิเคชันแบบสแตนด์อโลน โดยให้สิทธิ์รันแล้วจึงเปิดใช้งาน
  • Snap: ติดตั้งด้วย snap install แล้วต้องมอบสิทธิ์เพิ่มเติมเพื่อควบคุมโปรเซสและตรวจสอบข้อมูล GPU
  • Docker: ต้องใช้ไดรเวอร์ NVIDIA และ nvidia-docker และรันด้วย docker build กับ docker run

ความเห็นของ GN⁺

  • NVTOP รองรับผู้ผลิต GPU ได้หลากหลาย และเป็นเครื่องมือที่ทรงพลังสำหรับการมอนิเตอร์ GPU บนระบบที่ใช้ Linux
  • เครื่องมือนี้มอบวิธีที่มีประสิทธิภาพให้ผู้ดูแลระบบและนักพัฒนาในการตรวจสอบสถานะการใช้งาน GPU แบบเรียลไทม์
  • การมอนิเตอร์ GPU มีความสำคัญเป็นพิเศษเมื่อทำงานที่พึ่งพา GPU เช่น machine learning การวิเคราะห์ข้อมูล และการพัฒนาเกม
  • โปรเจกต์โอเพนซอร์สอื่นที่มีความสามารถคล้ายกับ NVTOP คือ gpustat และผู้ใช้สามารถเลือกเครื่องมือให้เหมาะกับความต้องการของตนได้
  • เนื่องจากเป็นโปรเจกต์โอเพนซอร์ส จึงสามารถมีการปรับปรุงอย่างต่อเนื่องและเพิ่มฟีเจอร์ใหม่ผ่านการมีส่วนร่วมของชุมชนได้

1 ความคิดเห็น

 
GN⁺ 2024-03-14
ความคิดเห็นจาก Hacker News
  • พบว่า nvtop หรือ nvidia-smi ให้ภาพรวมการใช้งาน GPU ได้ดี แต่ไม่เหมาะกับการสะท้อนความเร็วการทำงานจริง หากสนใจประสิทธิภาพด้าน AI แนะนำให้ใช้ Nsight Compute CLI เพื่อโปรไฟล์แต่ละเคอร์เนล และใช้ Nsight Systems สำหรับมุมมองภาพรวมระดับมหภาค ถ้าใช้ PyTorch ก็แนะนำให้ใช้ PyTorch profiler
  • แสดงความไม่พอใจต่อปัญหาที่ apt install ใช้งานไม่ได้ โดยชี้ว่าปัญหาการติดตั้งที่เกี่ยวกับ NVIDIA เกิดขึ้นบ่อย และทำให้ต้องเสียเวลามากเมื่อจำเป็นต้องติดตั้ง Linux ใหม่ วิจารณ์ว่ามีหลายชั้นและความขัดแย้งกันของเวอร์ชัน ทั้งไดรเวอร์, CUDA, CUDA toolkit, cuDNN ฯลฯ ที่ทำให้เกิดความสับสน
  • แนะนำยูทิลิตีอีกตัวหนึ่งชื่อ Nvitop ที่ผู้ใช้ชื่นชอบ
  • กล่าวถึง nvtop และ bottom ว่าเป็นตัวมอนิเตอร์ทรัพยากรที่ชอบบน Linux และแชร์ว่าเพิ่งรู้ว่า nvtop ใช้งานได้ไม่เฉพาะอุปกรณ์ NVIDIA แต่กับอุปกรณ์ที่ไม่ใช่ NVIDIA ด้วย
  • ชอบ btop ซึ่งในเวอร์ชันล่าสุดรองรับทั้งการมอนิเตอร์โปรเซสทั่วไปและการมอนิเตอร์ GPU
  • บอกว่าดีใจที่ยูทิลิตีสำหรับการ์ดจอบน Linux รองรับหลายแพลตฟอร์ม และมองว่าเป็นพัฒนาการที่ดีจากแนวทางแบบผูกกับไดรเวอร์รายตัวในอดีต
  • แนะนำยูทิลิตีที่ชอบชื่อ gpustat โดยอธิบายว่ามันให้ข้อมูลขั้นต่ำที่จำเป็นต่อการดูว่าการเทรนมีปัญหาหรือกำลังดำเนินไปได้ดี
  • แนะนำโปรเจ็กต์ของตัวเองชื่อ Zenith โดยอธิบายว่ามันรวมทั้งการมอนิเตอร์ NVIDIA GPU รวมถึงฟังก์ชันอย่างดิสก์, CPU และ Top ไว้ด้วยกัน
  • กล่าวว่าหลังจากเริ่มใช้ Home Assistant ก็อยากรวมแหล่งข้อมูลทั้งหมดเข้าด้วยกัน สามารถเรนเดอร์ข้อมูลได้ตามต้องการ และบอกว่าได้พบโปรเจ็กต์ชื่อ sensors2mqtt ที่อยากนำมาใช้
  • แสดงความหวังว่าอยากให้รองรับไดรเวอร์ Nouveau ด้วย