Майнинг,  Статьи

О полосе пропускания видеопамяти и хешрейте при майнинге

Основной характеристикой, отображающей производительность видеопамяти, является ее пропускная способность (Memory Bandwidth), измеряемая гигабайтами в секунду (Gigabytes per Second, GB/s). Она определяет максимально возможное количество данных, обрабатываемых видеокартой за единицу времени. Именно этот показатель при достаточной производительности видеоядра ограничивает хешрейт при майнинге на требовательных к памяти алгоритмах.

Memory Bandwidth видеокарты зависит от типа установленной памяти, режиме ее работы, эффективной частоты, на которой работают микросхемы памяти, а также от разрядности шины данных.

Самое интенсивное потребление видеопамяти происходит при майнинге на алгоритме Ethash. Для увеличения хешрейта на этом алгоритме нужно максимально увеличивать пропускную способность шины памяти (Memory Bandwidth), так как быстродействие ethash-вычислений прямо пропорционально ее величине.

Производительность GDDR-памяти любого поколения выше при использовании большей разрядности шины:

При майнинге на Ethash для подсчета одного решения (хеша) производится выборка данных размером 8 Кб. Поэтому подсистема видеопамяти ограничивает возможный хешрейт на Ethash в зависимости от величины ее пропускной способности согласно формуле:

(Memory Bandwidth) / 8 Кб/hash = Max теоретический хешрейт

Как на практике увеличить хешрейт при майнинге на требовательном к памяти алгоритме?

Есть несколько практических путей увеличения пропускной способности памяти на видеокартах:

  • увеличивать частоту работы модулей памяти — способ реально работает, но до определенного порога, когда количество ошибок при обмене данными становиться слишком большим. Для уменьшения числа ошибок можно немного повышать напряжение на микросхемах памяти (что сокращает срок их жизни), уменьшать количество помех в шине данных, улучшая качество цепей питания, снижая паразитную емкость и индуктивность:

  • оптимизировать тайминги, с которыми работают банки модулей памяти. Способ позволяет увеличить количество данных, передаваемых за один цикл, не увеличивая тактовую частоту;
  • увеличивать разрядность шины памяти, что позволяет передать больший объем данных за один цикл. На практике реализуется увеличением количества микросхем памяти, параллельно работающих на одной плате;
  • устанавливать производительную память, работающую на более высоких частотах, с лучшими таймингами.

Разрядность видеопамяти в системах с памятью GDDR пропорциональна количеству параллельно работающих микросхем (модулей памяти) на плате видеокарты:

Модули памяти GDDR5, как правило, работают с разрядностью, равной 32 битам. Поэтому одна микросхема, работающая с тактовой частотой 2000 МГц, имеет теоретическую пропускную способность, равную:

2000,000,000 тактов в секунду × 2 пакета за такт × 32 бита в пакете × 2 частота чтения/записи = 256 млрд. бит в секунду, или 244,14 Mb/s, или 238.42 Gb/s, или 29.8 GB/s.

Каждые 20 МГц изменения частоты памяти GDDR5 меняют пропускную способность на 0.3 GB/s.

что приводит к изменению хешрейта на ethash на

0.3 GB/s / 8 = 0.04 mh/s

Одна микросхема памяти GDDR5, работающая с частотой 2000 МГц, имеет пропускную способность, равную 29.8 GB/s. Это ограничивает хешрейт гипотетической видеокарты с одной микросхемой памяти величиной, равной 14.9/8=3.73 Mh/s.

На практике, при прошивке оптимизированных таймингов, разгоне по памяти, хешрейт может быть и больше. Это справедливо и для видеокарт с несколькими микросхемами памяти, в которых полученный прирост умножается на число установленных модулей.

При установке 2 чипов (как у Nvidia GTX1030) теоретический хешрейт увеличится благодаря росту разрядности в два раза и будет равен:

2x3.73/8=7.46 mh/s.

Соответственно, у видеокарт с 4 микросхемами памяти (Radeon RX464, GTX1050Ti) хешрейт ограничен 14.92 mh/s.

На 6-микросхемных картах (GTX1060), работающих со стандартными таймингами, на частоте 2000 MHz хешрейт ограничен 22.38 mh/s.

На 8-микросхемных картах (GTX1070, Radeon RX470-580), работающих со стандартными таймингами, на частоте 2000 MHz хешрейт ограничен 29.84 mh/s.

Можно ли майнить на видеокарте AMD Radeon с нестандартным числом чипов одной плотности?

Если на видеокарте с 8 чипами памяти по 512 мегабайт (типичная AMD Radeon RX4x4/5×4) впаять 5 банок более плотной памяти (по 1 гигабайту), залить в нее соответствующий BIOS, то она заработает.

Полученный суммарный объем памяти позволит полностью вместить текущие данные DAG Ethereum. Но при этом полоса пропускания шины памяти уменьшится до 5×32=160 бит, что ограничит хешрейт величиной 18.7 mh/s:

2000,000,000 тактов в секунду × 2 пакета за такт × 160 бит в пакете × 2 частота чтения/записи = 1280 млрд. бит в секунду, или 122,070,314 Mb/s, или 1192 Gb/s, или 149 GB/s.
Хешрейт на алгоритме Ethash при этом будет равен 149 Gb/s / (8 kb/hash) = 18.7 Mh/s

что лучше, чем при zombie-режиме, но полностью не раскрывает возможности чипа.

С шестью чипами карта будет выдавать 22.4, а с семью — 26.11 mh/s.

Таким образом, модернизация четырехгиговок до уровня «недовидеокарты» с меньшим, чем восемь числом чипов высокой плотности, не обеспечит полноценный хешрейт, выдающийся восьмигиговой картой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

English English Русский Русский