Віцепрезидент і член технічного персоналу Microsoft та GitHub Скотт Хансельман створив GPU Taskman – застосунок для детального моніторингу використання відеопам’яті графічними процесорами.
Програма з відкритим вихідним кодом показує, скільки відеопам’яті GPU використовує кожен активний процес. Хансельман розповів, що взявся за розробку, аби краще розуміти, які саме процеси споживають пам’ять його відеокарти. Він також запросив інших розробників долучитися до проєкту.
На відміну від стандартного диспетчера завдань Windows, який теж відображає використання відеопам’яті окремими процесами, GPU Taskman в одному термінальному інтерфейсі поєднує дані про споживання VRAM і системної пам’яті, доступної графічному процесору, активність процесів та телеметрію.
Застосунок відображає навантаження на GPU, використання відеопам’яті, температуру, енергоспоживання, тактові частоти, активність пам’яті та дані про PCIe. Також він надає докладну інформацію про окремі процеси, що використовують VRAM.
GPU Taskman розрізняє різні типи навантажень, зокрема композицію зображення робочого столу,
браузери, ігри та програми на основі штучного інтелекту. Утиліта може допомогти виявити надмірне споживання відеопам’яті або з’ясувати причини активного використання системної пам’яті.
Одна з особливостей програми – моніторинг локальних моделей ШІ та інструментів на їхній основі. GPU Taskman може розпізнавати підтримувані моделі й показувати відомості про їхню архітектуру, квантування, кількість параметрів, ваги та можливі потреби в кеші ключів і значень.
Наразі застосунок розпізнає лише кілька середовищ виконання та програм на основі ШІ, серед яких llama.cpp, Ollama і LM Studio. Замість того щоб лише показати, скільки VRAM використовує певна програма, GPU Taskman може визначити, яка частина пам’яті виділена під ваги моделі, а яка пов’язана з кешем ключів і значень та обчислювальними буферами.
Застосунок поєднує дані лічильників GPU з відомостями з метаданих процесів, файлів моделей, журналів виконання та локальних API. Водночас окремі показники для конкретних моделей є оцінками, а не результатами прямого вимірювання ресурсів GPU, виділених для них.
GPU Taskman може бути корисним і для геймерів,
допомагаючи знаходити та усувати проблеми з продуктивністю. Надмірне використання відеопам’яті, зокрема, може спричинити її падіння через залучення повільнішої системної пам’яті.
Хансельман застеріг, що використання системної пам’яті, доступної GPU, не обов’язково означає, що відеопам’ять вичерпана. Застосунок не розпізнає окремі текстури в грі й не визначає, які ресурси було вилучено.
«У моєму GPU відбувається багато всього. Я створюю GPU Taskman, щоб зрозуміти, куди йде пам’ять відеокарти. Запити на злиття змін вітаються», – написав Скотт Хансельман.
GPU Taskman працює з відеокартами NVIDIA та AMD у Windows 10/11, Linux, WSL і macOS. Набір доступних можливостей може змінюватися залежно від операційної системи й обладнання.
У версії 0.3.5, випущеній 10 листопада, додали підтримку графіки Intel у Linux, моніторинг центрального процесора та системної оперативної пам’яті, а також додаткові параметри для запису даних про роботу відеокарти. Програму поширюють за ліцензією MIT; її можна завантажити з GitHub. Для Windows доступні портативні збірки, які не потребують окремого встановлення Python. Також застосунок можна встановити через PyPI.