Производительность майнинга
Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от Nvidia
![Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от Nvidia](/media/posts/829/6e73406a-998d-4b08-963c-f2cdb443f202.jpg)
Благодаря консольной утилите под названием Nvidia System Management Interface (nvidia-smi), о которой мы говорили в одной из прошлых статей и настраивали с помощью нее максимальное энергопотребление видеокарт, а так же выводили мониторинг температуры GPU, вы можете принудительно настроить ваши GPU для работы в P0 режиме (высший приоритет), вместо установленного по умоллчанию для работы с Compute приложениями режима P2. Имейте ввиду, что данная настройка повлияет только на выполнение вычислительных приложений с помощью GPU, так что это никак не повлияет на производительность видеокарт в играх, для которых по умолчанию установлен режим P0.
![Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от Nvidia](/media/posts/829/6e73406a-998d-4b08-963c-f2cdb443f202.jpg)
Напоминаем, что утилита nvidia-smi является частью драйверов для видеокарт от Nvidia и хранится в «С:\Program Files\NVIDIA Corporation\NVSMI\» если у вас установлена ОС Windows. Так что вам потребуется запустить командную строку (CMD) и перейти с помощью нее в эту папку для того, чтобы у вас была возможность выполнять команды. Для начала вам потребуется выполнить следующую команду для проверки текущего P-состояния ваших GPU.
nvidia-smi -q -d PERFORMANCE
Обратите внимание, что P режим меняется динамически, поэтому, для проверки, перед выполнением команды вам понадобится запущенный в режиме майнинга Ethminer, для того, чтобы увидеть P-режим при активной нагрузке.
![Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от Nvidia](/media/posts/829/06a51657-9ec4-497d-b610-68723978d1ef.jpg)
После проверки максимального состояния питания, которое ваши Nvidia GPU используют при выполнении Compute приложений, которые используют OpenCL или CUDA, вам нужно проверить максимальные частоты, которые видеокарта использует в состоянии P0. Вы сможете сделать это с помощью следующей команды:
nvidia-smi -q -d SUPPORTED_CLOCKS | more
После чего вы увидите список всех поддерживаемых частот в разлличных режимах питания, которые использует ваша видеокарта. Нет необходимости проверять весь список, все что нужно отметить, это частоты для чипа и памяти в верхней части списка. В нашем примере мы будем использовать видеокарту GTX 970 от Gigabyte и нам нужны значения 3505 Мгц для видеопамяти и 1455 для чипа GPU. Далее мы заставим видеокарту принудительно использовать максимальные рабочие частоты в состоянии P0. Для этого выполните следующую команду:
nvidia-smi -ac 3503,1455
Имейте ввиду, что приведенная выше команда будет применять данные настройки ко всем GPU в системе, и как правило, это не должно составить проблем для большинства систем, поскольку, как правило, в них устанавливаются одинаковые видеокарты. Однако бывают случаи, когда риг собран на базе различных GPU, в этом случае вам понадобится настраивать каждый GPU по отдельности, добавляя ID карты при выполнении команды. Это делается путем добавления параметра -i, который может быть числом, начиная с 0 для первого в системе графического адаптера, и так далее. В примере, показанном на скриншоте выше, мы имеем в системе два различных GPU, поэтому нам требуется установить P0 состояния для каждой из видеокарт по отдельности двумя различными командами.
![Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от Nvidia](/media/posts/829/50863bf8-55e5-4c3f-929e-4ace38ab7a77.jpg)
nvidia-smi -i 0 -ac 3503,1455
nvidia-smi -i 1 -ac 3503,1392
Наверняка у вас возник вопрос, насколько нам удалось увеличить производительность при майнинге ethereum на Nvidia GPU, следуя инструкция приведенным выше. Это довольно легко проверить, сначала запустив майнинг Эфира до внесения изменений, а затем после. На видеокарте Gigabyte Nvidia GTX 970 WF30C, которую мы использовали при написании данного материала, мы обычно получаем производительность в районе 17.31 MHS/sec при майнинге Ethereum, когда GPU находится в состоянии P2. После внесения изменений нам удалось получить порядка 19.98 MHS/sec. Так что, это довольно интересный трюк с точки зрения повышения производительности майнинга Ethereum, при увеличении энергопотребления всего на 10 W, для Nvidia GPU.