12 puntos por GN⁺ 2024-03-14 | 1 comentarios | Compartir por WhatsApp
  • NVTop = "Neat Videocard TOP"
  • Monitor de tareas para GPU y aceleradores
  • Procesa información de múltiples GPU y muestra la información de una forma similar a htop
  • Proveedores compatibles actualmente: AMD (controlador amdgpu de Linux), Apple (compatibilidad limitada con M1 y M2), Huawei (Ascend), Intel (controlador i915 de Linux), NVIDIA (controlador propietario para Linux), Qualcomm Adreno (controlador MSM de Linux)

Opciones de NVTOP y comandos interactivos

  • Ventana de configuración interactiva: ofrece una utilidad de configuración que permite personalizar la interfaz según las necesidades del usuario al presionar F2.
  • Guardar configuración: si guardas la configuración definida en la ventana de ajustes presionando F12, se cargará la próxima vez que ejecutes nvtop.
  • Manual de NVTOP y opciones de comandos: incluye página de manual (man nvtop), y la ayuda de comandos se puede consultar con nvtop -h o nvtop --help.

Compatibilidad de GPU

  • AMD: compatibilidad con GPU AMD mediante el controlador amdgpu. A partir del kernel 5.14 es posible ver los procesos que usan la GPU.
  • Intel: compatibilidad con GPU Intel mediante el controlador i915 de Linux. A partir del kernel 5.19 es posible ver los procesos que usan la GPU.
  • NVIDIA: compatibilidad mediante la biblioteca NVML. Las GPU anteriores a la microarquitectura Kepler no admiten algunas consultas.
  • Adreno: compatibilidad con GPU Adreno mediante el controlador msm de Linux. A partir del kernel 6.0 es posible ver los procesos que usan la GPU.
  • Apple: incluye soporte inicial para Apple usando Metal. Solo compatible al compilarse para Apple.
  • Ascend: compatibilidad con Ascend mediante la API DCMI (versión 6.0.0). Actualmente DCMI solo admite una API limitada.

Compilación

  • Bibliotecas necesarias: ncurses (interfaz de usuario), NVIDIA (NVML), AMD (libdrm), Intel (i915), etc.
  • Proceso de compilación: clona el código fuente con git clone, compílalo con cmake y luego instálalo en el sistema con make install.

Instalación por distribución

  • Ubuntu / Debian: compatible con instalación mediante snap o apt. También se puede instalar la versión más reciente de nvtop mediante un PPA.
  • Fedora / Red Hat / CentOS: compatible con instalación mediante AppImage o dnf.
  • OpenSUSE: compatible con instalación mediante zypper.
  • Arch Linux: instala nvtop mediante pacman.
  • Gentoo: instala nvtop mediante layman y emerge.
  • AppImage: se ofrece como aplicación independiente. Solo hay que darle permisos de ejecución y ejecutarla.
  • Snap: después de instalar con snap install, es necesario otorgar permisos para controlar procesos y revisar información de la GPU.
  • Docker: requiere el controlador de NVIDIA y nvidia-docker. Se ejecuta con docker build y docker run.

Opinión de GN⁺

  • NVTOP es una herramienta potente para monitoreo de GPU en sistemas basados en Linux y es compatible con diversos proveedores de GPU.
  • Esta herramienta ofrece a administradores de sistemas y desarrolladores una forma eficaz de revisar en tiempo real el uso de la GPU.
  • El monitoreo de GPU es especialmente importante al realizar tareas dependientes de GPU, como machine learning, análisis de datos y desarrollo de videojuegos.
  • Otro proyecto de código abierto con funciones similares a NVTOP es gpustat, por lo que cada usuario puede elegir la herramienta que mejor se adapte a sus necesidades.
  • Al ser un proyecto de código abierto, puede seguir mejorando y sumar nuevas funciones gracias a las contribuciones de la comunidad.

1 comentarios

 
GN⁺ 2024-03-14
Opiniones en Hacker News
  • nvtop o nvidia-smi dan una buena vista general del uso de la GPU, pero se descubrió que no son adecuados para reflejar la velocidad real del trabajo. Si te interesa el rendimiento de IA, se recomienda Nsight Compute CLI para perfilar kernels individuales y Nsight Systems para una vista macro. Si usas PyTorch, se recomienda usar el profiler de PyTorch.
  • Expresa frustración por el problema de que apt install no funcione. Señala que los problemas de instalación relacionados con NVIDIA ocurren con frecuencia y que eso hace perder mucho tiempo al reinstalar Linux. Critica que las múltiples capas y conflictos de versiones, como drivers, CUDA, CUDA Toolkit y cuDNN, generan confusión.
  • Presenta otra utilidad que prefiere el usuario, llamada Nvitop.
  • Menciona nvtop y bottom como sus monitores de recursos preferidos en Linux, y comparte que aprendió que nvtop funciona no solo con dispositivos NVIDIA, sino también con dispositivos que no son NVIDIA.
  • Dice que prefiere btop, ya que en versiones recientes no solo monitorea procesos generales, sino también la GPU.
  • Comenta que le alegra que las utilidades de tarjetas gráficas en Linux ahora soporten múltiples plataformas, y valora positivamente que se haya dejado atrás el enfoque anterior dependiente de cada driver.
  • Presenta gpustat como su utilidad preferida y explica que ofrece la información mínima necesaria para saber si el entrenamiento tiene problemas o si va bien.
  • Presenta su propio proyecto, Zenith, y explica que combina monitoreo de GPU NVIDIA con funciones como disco, CPU y Top.
  • Expresa que, desde que empezó a usar Home Assistant, quiere integrar todas las fuentes de datos. Señala que puede renderizar los datos como quiera y comenta que encontró un proyecto llamado sensors2mqtt que le gustaría usar.
  • Expresa el deseo de que hubiera soporte para el driver Nouveau.