Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от Nvidia

Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от NvidiaСуществует небольшая хитрость, которая может помочь вам получить некоторое количество дополнительного хешрейта из ваших Nvidia GPU при майнинге Ethereum или любого другого зависимого от памяти видеокарты алгоритма, хотя скорее-всего он не повлияет на многие другие алгоритмы майнинга. По-умолчанию, при запуске Compute приложений на GPU это не ведет к максимальному приоритету работы видеокарты с данным приложением, а это означает, что вы могли бы добиться большей производительности от своих Nvidia GPU не прибегая к их разгону.

Благодаря консольной утилите под названием Nvidia System Management Interface (nvidia-smi), о которой мы говорили в одной из прошлых статей и настраивали с помощью нее максимальное энергопотребление видеокарт, а так же выводили мониторинг температуры GPU, вы можете принудительно настроить ваши GPU для работы в P0 режиме (высший приоритет), вместо установленного по умоллчанию для работы с Compute приложениями режима P2. Имейте ввиду, что данная настройка повлияет только на выполнение вычислительных приложений с помощью GPU, так что это никак не повлияет на производительность видеокарт в играх, для которых по умолчанию установлен режим P0.

Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от Nvidia

Напоминаем, что утилита nvidia-smi является частью драйверов для видеокарт от Nvidia и хранится в "С:\Program Files\NVIDIA Corporation\NVSMI\" если у вас установлена ОС Windows. Так что вам потребуется запустить командную строку (CMD) и перейти с помощью нее в эту папку для того, чтобы у вас была возможность выполнять команды. Для начала вам потребуется выполнить следующую команду для проверки текущего P-состояния ваших GPU.

nvidia-smi -q -d PERFORMANCE

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

Как выжать дополнительную производительность при майнинге Ethereum на видеокартах от Nvidia

После проверки максимального состояния питания, которое ваши 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

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.