Как запустить nvidia smi windows

Обновлено: 07.07.2024

В этой публикации, друзья, поговорим о том, как настроить видеокарту для программ в Windows 11. Это может вам пригодиться, если у вас компьютер с двумя активными видеокартами, обычно это ноутбуки с интегрированной энергоэффективной и дискретной производительной графикой. Участие интегрированной или дискретной видеокарты в тех или иных выполняемых на компьютере задачах определяется автоматически. Однако автоматика не всегда эффективна, она не всегда понимает наши индивидуальные потребности. Если наблюдаются проблемы с производительностью в определённых программах, либо какие-то программы быстро садят аккумулятор ноутбука, возможно, проблему можно решить, установив для нужных программ нужную видеокарту. Давайте посмотрим, как это сделать с помощью системного функционала в Windows 11.

Как настроить видеокарту для программ в Windows 11

Итак, друзья, ноутбук с двумя видеокартами – энергоэффективной и производительной. Ноутбуки с двумя видеокартами могут работать по-разному, это зависит от реализации механизма распределения нагрузок производителями устройств. Иногда работа между видеокартами распределяется банально просто: энергоэффективная используется при работе ноутбука от батареи, производительная – при работе от электросети. А иногда энергоэффективная видеокарта работает приоритетно при любом типе питания, а производительная включается только тогда, когда на ноутбуке запускаются ресурсоёмкие задачи типа игр, для обработки которых нужна более мощная видеокарта. Дабы отойти от такого автоматизма, необходимо настроить для нужных программ нужную видеокарту. Ранее это можно было сделать только в настройках драйвера видеокарты – в панели управления Nvidia для видеокарт Nvidia или в Catalyst Control Center для видеокарт Radeon. В Windows 10 настройка видеокарт для разных программ и приложений стала возможна с помощью системных средств. И Windows 11 эту возможность унаследовала от Windows 10.

Чтобы настроить нужные видеокарты для нужных программ, в системном приложении «Параметры» в первом разделе «Система» идём по пути «Дисплей → Графика». В блоке «Добавить приложение» выбираем тип программ – классические приложения или приложения из Microsoft Store. Кликаем нужную программу и жмём «Параметры».


Это параметры настройки графики конкретно для этой программы. И здесь мы указываем, какая видеокарта должна работать в связке с этой программой:

  • Энергоэффективная интегрированная – пункт «Энергосбережение» или
  • Производительная дискретная – пункт «Высокая производительность».

Выбираем видеокарту и жмём «Сохранить».


Всё, теперь выбранная видеокарта будет использоваться при запуске этой программы и в процессе её работы. И будет использоваться вне зависимости от питания от батареи или электросети. И так мы поступаем с каждой программой, для которой хотим определить конкретную видеокарту.

Существует целый ряд доступных инструментов, которые могут позволить вам контролировать и управлять различными настройками ваших GPU, большинство из которых имеют удобный пользовательский интерфейс для того, чтобы упростить работу с ними. Однако, при майнинге иногда удобнее иметь контроль поведением GPU прямо из командной строки, чтобы иметь возможность выполнять команды. Для видеокарт Nvidia существует Nvidia System Management Interface (Nvidia-smi) - утилита командной строки, которая является простым и эффективным способом управления и мониторинга Nvidia GPU. С помощью Nvidia-smi вы можете, например, управлять состоянием питания видеокарты, получить дополнительную производительность от видеокарты, не работающей в режиме максимальной производительности, при майнинге криптовалюты, не прибегая к ее разгону.

Теперь пришло время показать Вам несколько полезных трюков с использованием консольной утилиты Nvidia-smi для проверки и изменения максимального TDP (ограничения мощности), который данный графический процессор может использовать, а так же способ как постоянно контролировать температуру GPU и его энергопотребление и сохранять эти данные в лог-файл для дальнейшего анализа.

Утилита Nvidia-smi является частью драйверов для видеокарт от Nvidia и вы можете ее найти установленной в папке "c:\Program Files\NVIDIA Corporation\NVSMI\" если у вас установленна ОС Windows. Вам следует запустить командную строку (CMD) и перейти в эту папку, для того чтобы иметь возможность работать с этой утилитой и выполнять команды. Затем вам потребуется запустить Nvidia-smi с некоторыми параметрами, в зависимости от того, что вы хотите сделать. Если вы хотите поработать с определенным GPU в системе с несколькими видеокартами, вам нужно указать ID устройства.

Контроль и мониторинг ваших Nvidia GPU во время майнинга

