Statistika-proizvoditelya.jpg
Предыдущую статью мы закончили на решениях, которые основаны на уже устаревших на данный момент архитектурах. И теперь, в уже точно заключительной статье, мы рассмотрим современные решения — у Nvidia это архитектура Fermi и выше (самая старая линейка с поддержкой DX 12), у AMD это GCN (которую они используют до сих пор уже 7 лет).

Nvidia Fermi — все ближе к CPU

С выходом 400 линейки видеокарт в 2010 году, основанных на чипах GF100, Nvidia стала развивать не только игровую производительность, хотя она и осталась приоритетной. Новым направлением был на рынок суперкомпьютеров и других мощных вычислительных решения. И специально для них чип приобрел поддержку некоторых новых функций: во-первых, теперь используется память с коррекцией ошибок (ECC): для обычного пользователя это не нужно, а вот для огромного потока вычислений — еще как. Во-вторых, серьезно увеличили производительность в операциях с двойной точностью — до 8 раз в сравнении с предыдущим чипом GT200. Также создали иерархию кэш-памяти для лучшего распараллеливания задач — теперь в чипе есть выделенные кэши L1 и L2.

Посмотрим, как был устроен сам чип. В максимальной конфигурации он состоит из 4 кластеров обработки графики (GPC), в каждом по 4 потоковых мультипроцессора (SM), и, в свою очередь, в каждом по 32 CUDA-ядра. То есть общее количество CUDA-ядер могло достигать 512. Используется шесть 64-битных контроллеров памяти, в результате общая ширина шины составляет 384 бита, а память, разумеется, используется стандарта GDDR5.

Самым топовым видеоускорителем в линейке был GTX 480 — он имел 480 CUDA, частоту в 924 МГц и 1.5 ГБ GDDR5 памяти. Изначально он поддерживал только DirectX 11, но, спасибо Nvidia, те решили не урезать чип, так что не так давно решения на Fermi получили поддержку новейшего API DirectX 12. С учетом того, что число CUDA в сравнении с одночиповым предыдущим топом — GTX 285 — выросло вдвое, производительность GTX 480 в синтетических тестах оказывалась на уровне «двухголовой» GTX 295, а в играх была и того выше. В итоге видеокарта на 15-20% обгоняла топовую одночиповую HD 5870 от «красных», но двухчиповой HD 5970 все же уступала.

Основной проблемой было тепловыделение чипа — оно достигало 250 Вт (как у 1080 Ti сейчас). Увы — Nvidia все еще используют защитную крышку над кристаллом, а термоинтерфейсом выступает термопаста. Итог немного предсказуем — даже новые референсные видеокарты грелись до 90-100 градусов, а через какое-то время, забиваясь пылью, грелись выше 100 и сбрасывали частоты. Разумеется, все это приводило к отвалу GPU, что серьезно подмывало репутацию Nvidia.
110c.jpg
Понимая, что с нагревом нужно что-то делать, в конце 2010 года Nvidia выпускает новый чип, GF110, где использует новый тип транзисторов, который совмещает два предыдущих: медленные с низкими токами утечки, и быстро переключающиеся с высокими токами (которые и вызывали повышенное потребление тока и нагрев). Но вот дальнейшие действия Nvidia были странными: увидев, что энергопотребление упало, они задействовали все CUDA-ядра — то есть 512 штук. В итоге выигрыш в сравнении с GTX 480 составил... целых 6 ватт. Так что видеокарты 500 линейки все также грелись и выходили из строя. Более того — Nvidia выпустила двухчиповый флагман с 2х512 CUDA и тепловыделением аж 364 Вт! В общем, чипы Fermi были, пожалуй, одними из самых горячих чипов от Nvidia.

На конец 2010 года Nvidia и AMD шли на одном уровне — топовая GTX 590 оказывалась на одинаковом с HD 6990 уровне. Это были воистину титаны среди видеокарт, производительность которых даже сейчас, спустя 7 лет, позволяет комфортно играть в FHD.

