В топовом сегменте игровых видеокарт долгое время властвует NVIDIA. После прогрессивного графического ускорителя Radeon R9 Fury X компания AMD не выпускала новинок столь высокого уровня, уделяя внимание среднему и бюджетному сегменту. Решения на процессорах архитектуры Polaris стали основой для решений Radeon RX 400, а после пересмотра частот дебютировала ускоренная серия Radeon RX 500. Старшие модели Radeon RX 580 и Radeon RX 570 стали конкурентами для GeForce GTX 1060, но не более того. И наконец-то после долгих предварительных анонсов официально были выпущены решения высокого уровня на базе GPU Vega. Первые партии Radeon RX Vega 64 и Radeon RX Vega 56 уже продаются по миру, и вскоре видеокарты станут доступны на отечественном рынке. После получения соответствующих экземпляров мы детально изучим их реальные игровые возможности и проведем масштабное тестирование. Ну а пока ознакомимся с архитектурными и технологическими особенностями новых видеокарт. Заодно разберемся в разнообразии предлагаемых моделей, их характеристиках и рабочих режимах.
Архитектура GPU Vega
Развитие индустрии вывело компьютерную графику на новый уровень. С каждым годом растут аппаратные возможности средств визуализации, но усложняются и задачи. Попутно технологический прогресс ведет к расширению сферы применения вычислительных устройств на базе графических процессоров, которые давно используются в качестве ускорителей вычислений. Среди новых веяний — активное внедрение технологий нейронных сетей для решения сложных и нетривиальных задач. И в этой области уже хорошо зарекомендовали себя вычислительные системы на базе ускорителей NVIDIA. Теперь будет мощная альтернатива от AMD, ведь при разработке Vega уделено внимание и этому направлению. Инженеры AMD старались расширить возможности Vega, представив универсальное мощное устройство. Поэтому новый GPU получил ряд изменений, связанных с работой графического конвейера и специализированными расчетами.
В основе новых устройств лег процессор Vega 10, который можно назвать прямым приемником GPU Fiji из серии Radeon R9 Fury. Это чип с 64 крупными блоками Compute Unit и общим потенциалом в 4096 потоковых процессоров плюс скоростная память HBM второго поколения. Общая структура упомянутых GPU действительно схожа, при этом Vega 10 насчитывает 12,5 млрд. транзисторов вместо 8,9 млрд. у Fiji. То есть на глубинном уровне есть серьезные изменения и нововведения.
Процессор Vega 10 базируется на самой прогрессивной версии архитектуры Graphics Core Next, которая относится уже к пятому поколению (GCN 1.4). Четвертое поколение GCN представлено чипами Polaris. В основе GPU крупные вычислительные блоки Compute Unit, которые теперь называются NCU (Next-Generation Compute Unit). Если взглянуть на общую блок-схему GPU Vega 10, видно, что NCU организованы в четыре массива со своими пиксельными движками и блоками обработки геометрии. Это по сути четыре самостоятельных графических конвейера Shader Engine, как и у Fiji.
Общая конфигурация вычислительных блоков у Vega 10 и Fiji идентична — 4096 потоковых процессоров, 256 текстурных блоков TMU и 64 блока ROP. Но благодаря изменениям и новым алгоритмам работы общая производительность возросла. Обновленный Workgroup Distributor эффективнее распределяет нагрузку. Вдвое увеличен объем кэш-памяти L2 — до 4 МБ. Новый процессор перешел на память HBM2 с повышенной емкостью блоков памяти. Два блока по 4 ГБ объединены с GPU на одной подложке, общая разрядность шины памяти составляет 2048 бит. Fiji работал с 4 блоками памяти по 1 ГБ и общей шиной 4096 бит. В итоге имеет повышение объема при снижении пропускной способности, но последнее компенсируется за счет повышения тактовых частот HBM2. Нужно отметить, что есть и специальная профессиональная версия Radeon RX Vega 64 Frontier Edition с 16 ГБ памяти. Для обмена данных между вычислительной частью ядра и остальными блоками (контроллерами памяти, мультимедийным блоком, шиной PCI-E) используется скоростная шина Infinity Fabric, которая применяется в процессорах AMD Ryzen. Это движение в сторону унификации архитектур с возможностью более простого объединения разных компонентов на одной платформе, включая гибридные AMD APU новых поколений.
Новая шейдерная архитектура NCU предусматривает работу с новыми форматами данных и 40 новых инструкций на уровне ISA (Instruction Set Architecture). Это самое массовое изменения ISA со времен первого поколения GCN, поэтому AMD и использует новое название NCU. Vega выполняет 128 операций в стандартном для графического конвейера формате FP32. Но при переходе к вычислениям половинчатой точности FP16 выполняет уже 256 операций. Поддерживается еще режим работы с 8-битными данными, и в FP8 производительность Vega уже на уровне 512 операций за такт. В аналогичном темпе работают и целочисленные вычисления со сниженной разрядностью.
Все вычисления выполняют одни универсальные ALU. Так, один потоковый процессор может выполнять FP32 или две инструкции FP16, упакованные внутри одной операции FP32. Эта технология называется Rapid Packed Math. Ускоренные математические вычисления расширяют вычислительные возможности Vega в специализированных вычислениях. Например, вычисления половинчатой точности могут использоваться при обучении нейронных сетей, и тут Vega будет вдвое быстрее GPU старого поколения. А поскольку Vega может комбинировать разный тип вычислений, то получается многофункциональное устройство, которое найдет применение в разных сферах. Высокий вычислительный потенциал раскроется при должном использовании соответствующих возможностей со стороны программного обеспечения.
Как было отмечено выше, графический конвейер работает в формате FP32. Однако в DirectX 11, DirectX 12 и Vulkan предусмотрена поддержка операций FP16. Так что внедрение этих операций вполне реализуемо на уровне нынешних API, другие операции потребуют значительных усилий и поддержки со стороны AMD. Вычисления в новых форматах подойдут лишь для некоторых визуальных функций. В качестве примера AMD приводит слайд с данными, как использование INT16 и FP16 позволяет ускорить некоторые эффекты в 3DMark (зернистость для поверхностей, объемное освещение, свечение) на 20–25%.
Другой пример — визуализация волос на базе технологии TressFX. Rapid Packed Math позволяет удвоить количество обрабатываемых нитей-волосков при вычислениях FP16 с сохранением одинакового уровня производительности.
Все это можно было бы назвать теоретическими данными. Однако поддержка Rapid Packed Math уже заявлена для Wolfenstein II: The New Colossus и Far Cry 5. То есть игры с реальной поддержкой новых аппаратных возможностей Vega выйдут уже этой осенью.
Стоит еще отметить, что Vega не получила ускорения в вычислениях двойной точности FP64, что актуально для суперкомпьютеров и высокопроизводительных систем HPC. Акцент сделан на перспективное направление нейронных сетей, новые форматы вычислений и визуализацию. Сама AMD не приводит данные по производительности в FP64. Вероятно, Vega идентична Polaris, т.е. предлагает скорость вычислений 1/16 от FP32.
Серьезные улучшения на уровне пиксельного и геометрического движков. Новая архитектура поддерживает тайловую растеризацию по аналогии с NVIDIA Maxwell и Pascal. В Vega это алгоритм Draw-Stream Binning Rasterizer (DSBR). Классическая тайловая растеризация предусматривает разбиение экрана на отдельные тайлы с полным циклом рендеринга для каждого тайла, из которых потом сшивается итоговое изображение. Этот метод уменьшает обращение к внешней памяти, используя ресурсы внутреннего кэша, но требует двойного прохода для предварительной сортировки геометрии. В DSBR этот алгоритм улучшен за счет динамической регулировки размера тайла и группировки примитивов, которая ускоряет растеризацию. При этом отрисовываются пиксели только для видимых примитивов, перекрытые полигонами пиксели не отрисовываются. Это повышает общую эффективность рендеринга и производительность.
DSBR активируется на уровне драйвера и не требует специальной поддержки от приложений. По оценке AMD в современных играх это обеспечивает ускорение около 10% и позволяет повысить эффективность пропускной способности памяти на 33%. Блоки ROP могут теперь обращаться к кэшу L2, что тоже уменьшает необходимость обращений к внешней памяти.
Улучшена работа геометрических движков. Если четыре геометрических движка Fiji могли обрабатывать четыре полигона за такт, то Vega при четырех движках обрабатывает до 11 полигонов. Для этого внесены изменения в сам геометрический конвейер, в котором появилась поддержка программируемых шейдеров. Теперь эффективнее отсекаются невидимые полигоны на ранней стадии.
Описанные оптимизации и использование скоростной памяти HBM2 дополняет совершенно новая архитектура памяти. AMD Vega может использовать доступную HBM2-память в качестве скоростного кэша. Добавлен специальный контроллер HBCC (High-Bandwidth Cache Controller), который может работать с оперативной памятью, энергонезависимой памятью (SSD) и даже с сетевыми хранилищами. HBCC работает с общим виртуальным адресным пространством до 512 ТБ.
В таком режиме работа с данными организована через «страницы». Page Based Memory Management предусматривает разбиение данных на блоки-страницы разного объема, которые подгружаются в кэш по запросу конвейера. Согласно статистике AMD при работе с обычной видеопамятью активно используется лишь половина данных от загруженных в память. Так что механизм HBCC оптимизирует использование видеопамяти.
По сути это определенный залог на будущее. На данный момент HBM2 при 2048-битной шине обеспечивает пропускную способность до 484 ГБ/с. На таком же уровне пропускная способность памяти GDDR5X у GeForce GTX 1080 Ti. То есть кэш в 8 ГБ трудно назвать сверхбыстрым, да и вся эта сложная система организации памяти вызывает вопросы. Но требования к видеопамяти постоянно растут, и постоянное наращивание количества микросхем на плате графических устройств может оказаться неэффективным и дорогим методом. Новый метод организации памяти предлагает масштабируемость и возможность оперировать огромными объемами данных при эффективном механизме использовании доступной набортной памяти. Также HBCC упростит интеграцию мощной графики в будущие APU, расширяя возможности работы с памятью.
HBCC активируется через программный центр AMD Radeon Settings, позволяя регулировать объем общей памяти. Подробнее об этом в описании рабочих режимов Radeon RX Vega.
Среди преимуществ Vega и наиболее полная поддержка функций Direct3D на уровне 12_1. Причем новинка AMD предлагает некоторые функции недоступные NVIDIA Pascal.
Видеокарты Radeon RX Vega готовы обеспечить высокую производительность и в VR-режиме. Они сертифицированы для Oculus Rift и Vive, поддерживают все ключевые технологии, такие как Asynchronous Space Warp (ASW) для Oculus и Asynchronous Reprojection для Steam VR.
Возвращаясь к общей блок-схеме, нужно несколько слов сказать о мультимедийном движке, который включает блоки аппаратного декодирования и кодирования видео. Поддерживается декодирование видео форматов H.264 и H.265, комбинированный метод декодирования VP9 совместно с CPU, вплоть до разрешения 4K. Новый блок кодирования VCE 4.0 позволяет записывать видео H.264 в формате 4K при 60 Гц вместо 30 Гц у Polaris. Теперь топовые Radeon RX в плане захвата игрового видео не уступают решениям NVIDIA.
Вывод изображения осуществляется через порты HDMI 2.0 и DisplayPort 1.4. При подключении к DisplayPort 1.4 поддерживаются технологии HBR3, MST и новый формат HDR. При коммутации по HDMI 2.0 поддерживается вывод изображения в HDR 12-bit в разрешении 4K 60Гц. При работе с обычным изображением поддерживаются разрешения вплоть до 8K при 60 Гц. В режиме 4K 60 Гц возможна работа с шестью дисплеями.
Многочисленные изменения на уровне базовых вычислительных блоков, новая система памяти и увеличившийся кэш L2 заметно раздули транзисторный бюджет нового GPU. Но переход на новый 14-нм техпроцесс FinFET все равно позволили достичь более компактных размеров кристалла Vega в сравнении с предшественником Fiji. Также все архитектурные изменения сочетаются с ускорением по частотам примерно до 1,5 ГГц. Высокие частоты потребовали специальной оптимизации внутренней структуры многих блоков. И вполне ожидаемо энергопотребление новых AMD Radeon RX Vega находится на крайне высоком уровне. Для топовой модели Radeon RX Vega 64 с воздушным охлаждением заявлен TDP в 295 Вт, что не сильно отличается от Radeon R9 Fury X с 275 Вт. Видеокарта Radeon RX Vega 64 Liquid Cooled Edition с СВО обладает TDP в 345 Вт. И это не такой уж катастрофический рост TDP, если вспомнить, что транзисторов у Vega 10 на 40% больше в сравнении с Fiji. То есть новая архитектура действительно более энергоэффективная, хотя итоговые значения все равно крайне высокие. Пересмотрено управление энергопотреблением, используются новые контроллеры. Значительно снижено потребление в режиме бездействия и при низкой нагрузке. Память HBM2 в простое переключается на крайне низкие частоты.
Компенсировать высокое энергопотребление и тепловыделение можно при помощи вспомогательных программных настроек. Иногда производительность видеокарты избыточна, ограничивая ее, можно достичь оптимального баланса между частотой кадров и TDP. Подробнее об этом в описании рабочих режимов.