Например, если вы хотите узнать Power limit (максимальное энергопотребление) вашего первого NVidia GPU в системе, запустите утилиту с такими параметрами:

nvidia-smi -i 0 --format=csv --query-gpu=power.limit

Если вы не указали параметр -i, который отвечает за ID видеокарты в системе, то вы получите Power limit для всех ваших видеокарт. Теперь начинается самое интересное, изменяя Power limit для ваших GPU на более низкое значение, вы сможете уменьшить энергопотребление видеокарт без влияния на производительность майнинга или с ее незначительным снижением. Таким образом, вы сможете получить лучшую энерго эффективность при майнинге на ваших видеокартах от Nvidia.

В следующем примере мы установим предел потребляемой мощности 175W для первого GPU в системе, при максимальной 275W, которая прописана по-умолчанию в BIOS-е видеокарты.

nvidia-smi -i 0 -pl 175

Контроль и мониторинг ваших Nvidia GPU во время майнинга

Следующий полезный пример, которым мы хотим поделиться, это проверка температуры Nvidia GPU с помощью консоли, которая будет обновляться 1 раз в секунду и записываться в LOG файл, для того чтобы мы могли проанализировать результаты позже. Используем команду для отображения температуры первого графического адаптера в системе с обновлением каждые 1000 миллисекунд (1 сек.)

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=temperature.gpu

Для того, чтобы остановить отображение температуры в градусах Цельсия, нажмите CTRL+C. Если вы хотите, чтобы результат записывался в текстовый файл, то введите следующую команду:

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=temperature.gpu > temperature.txt

Контроль и мониторинг ваших Nvidia GPU во время майнинга

Точно так же как вы можете получить отчет о текущей потребляемой мощности каждого GPU Nvidia в Ваттах, например каждую секунду. С помощью данного способа можно очень точно получать отчет по потреблению электроэнергии, не прибегая к аппаратным средствам, так как контроль потребляемой мощности реализован на аппаратном уровне во всех современных Nvidia GPU. Все что от вас потребуется, это выполнить следующую команду:

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=power.draw

Для того, чтобы остановить вывод энергопотребления просто нажмите CTRL+C, если вам требуется, чтобы результаты сохранялись в лог-файл, введите следующую команду:

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=power.draw > powerusage.txt

Настройка максимального энергопотребления вашего NVidia GPU может быть полезна для достижения наилучшего соотношения производительности к потреблению энергии при добыче криптовалют, а так же для того, чтобы сравнить энергопотребление при майнинге на различных алгоритмах. Инструмент nvidia-smi имеет и некоторые другие полезные функции, которые могут быть использованы. Стоит так же отметить, что изменения, внесенные данной утилитой, не являются постоянными, и они будут нуждаться в повторном применении после перезагрузки компьютера. Однако вы можете автоматизировать процесс с помощью создания простого .bat файла с нужной командой и запуская его непосредственно перед началом майнинга.

Я запускаю код tensorflow в GPU. На изображении ниже показана информация nvidia-smi:: Я хочу спросить, что означает 'Off' в выводе nvidia-smi? Кроме того, что здесь означает тип C?? Мой код выполняется в GPU или CPU в этой ситуации.

Пытался установить cuda driver 8.0 и toolkit 375 на ubuntu 16.04 с kernal 4.10, но продолжает получать эту ошибку. Как установить драйвер nvidia и инструментарий cuda? > nvidia-smi > NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest.

Nvidia-SMI по умолчанию хранится в следующем расположении

Где nvdm* -это каталог, который начинается с nvdm и имеет неизвестное количество символов после него.

Примечание: Более старые установки могут иметь его в C:\Program Files\NVIDIA Corporation\NVSMI

Вы можете перейти в этот каталог, а затем запустить nvidia-smi оттуда. Однако окно командной строки не будет сохраняться, что очень затрудняет просмотр информации. Кроме того, трудно определить, что такое каталог nvdm*, поскольку это изменяется, и существует несколько каталогов этого формата. Чтобы усложнить ситуацию, в отличие от linux, он не может быть выполнен командной строкой по другому пути. Лучше найти точное местоположение и создать ярлык, который запускает его периодически.

Чтобы найти ваше точное местоположение

  1. Откройте файл Explorer (Значок папки файлов на панели задач, рядом с кнопками Пуск / Кортана / Просмотр задач).
  2. На левой панели нажмите кнопку 'This PC'.
  3. В главном окне просмотра, прямо в верхней части значков, находится строка поиска. Введите nvidia-smi.exe и нажмите enter. Это всплывет через некоторое время.
  4. Щелкните правой кнопкой мыши и выберите "Открыть расположение файла" и следуйте приведенным ниже инструкциям, чтобы создать ярлык на рабочем столе , или дважды щелкните, чтобы запустить один раз ( не рекомендуется, так как он запускается и закрывает окно после завершения, что затрудняет просмотр информации).