Graphics Core Next — современный долгострой

Поняв, что «доить» VLIW-архитектуру дальше некуда, AMD переключилась на RISC (архитектуру с упрощенным набором команд). Решение было верным — да, эта архитектура требует больше ресурсов, зато отлично позволяет вести расчеты на GPU. Также переход на RISC позволил использовать унифицированное адресное пространство CPU и GPU для более быстрого обмена данных, более того — GPU теперь может посылать прерывания на CPU в случае различных ошибок. Также появилась поддержка 64-битной адресации и новая технология PowerTune, которая автоматически регулирует производительность с учетом тепловыделения. Еще одним важным нововведением стал новый графический API — Mantle, который позволял программам работать напрямую с GPU (в общем-то сейчас этот API заглох, а из него вырос DirectX 12). Также был совершен переход на 28 нм техпроцесс, что позволило увеличить число вычислительных блоков при том же тепловыделении.

В 2012 AMD представила вторую версию GCN. Вы скажете — а почему я не рассказываю о видеокартах на оригинальной архитектуре? Об этом чуть ниже. Во второй версии изменения были скорее программные — появилась поддержка FreeSync (об этом подробнее можно почитать здесь), AMD TrueAudio (сопроцессор для обработки эффектов аудио), AMD ZeroCore — технология, относящаяся к PowerTune и позволяющая отключать блоки GPU для энергосбережения.
AMD 7970 5_thumb.jpg
Вот теперь можно перейти к видеокартам, с которыми AMD классно намудрила: посудите сами, младшие видеокарты серии HD 7000 работали на старой VLIW-архитектуре. Часть старших работает на GCN v1, а в 2013 году в эту же 7000 линейку добавились видеокарты на GCN v2, причем параллельно с 8000 линейкой, которая по сути была простым переименованием 7000 с поднятыми частотами. Более того — эти же чипы, переименованный уже трижды и четырежды(!!), были в линейках RX 200 и 300. Так что чтобы не лезть в эту вакханалию, будем сравнивать по годам с видеокартами от Nvidia. Топовое решение от «красных» на 2012 год, HD 7970, имело 2048 потоковых процессоров, частоту в 925 МГц и 3 ГБ GDDR5 памяти. У «зеленых» на тот момент топовой одночиповой карточкой была GTX 680 на ядре Kepler (о нем поговорим чуть ниже), с 1536 CUDA, частотой в 1 ГГц и 2 ГБ GDDR5. В итоге, в среднем, они выступали на равных, но у Nvidia в запасе еще был двухчиповый монстр GTX 690, который с легкостью обгонял абсолютно все видеокарты на тот момент и был hi-end 2012 года.

Nvidia Kepler — наконец-то не греются

Если в Fermi был сделан упор на производительность, то в Kepler добавилось еще две задачи — это энергоэффективность и программируемость. Первое было достигнуто за счет использования унифицированной тактовой частоты (шейдерные блоки теперь работают на одной частоте с GPU), уменьшением техпроцесса до 28 нм, а также Nvidia наконец-то отказалась от теплораспределительной крышки в пользу прямого контакта системы охлаждения с кристаллом — это очень серьезно снизило температуру, местами на 20-25 градусов.

Улучшенная программируемость была достигнута за счёт введения новой модели обработки текстур, которая не требует привязки к CPU, а улучшение же производительности было достигнуто за счёт внедрения абсолютно новых контроллера памяти и шины. В свою очередь, это позволило поднять тактовую частоту памяти до 6 ГГц, что всё ещё ниже, чем теоретически максимальные для GDDR5 9 ГГц, но значительно больше, чем частота памяти в 4 ГГц в Fermi.

Рассмотрим новый чип GK104 ближе. Он так же, как и GF100, имеет 4 GPC, в каждом по 2 SMX, и в каждом по 192 CUDA — в итоге получаем 1536 CUDA. При этом каждый SMX еще несет в себе текстурные блоки и движок PolyMorph, отвечающие за тесселяцию. Появилась поддержка PCI-E 3.0 (у AMD она появилась в GCN), а вот ширина шины памяти наоборот, снизилась до 256 бит при увеличении объема до 2 ГБ.

