Обзор AMD Radeon RX 480 8GB | Встречайте Polaris 10
Восемь месяцев назад AMD начала раскрывать возможности GPU следующего поколения, начав с обновлённого контроллера дисплея с поддержкой HDMI 2.0b и DisplayPort 1.3 HBR3, FreeSync по HDMI и HDR-совместимый конвейер. Позже стала появляться дополнительная информация, в которой говорилось о выпуске двух разных GPU, один из которых разработан специально для рынка массовых настольных систем, а другой для мобильных решений, предлагающих производительность уровня консолей в тонких и лёгких форм-факторах.
Второй продукт включает 16 вычислительных блоков (CU), 128-битную шину памяти и ускоренное кодирование/декодирования 4K-видео. Пока он не доступен. Видеокарта AMD Radeon RX 480 использует более крупный процессорный дизайн Polaris 10. В плане физических размеров он не больше процессора Nvidia GP100 с 15,3 млрд. транзисторов, но его возможностей достаточно, чтобы управлять лучшими гарнитурами виртуальной реальности. По уровню производительности карта находится в одном ряду с AMD Radeon R9 290 и Nvidia GeForce GTX 970.
Средний уровень производительности карты трудно назвать сногсшибательным, особенно на фоне нового графического процессора Nvidia GP104. Однако AMD Radeon RX 480 стоит заметно дешевле аналогичных по скорости решений, а потребляемая мощность ограничена 150 Вт. Таким образом, AMD рассчитывает сделать виртуальную реальность доступной для более широкой аудитории геймеров (хорошо, если бы ей подыграли компании, которые продают HMD за $800 и $600).
Доступны две версии AMD Radeon RX 480: модель за $200 (MSRP), оснащённая 4 Гбайт видеопамяти GDDR5 со скоростью передачи данных 7 Гбит/с и версия за $240 (MSRP) с 8 Гбайт GDDR5 со скоростью 8 Гбит/с. Сегодня мы тестируем модель с объемом памяти 8 Гбайт.
Особенности Polaris 10
Polaris 10 состоит из 5,7 миллиардов транзисторов на кристалле площадью 230 мм2. Для сравнения, кристалл Hawaii имеет 6,2 миллиардов транзисторов и площадь 438 мм2. Несмотря на меньшее число транзисторов и пониженную примерно на 55% потребляемую мощность, RX 480 в большинстве тестов находится между R9 290 и 390. Во многом, это заслуга техпроцесса FinFET 14 нм от GlobalFoundries, который обеспечивает AMD заметные преимущества в производительности и энергопотреблении по сравнению с планарными транзисторами, изготовленными с использованием техпроцесса 28 нм. FinFET даёт более высокую частоту при любом уровне потребляемой мощности, и наоборот, при любой тактовой частоте чип с 14 нм потребляет меньше энергии. В случае Polaris AMD использовала оба преимущества, увеличив тактовые частоты и понизив энергопотребление. Так ей удалось превзойти более мощный в плане ресурсов GPU Hawaii сохранив потолок мощности в 150 Вт (хотя наши измерения показывают, что эта цифра немного преуменьшена).
Несмотря на новое кодовое имя, Polaris 10 основан на архитектуре AMD Graphics Core Next четвёртого поколения. Поэтому строительные блоки процессорного дизайна Polaris многим энтузиастам покажутся знакомыми, а нам будет проще его описать.
Спецификации
AMD Radeon RX 480 | AMD Radeon R9 390 | AMD Radeon R9 290 | |
Polaris 10 | Grenada Pro | Hawaii Pro | |
Вычислительные блоки (CU) | 36 | 40 | 40 |
Потоковые процессоры | 2304 | 2560 | 2560 |
Тактовая частота (базовая/Boost), МГц | 1120/1266 | 1000 | 947 |
Пиковая скорость вычислений, GFLOPs (при базовой частоте) | 5161 | 5120 | 4849 |
Количество блоков текстур | 144 | 160 | 160 |
Скороть заполнения текстур Гтекс/с | 182,3 | 160 | 160 |
Количество блоков растеризации | 32 | 64 | 64 |
Объем кэша L2, Мбайт | 2 | 1 | 1 |
Скорость передачи данных памяти, Гбит/с | 8 (8 Гбайт) / 7 (4 Гбайт) | 6 | 5 |
Пропускная способность памяти, Гбайт/с | 256 | 384 | 320 |
Шина памяти, бит | 256 | 512 | 512 |
Тепловой пакет, Вт | 150 | 275 | 250 |
Количество транзисторов, млрд. | 5,7 | 6,2 | 6,2 |
Площадь кристалла, мм2 | 230 | 438 | 438 |
Техпроцесс, нм | 14 | 28 | 28 |
Стартовая цена | $240 (8 Гбайт) / $200 (4 Гбайт) | $330 (8 Гбайт) | $400 (4 Гбайт) |
За диспетчеризацию очерёдности графических инструкций в шейдерные блоки (Shader Engine) по-прежнему отвечает один командный процессор (GCP-Graphics Command Processor). Очерёдностью вычислительных инструкций занимаются асинхронные вычислительные блоки (ACE - Asynchronous Compute Engine). Только вместо восьми блоков ACE логика исполнения команд теперь состоит из четырёх ACE и двух аппаратных планировщиков (Hardware Scheduler), выполняющих задачи приоритизации очередей, управления временными/пространственными ресурсами и разгрузки задач планирования драйвера режима ядра ЦП. По сути, это не отдельные или новые блоки, а скорее дополнительный режим, в котором могут работать существующие конвейеры. Дэйв Нэлэско, старший управляющий AMD по технологическим процессам в графике, дал следующий комментарий:
"HWS (Hardware Workgroup/Wavefront Schedulers) в сущности являются конвейерами ACE без контроллеров диспетчеризации. Их задача заключается в разгрузке ЦП путём управления процессом планирования очередей, заданных пользователем/драйвером, на доступных аппаратных слотах очереди. Это программируемые процессоры с микрокодом, к которым могут применяться различные политики планирования. Мы использовали их, чтобы реализовать функции Quick Response Queue и CU Reservation. Также удалось портировать эти изменения на видеокарты с архитектурой GCN третьего поколения с помощью обновления драйверов."
Функция Quick Response Queues позволяет разработчикам приоритизировать определённые задачи, которые выполняются асинхронно, не вытесняя другие процессы полностью. Более подробное объяснение можно найти
Хорошо знакомые нам вычислительные блоки CU состоят из 64 шейдерных модулей, совместимых со стандартом IEEE 754-2008, разделённые на четыре векторных модуля, скалярного блока и 16 модулей загрузки/хранения выборки текстуры. Кроме того, в каждый CU входят четыре блока текстурирования, 16 Кбайт кэша L1, 64 Кбайт локального пространства для обмена данными и регистровое пространство для векторных и скалярных единиц. В AMD утверждают, что внесли много корректировок для улучшения эффективности CU, включая добавление поддержки FP16 (и Int16), оптимизацию доступа к кэшу и улучшение упреждающей выборки команд. В совокупности, эти изменения обеспечивают прирост производительности CU до 15% по сравнению с GPU Hawaii (GCN 2-го поколения).
Девять CU образуют крупный шейдерный блок (SE - Shader Engine). Видеочип Polaris 10 имеет четыре таких SE и нам известно, что это максимум для этой архитектуры. Всего получается 2304 потоковых процессора и 144 блока текстурирования (64 шейдеров х 9 CU х 4 SE).
Каждый шейдерный блок связан с блоком геометрии (GE - Geometry Engine). По информации AMD, в геометрический блок был добавлен ускоритель отсеивания геометрических примитивов (primitive discard accelerator), он отсеивает простейшие геометрические элементы, которые не растеризуются в пиксель до сканирующего преобразования, таким образом, увеличивается пропускная способность. Это автоматическая функция этапа предварительной растеризации графического конвейера и она является новшеством для Polaris. Кроме того, появился индексный кэш для клонированной геометрии, хотя мы не знаем его объём и степень влияния при клонировании.
По аналогии с видеочипом Hawaii, процессор Polaris 10 способен отрисовывать четыре простейших элемента за такт. Однако, по сравнению с графическими процессорами Hawaii/Grenada с частотой до 1050 МГц (в случае R9 390X), AMD подняла базовую частоту AMD Radeon RX 480 до 1120 МГц, а частоту в режиме Boost до 1266 МГц. Выходит, что потерю ресурсов на кристалле компания компенсирует повышенной частотой. Производительность вычислений одинарной точности с плавающей запятой у Radeon R9 290X составляет 5,6 TFLOPS, а RX 480 достигает в режиме Boost 5,8 TFLOPS.
Насколько реальна тактовая частота 1266 МГц? GPU Hawaii с трудом поддерживал указанную в спецификациях частоту, поскольку сильно нагревался, и мы хотели удостовериться, что c Polaris подобного не случится. Используя GPU-Z, мы сняли показания тактовой частоты в интегрированном бенчмарке игры Metro: Last Light Redux, повторённом 10 раз подряд, и получили следующий график:
Разница между верхней (1265 МГц) и нижней (1118 МГц) точками на графике составляет 148 МГц. Можно сказать, что AMD чётко вписывается в указанные лимиты, хотя частота в процессе теста постоянно корректируется. Но, по крайней мере, средний показатель 1208 МГц находится ближе к верхнему значению.
SE графических процессоров Hawaii и Fiji имеют по четыре бэкэнда рендеринга, способные выводить 16 пикселей за такт (всего 64 пикселей за такт). У Polaris 10 этот компонент урезан наполовину. На каждый SE приходится два бэкэнда рендеринга, каждый с четырьмя блоками ROP, в совокупности они отрисовывают 32 пикселя за такт. Разница с Radeon R9 290 на базе Hawaii весьма существенная. Ситуацию усугубляет 256-разрядная шина памяти Polaris 10, которая вдвое уже шины памяти видеочипа Hawaii (512-бит). Версия AMD Radeon RX 480 4 Гбайт использует память GDDR5 со скоростью передачи данных 7 Гбит/с и имеет пропускную способность 224 Гбайт/с, в то время как модель на 8 Гбайт, которую мы тестируем сегодня, использует память со скоростью передачи данных 8 Гбит/с, и пропускная способность увеличена до 256 Гбайт/с. Но в любом случае, это намного меньше, чем 320 Гбайт/ у R9 290.
Сокращение аппаратных ресурсов частично компенсируется улучшенной дельта-компрессией цвета, которая сокращает количество передаваемой через шину информации. Также AMD поддерживает сжатие в соотношении 2/4/8:1 без потерь, как и архитектура Nvidia Pascal. Ко всему прочему, Polaris 10 использует кэш L2 объёмом 2 Мбайт, такой же объём использовался в Fiji. Это позволит уменьшить число обращений к памяти GDDR5 и ещё больше снизить зависимость GPU от широкой шины и высокой скорости передачи данных.
Тем не менее, обеднение бэкэнда GPU должно сказаться на производительности с ростом разрешения и интенсивности применения сглаживания. Нам было интересно, как Polaris будет выглядеть на фоне Hawaii с ростом интенсивности нагрузки. Чтобы это проверить, мы запустили тест Grand Theft Auto V в скромном разрешении 1920x1080 с "Очень Высокими" настройками детализации графики и постепенно увеличивали качество сглаживания.
На графике хорошо видно, что при изменении сглаживания MSAA с 2х до 4х AMD Radeon RX 480 заметно быстрее теряет среднюю частоту кадров, чем R9 390. При отключённом сглаживании RX 480 достигает 97,3 FPS, а R9 390 – 90,4 FPS . Но к концу графика AMD Radeon RX 480 показала только 57,5 кадров в секунду, в то время как 390-я в среднем выдавала 62,9 кадров в секунду.
Обзор AMD Radeon RX 480 8GB | Контроллер дисплея, UVD, VCE & WattMan
Новый контроллер дисплея
Мы уже рассматривали некоторые усовершенствования контроллера дисплея Polaris в статье
Тогда нам было известно, что Polaris будет поддерживать интерфейс DisplayPort 1.3 с режимом High Bit Rate 3, используя существующие кабели и разъёмы, чтобы обеспечить скорость передачи до 32,4 Гбит/с через четыре линии. Теперь спецификация контроллера включает стандарт DisplayPort 1.4-HDR. Он не повышает скорость передачи данных, но включает технологию Display Stream Compression 1.2, позволяющий передавать 10-битный 4K-контент с частотой обновления 96 Гц. Также стандарт DisplayPort 1.4 поддерживает цветовое пространство.
В краткосрочной перспективе AMD всё ещё рассматривает DP 1.3 как инструмент для реализации FreeSync в 4K. По заявлениям компании, панели с частотой обновления 120 Гц будут доступны уже к концу 2016 года, но чтобы добиться хорошей производительности с высокими настройками графики в такой конфигурации, возможностей AMD Radeon RX 480 будет недостаточно. При этом процессорный дизайн Vega с поддержкой HBM2 официально не появится до 2017 года.
Поддержку HDR в Polaris мы уже обсуждали в конце прошлого года, но AMD повторяет, что конвейер дисплея готов к первому поколению 10-битных дисплеев с HDR, и 12-битных экранов с HDR в будущем. Легкопрограммируемый блок обработки цвета включает повторное наложение цветовой гаммы, управление гаммой, обработку с плавающей запятой и проекцию 1:1 с любым дисплеем.
Ускорение кодирования/декодирования видео
В годы расцвета компания ATI была известна производительными и качественными системами ускорения декодирования видео, которые переносили задачи воспроизведения видео с центрального процессора на комбинацию программируемых шейдеров и блоков с фиксированной функцией, установленных в GPU.
У нас нет подробных данных насчёт того, на каком этапе декодер Polaris выполняет свои задачи, но известно, что он основан на декодере UVD и, по-видимому, имеет фиксированную функциональность. AMD указывает в спецификациях наличие декодирования HEVC в режиме до 4K60 с применением профиля Main 10, который поддерживает формат 10-бит 4:2:0 (всё это необходимо для работы HDR). Есть аппаратная поддержка декодирования стандарта VP9, хотя драйверы AMD её ещё не внедрили, нам лишь известно, что функция запланирована в будущем обновлении. Если AMD хочет реализовать цветовую субдискретизацию HEVC 10-bit/4:2:0 с HDR, потребуется совместимость как минимум с профилем 2. Также предусмотрено аппаратное ускорение формата M-JPEG в режимах до 4K30.
Развитие кодировщика видео AMD (VCE - Video Coding Engine) также не очень хорошо задокументировано. Известно, что Polaris может кодировать видео в стандарте HEVC 8-бит до 4K60, но GPU на базе архитектуры GCN 1.2 имеют такое же оснащение. Складывается ощущение, что AMD работает над расширением списка совместимых с VCE приложений. Само собой, поддерживается фирменный клиент Gaming Evolved. Но кроме этого, в списках присутствует программа Open Broadcaster Software, которая ранее поддерживала только QuickSync и NVEnc. Также есть Plays.tv – социальная сеть от компании, отвечающей за клиент Gaming Evolved.
WattMan – инструмент для разгон от AMD
Чтобы реализовать некоторые низкоуровневые настройки производительности и функции мониторинга GPU, Nvidia полагается на своих партнёров. Иногда приходится ждать, пока EVGA, Asus, Gigabyte и MSI обновят свои утилиты. Даже бывало, что в утилиту попадали параметры, которых там быть не должно. Естественно, такой подход снимает вину с Nvidia, если что-то пошло не так.
Подход AMD несколько отличается. Раньше программа Catalyst Control Center включала функцию OverDrive, дающую доступ к мониторингу нагрузки, тактовой частоты, температуры и скорости вращения вентилятора, а также к настройкам питания, частоты GPU/памяти и ручным настройкам вентилятора. Настройки тщательно контролировались, чтобы остался хотя бы небольшой резерв, и карта не сгорела.
С выходом AMD Radeon RX 480 AMD представила новую утилиту WattMan с окном настроек Radeon Settings.
После запуска WattMan открываются гистограммы с различными показателями: тактовые частоты GPU и памяти, температура, скорость вращения вентилятора и загруженность ресурсов. Любой показатель можно свернуть и развернуть. Есть переключатель между пиковыми и средними значениями. Вы можете просматривать состояние глобально, либо выбрать отдельное приложение и снимать данные, когда оно открыто.
WattMan также предлагает много регулировок производительности. Можно выбирать глобальные настройки RX 480, либо регулировать параметры для отдельных приложений, в зависимости от требований рабочей нагрузки. WattMan использует динамически изменяемую кривую, включающую семь состояний, для которых выбираются пользовательские значения частоты и напряжения. Нечто подобное мы видели в утилитах для GeForce GTX 1080/1070 и PrecisionX от EVGA.
Также можно делать корректировки памяти (на AMD Radeon RX 480 до 2250 МГц), хотя настройка только одна. В настройках напряжения значения представлены в мВ.
Если включить автоматический режим (Automatic), можно выставить уникальные минимальное и целевое значение частоты вращения вентилятора. Можно также указать максимальную приемлемую температуру и более идеальную целевую температуру, и вентилятор будет стремиться к этому значению.
Однако в разделе, посвящённом анализу энергопотребления, вы увидите, что даже небольшое прибавление, скажем на 100 МГц, к частоте GPU при напряжении 1,15 Вт приводит к большому скачку энергопотребления, особенно на слоте PCIe. Мы бы рекомендовали быть очень осторожными, экспериментируя с WattMan на RX 480, по крайней мере, на ранних этапах.