hbm.jpg
Ни для кого не секрет, что современным видеокартам для работы нужна собственная память, причем чем ее больше и чем она быстрее — тем лучше. И на сегодняшний день идет соревнование двух разных типов памяти — «традиционной» GDDR5 и новой HBM. Каждая из них имеет свои плюсы и минусы, и в этой статье рассмотрим, что лучше для игровой видеокарты.

История GDDR — как DDR, только быстрее

Когда видеокарты стали активно развиваться, создатели видеокарт особо не задумывались, какую память использовать — скоростей обычной ОЗУ вполне хватало для работы, поэтому ее они и использовали. Однако время шло, производительность видеокарт росла очень быстро, а вот скорость ОЗУ наращивалась медленно: к примеру, пропускная способность FPM RAM в 1990 году была порядка 200 МБит/с, а у DDR2 к 2005 году она была всего 3200 МБит/с, то есть за 15 лет рост был в 16 раз. Видеокарты же за то время прошли путь от простейшего ускорения 2D графики на разрешениях порядка 400х200 пикселей до полноценного вывода 3D на разрешениях около FHD, то есть рост производительности был на 2 порядка минимум. Поэтому скоростей обычной ОЗУ в видеокартах уже стало не хватать, и в 2006 году появились первые решения на GDDR2 памяти: по сути это была та же DDR2, но работающая на существенно более высоких частотах и использующая более короткую шину. В дальнейшем вышло улучшение в виде GDDR3, которая имела еще большие частоты. GDDR4 из-за небольшого прироста производительности в сравнении с GDDR3 широкого распространения не получила, и вот, в 2008 году, вышел первый видеоускоритель на GDDR5 памяти, которая уже была основана на DDR3 (она в среднем вдвое быстрее DDR2). И с тех пор прогресс ощутимо замедлился — лишь в 2016 году стали выходить решения на GDDR5X: да, этот тип памяти в теории может быть вдвое быстрее GDDR5, но вот ничего качественно нового он не привнес (по сути контроллер GDDR5X просто может выбирать за цикл 64 байта памяти против 32 у GDDR5, отсюда и идет рост в 2 раза):
sm.micron_gddr5x.600.jpg
В итоге, грубо говоря, за почти 30 лет существований видеоускорителей их память качественно не менялась — это все та же ОЗУ, просто очень быстрая.

HBM — как SSD в мире HDD

Итак, как мы выяснили, GDDR5 является по сути обычной оперативной памятью: быстрые чипы памяти, с эффективной частотой порядка 6-9 ГГц, соединяются с GPU по узкой шине, всего 128-512 бит. В случае с HBM AMD поступили по-другому: эффективные частоты памяти низкие, порядка 1 ГГц (сравнимо с GDDR2), но используется четыре стэка (stack — пачка, стопка) чипов памяти, каждый из которых имеет шину в 1024 бита — в итоге для связи с GPU получается шина в 4096 бит — до 8 раз шире, чем в случае с GDDR5. Однако это накладывает свои ограничения: даже шину в 512 бит подвести к GPU бывает достаточно трудно, а с шиной в 4096 бит это вообще было нереально, поэтому AMD пришлось пойти другим путем: разместить чипы памяти на одной подложке с GPU. Увы — это принесло как и плюсы, так и минусы: с одной стороны, такое близкое размещение чипов памяти к GPU позволяет существенно упростить конструкцию и ускорить взаимодействие памяти с видеочипом, с другой стороны — из-за технических проблем с реализацией больших чипов (и большого числа чипов) на одной подложке, пришлось ограничить размер памяти одного стэка одним гигабайтом, а так как стэка четыре — максимальный объем HBM памяти для одного видеочипа может быть 4 ГБ:

slide_06.png 

С учетом того, что эта память была очень дорогой, а производство трудным — AMD стали ставить ее только во флагманы (Fury X, Fury Nano), и тут объем в 4 ГБ сыграл над AMD злую шутку: производительность GPU у Fury была хорошая, местами сравнимая с референсной GTX 980 Ti, но вот у последней 6 ГБ памяти, и в играх, где нужно больше 4 ГБ памяти (Rise of Tomb Rider, Deus Ex: Mankind Divided), видеокарта от AMD вынуждена была использовать ОЗУ как часть видеопамяти, и поэтому итоговый fps был ощутимо ниже, чем у 980 Ti.


В 2016 году AMD представляет новую версию своей памяти, HBM2. Исправлений было много: во-первых, частота памяти возросла с 500 МГц (эффективные 1 ГГц для DDR) до 2 ГГц (соответственно 4 ГГц для DDR), во-вторых — стали использоваться так называемые псевдоканалы: один аппаратный канал памяти разбивается на два виртуальных, то есть один стек теперь может обслуживать вдвое больше памяти. Так же выросло само возможное число стеков — теперь их может быть не 4, а 8. В итоге, к одному GPU теперь можно «подключить» 1 ГБ х 2 х 8 = 16 ГБ памяти, что очень солидно (напомню — топовое пользовательское решение, Titan Xp, имеет 12 ГБ GDDR5X памяти). 

Сравнение производительности — HBM2 vs GDDR5X

В итоге, на данный момент, HBM2 избавилась от, пожалуй, единственной «детской болезни» — объема памяти теперь с избытком хватает для современных игровых видеокарт. Остается один вопрос — и кто же все-таки быстрее? Для этого возьмем два топовых решения от компании PNY (которая известна своими профессиональными видеокартами). 

Nvidia Quadro GP100 имеет 16 ГБ HBM2 (то есть теоретический максимум), и ее пропускная способность — 717 Гб/с:

Снимок.PNG

Nvidia Quadro P6000 является топовым решением с GDDR5X, ее тут 24 ГБ, с пропускной способностью в 432 Гб/с:

1.PNG

Цифры говорят сами за себя. Даже с учетом того, что GDDR5X можно разогнать, самый потолок, который удастся получить — это 500 Гб/с, что все еще на 30% медленнее скорости HBM2. Что это означает для пользователей? Наконец-то, спустя несколько десятков лет, мы получаем действительно новую память, которая не будет сдерживать рост производительности GPU. А с учетом того, что в профессиональных решениях HBM2 уже используется, ее можно ожидать уже в следующем поколении пользовательских видеокарт от Nvidia (Volta) и в текущем от AMD (Vega).