Еще одной интересной функцией стала поддержка GPU Boost — ее суть в том, что если температура видеокарты далека от максимальной, а теплопакет использован не весь, то видеокарта автоматически повышает частоты, причем прирост может быть до 10-15%, что достаточно значительно. Еще одним важным изменением стала поддержка TXAA — нового типа сглаживания, про которое можно почитать здесь.

gigabyte-gtx780ti-scan-front.jpg


В 700 линейке, в 2013 году, дебютировал новый топовый чип GK110. Изменения были чисто аппаратными — чип мог включать уже до 16 SMX, что давало до 3072 CUDA. Однако топовая видеокарта — GTX 780 Ti — имела только 2880 CUDA (15 SMX), частоту 928 МГц и 3 ГБ GDDR5. Скорее всего использовать все 16 блоков Nvidia не стала из-за тепловыделения, которое тут было на уровне 250 Вт.

По производительности все хорошо — конкурент в виде R9 290X отстает в среднем на 5-10%, но вот у «красных» был козырь в виде двухчипового решения, о нем и поговорим ниже.

GCN 3его поколения — впрочем, почти ничего нового

В 2013-2014 году оба производителя видеокарт скорее наращивали мощь с помощью увеличения числа блоков, программных оптимизация было немного, но все же они были. Так, в GCN v3 была улучшена производительность при тесселяции, появился более эффективный набор инструкций (ушла проблема, когда видеокарту нельзя было нагрузить на 100%), новый унифицированный видеодекодер UVD 5. При этом AMD больше внимания стала обращать на игровое применение, так что производительность с двойной точностью снизилась.

С видеокартами как обычно полный разброд и шатание — в 200ой линейки были представители на всех трех версиях GCN, да и еще и на старой VLIW-архитектуре. Несколько позже, уже в 2014, появилась 300ая линейка, где AMD подняла частоты и избавилась от решений на VLIW уже окончательно. В итоге, на 2014 год, самой топовой была Radeon R9 295X2 — 2 х 2816 потоковых процессоров, частота в 1 ГГц, 4 ГБ GDDR5. И в общем-то да, это была лучшая видеокарта 2014 года, потому что Nvidia окончательно отказалась от двухчиповых решений, а одночиповая GTX 780 Ti была местами раза в полтора хуже. Но, увы, за такую мощность пришлось платить повышенным энергопотреблением, которое достигало 400 Вт, так что система водяного охлаждения была уже не роскошью, а необходимостью.

Рис.-№1.-Radeon-R9-Fury-X.jpg
И раз уж мы заговорили про чипы 300ой линейки, то тут никак нельзя не рассказать об Radeon R9 Fury X — это была первая пользовательская видеокарта с новой HBM-памятью (о ней можно почитать здесь). Потоковых процессоров было 4096, памяти было 4 ГБ — в 2015 году это уже было маловато. Но все еще видеокарта конкурировала с топом от Nvidia того времени — GTX 980 Ti на архитектуре Maxwell, о которой поговорим ниже.

Nvidia Maxwell — выжимаем все из 28 нм

О массовом переходе на 14-16 нм было еще рано думать, так что Nvidia стала дооптимизировать 28 нм. Мультипроцессор SMX был переименован в SMM, и теперь он делится на 4 блока по 32 CUDA. Всего SMM может быть 24, в топовой 980 Ti используется только 22, что дает 2816 CUDA. Из архитектурных улучшений — была упрощена логика управления CUDA-ядрами, что повысило эффективность распределения нагрузки. Была увеличена общая память — каждый блок в Maxwell имеет 64 КБ распределенной памяти. Были существенно ускорены атомарные операции (то есть такие операции, которые или полностью выполняются, или полностью не выполняются) и динамический параллелизм (позволяет GPU самому создавать для себя задачи без помощи CPU).