Создайте ярлык, который запускает nvidia-smi и периодически обновляется

  1. Выполните описанные выше действия в разделе "Чтобы найти свое точное местоположение".
  2. Щелкните правой кнопкой мыши на nvidia-smi.exe (в области просмотра может быть просто написано nvidia-smi) и выберите создать ярлык. Скорее всего, он скажет вам, что вы не можете создать ярлык здесь, и спросит, хотите ли вы поместить его на свой рабочий стол. Нажмите "Да".
  3. Теперь на рабочем столе щелкните правой кнопкой мыши на только что созданном ярлыке, выберите свойства и в разделе Ярлык > Цель измените путь к строке, чтобы включить -l < раз, когда вы хотите, чтобы он обновился > .

Затем нажмите "Apply", а затем "OK".

В этом примере, когда вы открываете ярлык, он будет держать командную строку открытой и позволит вам наблюдать за вашей работой, поскольку nvidia-smi обновляется каждые пять секунд.

Вы можете добавить "C:\Program Files\NVIDIA Corporation\NVSMI" в PATH и перезапустить консоль.

Свойства системы > Дополнительно > Переменные среды > Системные переменные -> Путь -> Изменить > Создать > вставить путь к папке с помощью nvidia-smi

Я запускаю экземпляр cloud на узле gpu. Я установил CUDA и nvidia-smi показал детали драйвера, утлилизацию памяти. Через пару дней я столкнулся с этой ошибкой "NVIDIA-SMI потерпел неудачу, потому что не смог связаться с драйвером NVIDIA. Убедитесь, что установлен последний драйвер NVIDIA и.

Я хочу использовать видеокарту NVIDIA-SMI на монитор моего GPU для моих проектов machine-learning/ AI. Однако, когда я запускаю nvidia-smi в моем cmd, git bash или powershell, я получаю следующие результаты: $ nvidia-smi Sun May 28 13:25:46 2017.

На моей машине Windows 10, установленной с CUDA 10.2, nvidia-smi.exe можно найти по адресу C:\Windows\System32 .

Поскольку C:\Windows\System32 уже находится в windows PATH, запуск nvidia-smi в командной строке теперь должен работать из коробки

Перейдите к файлу explore, затем перейдите на диск C в строке поиска введите nvidia-smi

Иногда подождите, когда файл exe будет открыт, щелкните правой кнопкой мыши перейти к свойствам скопировать путь к местоположению

Затем перейдите в командную строку anaconda измените рабочий каталог, используя путь копирования на шаге 2

Затем напишите "nvidia-smi" нажмите enter

Позже вы можете попробовать написать файл .bat для операции одним щелчком мыши.

ссылка на @Hewston, вышеупомянутый сценарий может быть дополнительно упрощен следующим образом:

Похожие вопросы:

Какова внутренняя операция, которая позволяет nvidia-smi получать сведения об аппаратном уровне? Инструмент выполняется даже тогда, когда какой-то процесс уже запущен на устройстве GPU, и получает.

Я узнал, что nvidia-smi-ac можно использовать для изменения тактовой частоты GPU ядер и памяти. Построен ли nvidia-smi на базе библиотеки NVML? Каков его эквивалент в NVML, так как я проверил.

Я прошел через 3 различных вопроса в репо nvidia- docker по поводу этой точной проблемы, но на самом деле не мог понять, что случилось. Я тяжелый пользователь docker, но я не очень понимаю.

Я запускаю код tensorflow в GPU. На изображении ниже показана информация nvidia-smi:: Я хочу спросить, что означает 'Off' в выводе nvidia-smi? Кроме того, что здесь означает тип C?? Мой код.

Пытался установить cuda driver 8.0 и toolkit 375 на ubuntu 16.04 с kernal 4.10, но продолжает получать эту ошибку. Как установить драйвер nvidia и инструментарий cuda? > nvidia-smi >.

Я запускаю экземпляр cloud на узле gpu. Я установил CUDA и nvidia-smi показал детали драйвера, утлилизацию памяти. Через пару дней я столкнулся с этой ошибкой "NVIDIA-SMI потерпел неудачу.

Я хочу использовать видеокарту NVIDIA-SMI на монитор моего GPU для моих проектов machine-learning/ AI. Однако, когда я запускаю nvidia-smi в моем cmd, git bash или powershell, я получаю следующие.

