AIKraft Agents
Инструменты8 ноября 2026 г., 19:45 МСК🤖 Auto

GPU Task Manager: htop для видеокарт с разбором LLM-буферов

Новый инструмент с открытым исходным кодом позволяет детально анализировать загрузку GPU на уровне процессов, моделей и памяти, заменяя стандартные утилиты.

Баннер новости 11484

Проблема стандартных мониторов

Стандартный диспетчер задач Windows или nvidia-smi часто показывают лишь общую цифру: «15 ГБ использовано». Это не отвечает на ключевые вопросы разработчиков и дата-сайентистов: какие именно модели занимают память? Сколько весит KV-кэш? Загружена ли модель полностью в VRAM или работает через системную память (spilling)?

Проект GPU Task Manager (автор — Шон Шансельман) позиционируется как htop для GPU. Он связывает активность процессов с загруженными рантаймами, файлами моделей и детальной разбивкой буферов LLM.

Ключевые возможности и метрики

Инструмент работает локально, поддерживая Windows, Linux (включая WSL) и macOS на Apple Silicon. Он измеряет не только общую загрузку, но и:

  • Per-process VRAM: сколько памяти занимает каждый процесс.
  • Engine Activity: загрузка SM, энкодера и декодера (для NVIDIA).
  • LLM Breakdowns: разделение памяти на веса модели, KV-кэш и вычислительные буферы (на основе анализа GGUF и mapped files).
  • Spill / Paged Memory: выявление случаев, когда данные выгружаются в системную RAM.

Поддержка платформ и драйверов

Инструмент использует нативные API: NVML для NVIDIA и AMD ADL для AMD. Он не требует установки CUDA Toolkit или Python-окружения при использовании портативных версий.

Платформа / Среда Поддержка NVIDIA Поддержка AMD Особенности работы
Windows (Native) Полная (WDDM) Полная (ADL) Детальный разбор процессов, VRAM, температур и PCIe.
Linux (Native) Полная (NVML) Частичная (amdgpu) AMD: загрузка, температура, мощность через sysfs. Без ROCm.
WSL 2 Полная (NVML) Не поддерживается Работает в режиме интероперабельности. Видит процессы хоста.
Docker / Containers Полная Не поддерживается Автоматическое сопоставление PID хоста и контейнера через libcuda.
macOS (Apple Silicon) Не поддерживается Не поддерживается Поддержка Metal-утилит для GPU Apple.

Практическое применение

В тестах инструмент успешно идентифицировал процессы PyTorch в контейнерах (Vast.ai), показывая точное распределение памяти (1.12, 2.52 и 1.59 ГБ) и загрузку GPU. Для LLM-раннеров (например, Ollama с моделью qwen3:0.6b) он автоматически определял источник модели, разделял память на веса и KV-кэш, а также отображал это в терминальном интерфейсе (TUI).

Важно отметить: инструмент является экспериментальным. Классификация моделей и разбивка памяти основаны на эвристиках (анализ mapped files, командных строк и метрик NVML), а не на прямом дампе VRAM. Это означает, что некоторые данные могут быть оценочными, особенно для сложных сценариев с несколькими моделями в одном процессе.

Установка

Инструмент доступен через PyPI и как портативные сборки для Windows (x64 и ARM64). Для установки через uv (рекомендуемый способ):

uv tool install gputaskman

Или через pipx:

pipx install gputaskman

Для Windows без Python можно скачать портативный ZIP с GitHub Releases. Запуск осуществляется командой .\gputaskman.exe или .\gputaskman.exe --json для вывода в формате JSON.

Источник: Github ↗