palit-gtx980ti-scan-front.jpg
Видеокарты на Maxwell оказались «размазанными» по поколениям — запуск был в 700 линейке, с видеокартой 750 Ti, которая стала очень популярной. Далее вышла 800ая линейка, чисто мобильная — в ней Nvidia окончательно «задавила» мобильный сегмент AMD, которые теперь по сути делают видеокарты только для MacBook. Ну и «расцвет» Maxwell пришелся на 900ую линейку, где и были представлены флагманы — 980 Ti и Titan.

GCN v4 и 5 — 14 нм, современность

По сути AMD взяла 300ую линейку видеокарт и перенесла ее на 14 нм техпроцесс, ибо изменений в архитектуре было мало — появились новые аппаратные планировщики, обновился видеодекодер UVD, который теперь поддерживает 10 бит на канал и HDR. В итоге производительностью видеокарты на Polaris особо не блистали — топовые RX 480 и 580 (по сути — одинаковые видеокарты, разница тут только в частотах, видеобиосы от вторых подходят к первым) находятся на одном уровне с середнячком от Nvidia, GTX 1060.
rx-vega-64-board-1.jpg
Топовые решения на GCN v5 AMD назвала Vega, и представлены они были совсем недавно. По сути тут банальное увеличение числа вычислительных процессоров — если в RX 480/580 их 2304, то в топовой Vega 64 их 4096, что обеспечивает уровень производительности в играх, сравнимый с GTX 1080. Увы — 1080 Ti пока что остается игровым топом, хотя для майнинга решения от AMD традиционно подходят лучше.

Nvidia Pascal — самая лучшая на данный момент графическая архитектура

Пожалуй, самая продвинутая на данный момент графическая микроархитектура. В SMM теперь не 8 блоков, а 10. Переработали обработку геометрии для VR — если видеокарта 900ой линейки будет считать геометрию дважды, для каждого глаза, то видеокарта 1000ой линейки будет считать только один раз, причем выкинет из обработки те части сцены, которые не будут показываться. Далее — улучшили цветовое сжатие, что позволило снизить нагрузку на память до 10-30%. В топовых представителях 1000 линейки появилась GDDR5X память, которая на пике выдает больше 10 Гб/с. Улучшили систему прерываний — теперь блоки видеокарты могут прерывать текущую задачу, сохранить результат в кэш, сделать другую задачу, вернуться к старой задаче, взять ее данные из кэша и доделать. Так же видеокарта теперь может просто сбросить недорисованный кадр и начать рисовать следующий. Серьезно улучшили GPU Boost — теперь частота с дефолтных 1500 МГц может подниматься и до 1800-1900, причем без всяких телодвижений со стороны пользователя. Появился тройной буфер для вывода кадров: в нем хранится и выводимое изображение, и последний выведенный кадр, и рисуется следующий кадр — это серьезно снижает задержки и положительно влияет на плавность. Ну и последнее — обработка звука на видеокарте, что очень важно для VR-проектов, где малейшее отставание звука от картинки ведет к негативным ощущениям.
board_front.jpg
В общем, Pascal — это лучшее, что случалось с игровыми видеокартами за последние лет 5, и GTX 1080 Ti, которая так и осталась самой мощной даже после запоздалого выхода Vega, тому подтверждение.

Будущее — Volta и GCN v6

Про Volta известно достаточно много — в частности, топовый GPU там будет содержать свыше 5000 CUDA, так что он должен быть на 30% мощнее GTX 1080 Ti с 3584 CUDA. Ну а про GCN v6 известно то, что большинство видеокарт там будет использовать HBM-память, а также будет улучшена масштабируемость. Но, разумеется, полные характеристики и улучшения будут известны после презентации.

Ну а мы на этом заканчиваем историю 3D-видеокарт, которая охватила целых три десятилетия — от простых видеоускорителей 90ых до мощнейших вычислительных устройств 2010ых годов.