Получение данных об использовании графического процессора карт NVIDIA с помощью инструмента Linux dstat PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Получение графической карты NVIDIA с помощью инструмента Linux dstat

Ассоциация dstat это замечательный маленький инструмент, который позволяет вам получать статистику ресурсов для вашего Linux-бокса. Он имеет модульную архитектуру, которая позволяет разрабатывать дополнительные плагины и прост в использовании. Недавно я профилировал конвейер глубокого обучения, разработанный с Keras и Tensorflow, и мне нужна была подробная статистика об использовании процессора, жесткого диска и графического процессора. Первые два доступны из коробки от dstat, тем не менее, насколько я знаю, не существует плагина для мониторинга использования GPU для видеокарт NVIDIA.

К счастью, написать плагин для Python для dstat очень просто. Я уже отправил запрос на официальное репо, но поскольку новые версии выпускаются относительно редко, вот несколько инструкций о том, как настроить плагин использования NVIDIA GPU dstat на твоей коробке.

Установка

Следующие команды протестированы в Ubuntu 16.04 и помогут вам установить dstat, библиотеку управления Python NVIDIA и мой плагин dstat nvidia:

sudo apt-get install dstat #install dstat
sudo pip install nvidia-ml-py #install Python NVIDIA Management Library
wget https://raw.githubusercontent.com/datumbox/dstat/master/plugins/dstat_nvidia_gpu.py
sudo mv dstat_nvidia_gpu.py /usr/share/dstat/ #move file to the plugins directory of dstat

Чтобы получить всю статистику по умолчанию вместе с использованием графического процессора (в процентах), введите следующую команду:

dstat -a --nvidia-gpu

----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- gpu-u
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw |total
  2   1  96   0   0   0|5816k   15M|   0     0 |   0     0 |  45k   98k|   68
  0   1  98   0   0   0|  57M  128k| 104B  902B|   0     0 |  42k   85k|   50
  8   7  84   1   0   0| 152M    0 | 292B  448B|   0     0 |  52k   93k|   39
  1   1  97   1   0   0| 111M    0 |  52B  374B|   0     0 |  51k  116k|   62
  0   1  98   1   0   0| 129M    0 |  80B  416B|   0     0 |  43k   85k|   92
  0   2  98   0   0   0|   0     0 |  52B  374B|   0     0 |  41k   83k|   81

Чтобы получить всю статистику использования для каждого графического процессора, используйте следующую команду:

dstat --nvidia-gpu -f
-------------------------------------------gpu-usage-nvidia------------------------------------------
total  gpu0  gpu1  gpu2  gpu3  gpu4  gpu5  gpu6  gpu7  gpu8  gpu9 gpu10 gpu11 gpu12 gpu13 gpu14 gpu15
   19    23    22    21    21    20    22    23    25    15    18    16    16    16    18    16    14
   18    21    20    18    22    21    21    22    21    15    15    14    14    14    15    16    13
   10    14     9    13     8     9    11     9    12     9     9    10    10     8     7     9     9
   18    20    22    19    21    20    21    21    22    14    15    14    15    14    15    15    15
   20    24    22    23    24    25    22    22    22    16    16    16    16    16    16    18    16
   15    21    18    19    18    17    17    16    18    14    13    13    14    13    12    11    11
   20    24    22    22    24    25    23    24    22    16    18    16    14    17    17    17    15
   19    29    18    23    21    22    21    20    21    18    16    16    18    14    14    17    17

Как это работает?

Плагин извлекает количество доступных графических процессоров в системе и в 10 раз увеличивает показатель использования каждого графического процессора. Многократная выборка, мы надеемся, даст более гладкие метрики, чем получение одного измерения. После этого он усредняет использование по всем графическим процессорам и возвращает результаты пользователю. Исходный код плагина доступен здесь.

Надеюсь, вам понравится, счастливого программирования на GPU! 🙂

Отметка времени:

Больше от Датумбокс