Как я могу включить nvidia-smi для всех пользователей? Я могу запустить его как пользователь sudo, но как обычный пользователь я получаю: Failed to initialize NVML: Insufficient Permissions

Сразу после создания и запуска виртуальной машины data science и подключения через ssh я попытался использовать nvidia-smi , чтобы увидеть, работают ли встроенные nvidia и cuda. Возвращенное.

Я пытаюсь построить образ docker, который может работать с использованием GPUS, это моя ситуация: У меня есть python 3.6, и я начинаю с образа nvidia/cuda:10.0-cudnn7-devel. Факел не видит моего.


nvidia-smi

Для контроля состояния видеокарты мы будем использовать утилиту nvidia-smi (NVIDIA System Management Interface), которая входит в комплект драйверов производимых компанией NVIDIA для своих карт.

Если у вас Linux, то после установки NVIDIA драйверов nvidia-smi можно найти в папке:

Nvidia-smi является консольной программой (у нее нет графического интерфейса) и для ее запуска необходимо воспользоваться командной строкой.

Полезные команды

С моей точки зрения самой полезным способом запуска nvidia-smi, является запуск без параметров:

вы получите много полезной информации структурированной в виде простенькой таблички. Давайте запусти несколько приложений нагружающих видеокарты и посмотрим, что выдаст nvidia-smi. Для этого воспользуемся примерами, которые поставляются вместе с NVIDIA Cuda Toolkit (установка этого Toolkit описана здесь). Эти примеры точно нагрузят нашу видеокарту 🙂 А так же запустим конвертирование видео из одного формата в другой с помощью утилиты FFmpeg, которая проводит кодирование/раскодирование видео на графическом ускорителе видеокарты.

nvidia-smi список запущенных процессов

Глядя на скриншот мы видим, что у нас запущены 4 приложения использующих ресурсы видеокарты:

Шапка таблицы дает информацию о названии видеокарты, версии драйвера, текущем режиме работы и температуру. Все дается в понятном виде и дополнительных объяснений не требует. Рассмотрим подробнее раздел Processes, здесь каждый процесс имеет 5 параметров:

Чтобы получить максимум информации о состоянии видеокарты наберите:

Если установлено несколько видеокарт в системе и нужно получить информацию о какой-то карте конкретно, то нужно указать ID этой карты:

Для того, чтобы получить весь список видеокарт в системе воспользуйтесь командой:

Журнал

Для контроля состояния видеокарты в течение некоторого промежутка времени поможет журнал или log. Nvidia-smi позволяет выводить информацию о требуемых параметрах на экран или в файл для последующего анализа.

Следующая команда будет непрерывно с интервалом в 5 секунд выводить на экран информация о потреблении видеопамяти и температуре GPU:

С помощью dmon можно следить за общими параметрами видеокарты. Я чаще всего использую dmon для контроля загруженности чипов NVDEC/NVENC расположенных в карте NVIDIA и которые отвечают за кодирование и раскодирование видео на аппаратном уровне.

Если хотите журналировать потребление ресурсов видеокарты каждым прорцессом, то можно воспользоваться опцией pmon.

Driver Persistence

для того, чтобы вернуть все как было (разрешить выгружать драйвер) делаем:

и сразу же проверяем:

Следует помнить, что если вы меняли настройки видеокарты (частоту, энергопотребление), то перевод/вывод ее в Persistence сбросит все предыдущие настройки.

Разгон

По умолчанию разгон выключен. Вы не можете контролировать частоту графического процессора:

nvidia текущая частота GPU

ни скорость вентилятора на видеокарте:

nvidia скорость вентилятора

Для того, чтобы в nvidia-settings появилась возможность разгона, нужно добавить в файл

coolbits настройка графического сервера

и перезагрузить компьютер. После перезагрузки в nvidia-settings станут доступны следующие опции для регулировки разгона:

настройка частоты графического процессора

nvidia регулировка частоты GPU

настройка скорости вращения вентилятора

nvidia регулировка скорости вентилятора

Следует помнить, что разгон переводит видеокарту в нестандартный режим работы и поэтому контроль ее состояния нужно осуществлять еще тщательнее.

Заключение

В данной заметке мы рассмотрели, как осуществлять контроль и разгон графических карт NVIDIA в Linux. Затронули только самые базовые принципы и лишь слегка погрузились в эту интересную тему. На простых примерах посмотрели, как следить за состоянием видеокарты, как вести логи. Слегка коснулись темы разгона. Правда зачастую уже и этого достаточно, чтобы грамотно задействовать мощь видеокарты.

Читайте также: