RDNA 3: що нового в Radeon RX 7000?

У листопаді 2022 року AMD представила нове покоління відеокарт серії RX 7000. Оновлена графічна архітектура компанії під назвою RDNA 3 приховує в собі безліч нововведень, що виводять продуктивність і функціональність відеокарт AMD на новий рівень. Про всі переваги та нюанси нового покоління графічних процесорів — у нашому матеріалі.

Перша версія графічної архітектури Radeon DNA з’явилися на ринку 2019 року. Карти RX 5000 серії на її основі призначалися для поступової заміни старіших моделей на архітектурі Graphics Core Next. RDNA ще не підтримувала трасування променів, яким на той момент вже могла хизуватися серія RTX 2000 від NVIDIA, та й за чистою продуктивністю перші графічні чипи під кодовою назвою Navi 10 відставали від топових рішень конкурента. Але саме перша версія архітектури заклала базу для подальшого розвитку графічних чіпів компанії, а також їхнього легшого масштабування і підвищення енергоефективності — саме ці проблеми з роками дедалі більше переслідували колись сучасну і просунуту архітектуру AMD GCN.

RDNA 2 spatří světlo světa koncem roku 2020. Grafické čipy řady Navi 20 přidaly specializované bloky pro ray tracing, novou úroveň vyrovnávací paměti nazvanou Infinity Cache a výrazně zlepšily energetickou účinnost. Přibyla podpora proměnné frekvence stínování, Mesh Shaders a technologie Smart Access Memory, která umožňuje systémovému procesoru plně využívat celé množství instalované videopaměti. Výkon špičkových karet se oproti minulé generaci zdvojnásobil, což jim umožnilo dohnat konkurenci v čistém výkonu bez ray tracingu.

A nyní, o další dva roky později, přichází na trh grafických čipů třetí generace architektury RDNA. Jaké novinky čekají na uživatele nových samostatných grafik AMD?

Rozložení čipu

Začněme tím, že grafické procesory řady Navi 30 jako první v historii dostaly vícečipové uspořádání podobné procesorům Ryzen. Zatímco však u CPU bylo možné zvýšit počet čipových sad s výpočetními jádry a škálovat výkon téměř lineárně, u GPU to tak jednoduché není.

Блоки графічного процесора вимагають високошвидкісного з’єднання з низькими затримками під час «спілкування» між собою — за всіма параметрами набагато більшого, ніж те, що використовується для з’єднання обчислювальних чіплетів у центральних процесорах. Саме тому ділити графічний чип на такі блоки недоцільно. Занадто високих затримок графіка не сприймає: вони неминуче будуть виливатися в помітний штраф до продуктивності.

При створенні нових графічних процесорів AMD пішла іншим шляхом. Обчислювальні блоки графіки залишилися в базовому чипі Graphics Compute Die (GCD). Зі складу ГП виділили контролери пам’яті DDR6 і швидкий Infinity Cache, розташувавши їх у дрібніших чіпах Memory Cache Die (MCD).

У випадку з флагманським чіпом Navi 31 використовуються шість MCD, площа кожного з яких становить 37.5 мм2. Для них задіяно 6 нм техпроцес від TSMC, тоді як для GCD більш прогресивний 5 нм від тієї ж компанії. GCD у Navi 31 займає площу в 300 мм2. Між собою чіпи пов’язані каналом Infinity Link, який базується на вже знайомій за процесорами компанії шині Infinity Fabric, але має набагато більшу пропускну здатність. У випадку з флагманським чіпом її загальне значення становить 5.3 Тб/c, а між окремими чіплетами доходить до 900 Гб/c.

Сенс від застосування чіплетів такий самий, як і у випадку з центральними процесорами: по-перше, малі «цеглинки» чіплета мають менший відсоток браку під час виробництва, ніж великі чіпи — особливо такі складні, як графічні процесори з десятками мільярдів транзисторів. По-друге, можна використовувати різні техпроцеси виробництва для різних частин ГП. На відміну від обчислювального GCD, MCD з кеш-пам’яттю і контролерами DDR від тоншого техпроцесу виграють мало, тоді як за трохи більш «товстими» нормами виробляти їх дешевше.

Третій плюс — уніфікація. Можна «збирати» графічні процесори різного рівня, використовуючи одні й ті самі MCD при різних GCD. З чуток, майбутній чіп середнього рівня Navi 32 буде побудований саме так. І четверта перевага: при налагодженому масовому виробництві виробництво чіплетних ГП має обходитися дешевше, ніж монолітних, що неминуче має вплинути на кінцеву вартість відеокарт. Поки це не особливо помітно, але варто пам’ятати: Navi 31 лише перший у своєму роді. Як і у випадку з процесорами Ryzen 1000 серії, це тільки початок.

Будова графічних процесорів

Як і всі сучасні моделі графічних процесорів AMD, чіпи Navi 30 серії складаються з базових «цеглинок» — обчислювальних блоків Compute Unit (CU). У складі кожного CU є 64 потокових процесори, планувальник виконання, регістровий файл, кеш-пам’ять нульового рівня, блок трасування променів, блок матричного прискорення і вісім текстурних блоків TMU.

Аналогічно до більш ранніх поколінь RDNA, обчислювальні блоки групуються в більші шейдерні рушії Shader Engine (SE). Тут з’являється перша відмінність: у минулих версіях архітектури в одному SE знаходилося 20 блоків обчислення CU, об’єднаних в 10 здвоєних блоків. У RDNA 3 їхню кількість на оновлений рушій скоротили до 16 з тією ж внутрішньою ієрархією. Загалом, один такий движок тепер містить:

  • 16 обчислювальних блоків CU (з’єднаних попарно у 8 блоків)
  • 1024 потокових процесори SM
  • 64 текстурні блоки TMU
  • 32 растрових блоки ROP
  • 8 блоків трасування променів
  • 8 блоків прискорювача матричних обчислень

Перший із представлених чипів нової архітектури, флагманський Navi 31, містить у собі:

  • 6 шейдерних рушіїв SE
  • 96 обчислювальних блоків CU
  • 6144 потокових процесори SM
  • 384 текстурних блоки TMU
  • 192 растрових блоки ROP
  • 96 блоків трасування променів
  • 96 блоків прискорювача матричних обчислень

Графічний чіп комплектується шістьма MCD, кожен з яких містить у собі 16 Мб кеш-пам’яті Infinity Cache і 64-бітний контролер пам’яті GDDR6. Разом вони формують Infinity Cache об’ємом у 96 Мб і 384-бітну шину доступу. Частота пам’яті GDDR6 становить 20 ГГц.

Чип містить загалом 58 млрд транзисторів, з яких 45,7 млрд припадає на GCD і по 2,05 млрд — на кожен MCD. На його базі випущено дві відеокарти: топова RX7900XTX, що використовує всі можливості графічного чипа, і RX7900XT з трохи урізаним чипом, що використовує 80 обчислювальних блоків із 96. Флагманське рішення має 24 Гб відеопам’яті на 384-бітній шині. Предтоп оснащений 20 Гб за ширини шини в 320 біт, обсяг Infinity Cache у нього зменшений до 80 Мб.

Завдяки новому техпроцесу й оптимізації архітектури RDNA3 має приблизно в півтора раза більшу енергоефективність, ніж RDNA2. Це дало змогу навіть у топових карт серії обійтися застосуванням двох звичайних роз’ємів живлення 8-pin, не використовуючи новий роз’єм 12VHPWR — перехідники або нові блоки живлення тут не потрібні на відміну від останньої серії карт NVIDIA. Пікове енергоспоживання флагмана становить 355 Вт.

Відеокарти на «середньому» в лінійці чипів Navi 32 готуються до виходу трохи пізніше в 2023 році. Приблизні дані про конфігурацію графічного чипа на даний момент можна дізнатися з інформації від інсайдерів. Згідно з нею, середній чіп лінійки також виготовляють за 5 нм техпроцесом і комплектують чотирма MCD, аналогічним старшій моделі. Повний варіант чіпа має Infinity Cache об’ємом 64 Мб і має інтерфейс доступу до 256-бітної пам’яті GDDR6. Графічний процесор знайде застосування у підготовлюваних до виходу відеокартах серії RX 7800 і RX 7700. Він має такі характеристики:

  • 4 шейдерні рушії SE
  • 60 обчислювальних блоків CU
  • 3840 потокових процесорів SM
  • 240 текстурних блоків TMU
  • 128 растрових блоків ROP
  • 60 блоків трасування променів
  • 60 блоків прискорювача матричних обчислень

Молодший графічний процесор Navi 33, на відміну від старших братів, виробляється за класичною монолітною технологією. Таке рішення логічне, адже площа чіпа становить всього 204 мм2 — ділити його на більш дрібні немає сенсу. У молодшому рішенні всього 13,3 млрд транзисторів, виробляється воно за 6 нм техпроцесом. Десктопних відеокарт на чіпі поки не представлено, але мобільні вже анонсовано: моделі отримали назви RX 7600M XT, RX 7600M, RX 7700S і RX 7600S. На базі цього ж графічного процесора пізніше очікується десктопна серія RX 7600.

Повний чіп має такі характеристики:

  • 2 шейдерні рушії SE
  • 32 обчислювальні блоки CU
  • 2048 потокових процесорів SM
  • 128 текстурних блоків TMU
  • 64 растрових блоки ROP
  • 32 блоки трасування променів
  • 32 блоки прискорювача матричних обчислень

Відеокарти на базі Navi 33 оснащені 8 Гб відеопам’яті GDDR6 на 128-бітній шині і мають до 32 Мб Infinity Cache. У старших моделях активні всі 32 CU, у молодших — тільки 28. По суті, чіп Navi 33 являє собою рівно третю частину від флагманського Navi 31 за всіма основними характеристиками.

Перероблені блоки обчислень

Нарощування графічних «м’язів» у кількісному вираженні — це далеко не головні зміни в чіпах нової архітектури. RDNA3 порівняно з попередником приховує в собі значно глибші доопрацювання, ніж минула RDNA2 щодо першої ітерації архітектури.

Перероблені блоки Compute Unit — одне з головних нововведень. Потокові процесори RDNA3 вперше отримали можливість виконувати дві інструкції з плаваючою комою FP32 за такт при збереженні звичайного темпу виконання цілочисельних інструкцій INT32. Тепер один обчислювальний блок CU містить 128 блоків обчислень FP32 і 64 блоки INT32 — точно так само, як один потоковий мультипроцесор SM в архітектур NVIDIA Ampere і Ada Lovelace.

При цьому NVIDIA рахує CUDA-ядра за кількістю блоків FP32, а AMD все також продовжує враховувати саме INT32 блоки, при підрахунках яких у флагманському Navi 31 виходить 6144 потокових процесорів SP. Насправді блоків FP32 у новій архітектурі вдвічі більше — 12288. Цим і пояснюється значне зростання обчислювальної продуктивності FP32 між RX6950XT (5120 SP) і RX7900XTX (6144 SP) — 23.6 проти 61.4 ТФлопс. Продуктивність оновлених блоків на одній частоті зросла на 17 % порівняно з попередником.

До звичайних обчислень додали можливість виконувати за один раз дві векторні інструкції, але для такого виконання вони мають бути упаковані в одну нову інструкцію Vector Operation Dual (VOPD). Ця операція виконується компілятором. При цьому є обмеження у вигляді не більше двох операндів на кожну з інструкцій, що підходить далеко не для всіх їхніх видів.

Ці зміни насамперед повинні позитивно вплинути на обчислювальні здібності чіпа за умови належної оптимізації використовуваного ПЗ під нову архітектуру і грамотної роботи компілятора. В іграх очевидного приросту від них поки чекати не варто: тести компанії говорять про збільшення продуктивності в сценах з трасуванням променів з використанням VOPD на скромні 4 %.

Через перекіс у кількості блоків FP32 і INT32 перші часто залишаються недовантаженими, незважаючи на всі оптимізації компілятора. Саме тому у випадку з такими ГП не можна проектувати прискорення темпу плаваючих обчислень на ігрову продуктивність. Топовий чіп NVIDIA Ampere проти попередника Turing теж міг похвалитися триразовим прискоренням теоретичного темпу обчислень, однак реальне зростання продуктивності при цьому становило трохи більше двох третин. Сама AMD оцінює зростання продуктивності Navi 31 порівняно з попередником формулюванням «до 70 %», що досить схоже за цифрами.

Якщо порівнювати безпосередньо профіт в іграх від подвоєння блоків FP32, зокрема для карт RDNA2 і RDNA3, то вийде приблизно так: на ДП з подвоєною кількістю блоків для досягнення тієї самої ігрової продуктивності, що й у звичайного ДП на схожій архітектурі, знадобиться в півтора раза більше обчислювальної потужності. Тому не варто спокушатися великими цифрами терафлопсів — для грубого порівняння продуктивності з попереднім поколінням цю цифру потрібно ділити на півтора, принаймні на даний момент. Чи буде надалі застосовуватися оптимізація ігрових рушіїв під особливості таких графічних архітектур, щоб підвищити продуктивність? Надія є. Але з урахуванням того, що ГП консолей поточного покоління засновані на RDNA2, у масових іграх такі оптимізації будуть застосовуватися ще нескоро.

Нові блоки прискорення матричних операцій

Зміни в блоках CU були зроблені не тільки заради збільшення чистої продуктивності. Це потрібно було, зокрема, для швидкої роботи блоків матричних обчислень, які з’явилися в цьому поколінні ГП AMD вперше. Вони перепризначають SIMD для виконання матричних обчислень замість звичайних FP32. Підтримуються формати FP16, BF16 і INT8 — уся трійця виконується в подвійному темпі, як порівняти з FP32.

Таким чином, Compute Unit у складі ГП RDNA3 може працювати в режимі матричного прискорювача, підвищуючи продуктивність таких розрахунків порівняно з попередником у 2,7 раза. Матричні прискорювачі використовуються в завданнях штучного інтелекту, аналогічно тензорним ядрам NVIDIA — зокрема, можуть бути задіяні в майбутній версії технології масштабування FSR 3.

Покращені блоки трасування променів

Блоки трасування променів також зазнали деяких змін, хоча їхні базові характеристики залишилися без змін. Вони можуть прораховувати єдиний перетин променя з трикутником або чотири перетини з боксом ієрархії обмежувальних об’ємів BVH за один такт, як і в RDNA2.

NVIDIA кількість перетинів з BVH за такт у своїх RT-ядрах не розголошує, але, на відміну від AMD, в її ГП ця операція може виконуватися одночасно з першим видом перетинів. При цьому RT-ядра Ampere прораховують два перетини променя з трикутником за такт, а аналогічні в Ada — вже цілих чотири.

AMD вирішила піти шляхом оптимізації замість простого нарощування продуктивності блоків. Нова контрольна логіка в чипах RDNA3 на ранніх етапах відсікає непотрібні примітиви і витрачає ресурси економніше. Завдяки цьому кількість циклів на промінь знизилася. Блоки нового покоління підтримують розрахунок 12 примітивів за такт, тоді як попередник міг розрахувати лише вісім. Реєстровий файл VGPR також було збільшено в півтора раза, що дає змогу одночасно обраховувати більше променів.

За допомогою всіх поліпшень продуктивність кожного блоку трасування променів на одній частоті, як порівняти з попередником, вдалося збільшити в півтора раза. Укупі з підвищеною частотою чипа і великою кількістю блоків, продуктивність трасування зросла на 80 %.

Удосконалена підсистема пам’яті

З огляду на всі поліпшення і значний приріст продуктивності, новим відеокартам потрібна була більш продуктивна підсистема пам’яті. У цьому поколінні AMD значно над нею попрацювали, причому на кожному з підрівнів.

Кеш нульового рівня кожного обчислювального блоку CU було збільшено вдвічі порівняно з попередником — з 16 до 32 КБ. Обсяг загального кеша першого рівня на кожен шейдерний движок SE також зріс двічі — з 256 до 512 КБ. Канал зв’язку між ним і блоками CU прискорився: тепер передається 6144 байт за такт проти 4096 у минулому поколінні. Аналогічне підвищення швидкості отримав і канал між кешами L1 і L2 — було 2048 байт за такт, стало 3072. При цьому кеш другого рівня отримав і півтораразову надбавку до обсягу: у флагманського Navi 31 він становить 6 Мб проти 4 Мб у Navi 21.

Найзначніше прискорення отримало з’єднання кеша L2 з Infinity Cache. У Navi 21 воно передавало 1024 байта на такт, а в Navi 31 ця цифра зросла до 2304 байт. Настільки значний приріст пояснюється тим, що у Navi 21 було чотири канали пам’яті, на кожен з яких припадало з’єднання в 256 байт за такт. У Navi 31 з’єднання прискорили до 384 байтів на такт для кожного з каналів, а їхню кількість збільшили до шести.

Завдяки зростанню кількості каналів пам’яті ширина шини пам’яті зросла до 384 біт. Крім цього, частоту пам’яті GDDR6 підняли до 20 ГГц — не так уже й далеко відійшла від неї NVIDIA зі своїми 21-22 ГГц «просунутої» GDDR6X. У результаті цих маніпуляцій значно зросла пропускна здатність відеопам’яті. Якщо в RX6900XT вона була на рівні 512 Гб/c, а в оновленій RX6950XT — 576 Гб/c, то у флагмані нового покоління RX7900XTX це значення становить цілих 960 Гб/c. Це зовсім близько до поточного флагмана NVIDIA RTX4090, незважаючи на використання останнім GDDR6X.

За ідеєю, якщо брати до уваги схему Navi 21, новий Navi 31 повинен був мати 192 Мб Infinity Cache. Взявши до уваги збільшення розмірів інших кешів і швидкостей передавання даних між різними типами пам’яті, а також складність одержуваного чіпа з урахуванням чіплетів, AMD вирішила не витрачати транзисторний бюджет на такий обсяг пам’яті, обмежившись 96 Мб, що трохи менше 128 Мб у попередника. Але, враховуючи, що самі кеші тепер значно швидші, а основна пам’ять отримала на дві третини більшу пропускну здатність, такого обсягу цілком достатньо.

Загальна пропускна здатність міжчіплетного інтерфейсу Infinity Fabric у цьому поколінні досягає неймовірних 5.3 Тб/c. З огляду на частку влучень у кеш і алгоритми самого кешування, AMD називає комбіновану пропускну здатність пам’яті GDDR6 укупі з Infinity Cache для 7900XTX на рівні 3,5 Тб/c. Це вдвічі більше, ніж у попереднього флагмана, навіть з огляду на менший об’єм «нескінченного кешу» у новинки.

Оновлений відеокодер та інтерфейси виведення зображення

Серед трьох виробників відеокарт AMD першою в новому поколінні реалізує обидві останні версії інтерфейсу виведення зображення — HDMI 2.1 і DisplayPort 2.1. Причому DisplayPort в реалізації AMD підтримує два швидкісних режими — UHBR 10 і UHBR 13.5, зі швидкостями 40 Гбіт/c і 54 Гбіт/c відповідно. Реалізація версії 2.1 у відеокартах Intel ARC підтримує тільки перший режим, чим поступається новим Radeon. NVIDIA навіть в останніх чіпах Ada Lovelace все також використовує застарілу версію 1.4a.

Режим UHBR 13.5 дає дуже широкі можливості для під’єднання панелей високої роздільної здатності з великою частотою оновлення. Без використання компресії можливе під’єднання 4К-панелі з частотою оновлення 240 Гц. З використанням компресії Display Stream Compression можна використовувати 4K-панелі за 480 Гц, а 8K-панелі — за 165 Гц, що є хорошим заділом на майбутнє. Крім двох нативних DisplayPort 2.1, як третій порт для виведення такого сигналу може використовуватися вбудований роз’єм USB Type-C.

Оновився і кодувальник відео. Два нових блоки здатні кодувати і декодувати потоки відео як незалежно, так і об’єднуючи свої зусилля для одного відео надвисокої роздільної здатності. Завдяки останній можливості додалася також здатність кодувати і декодувати відеопотік AV1 з роздільною здатністю 8К зі швидкістю 60 кадрів/c — попередник міг тільки декодувати відео такого формату при 30 кадрах/c. Швидкість роботи блоків збільшилася на 80 % порівняно з чипом минулого покоління.

Підсумки

Нова графічна архітектура RDNA 3 — чергова еволюційна сходинка графіки AMD. Проте, вона принесла кілька досить важливих змін як дрібних, так і великих.

Найважливішим, безумовно, можна вважати початок чіплетної ери для графічних процесорів. Озираючись назад на центральні процесори компанії, стає зрозуміло, що саме завдяки чіплетній технології AMD наздогнала за продуктивністю свого давнього суперника Intel. Чіплетні ГП знаходяться на самому початку свого розвитку, але перспективи у такого рішення однозначно великі. Певні плоди розвитку технології, як і у випадку з ЦП, можна буде побачити вже через кілька років — у цьому поколінні говорити про них ще занадто рано.

Не менш важливою новинкою є перероблені блоки обчислень з подвійним темпом FP32, а також блоки матричного прискорення. Тепер графічні процесори двох конкурентів — AMD і NVIDIA — стали набагато ближчими один до одного архітектурно, ніж це було раніше. Подвоєння обчислювальної потужності FP32 не дає кратного зростання продуктивності, але з переходом на схожу схему роботи ДП обох графічних таборів розробники ігрових рушіїв у найближчому майбутньому повинні будуть зацікавитися додатковими оптимізаціями для підвищення продуктивності, з огляду на їхні можливості.

Крім цього, на задіяння блоків матричного прискорення так і напрошується нова версія технології масштабування FSR 3, яка побачить світ уже цього року. З її використанням, аналогічно конкурентному DLSS 3, обіцяється дворазовий приріст продуктивності.

Поліпшення блоків трасування в сучасних іграх будуть вельми доречними, хоча їхня продуктивність усе ще не вражає порівняно з конкурентами. А ось що вражає, так це нова підсистема пам’яті з високою пропускною спроможністю і великими обсягами DDR. З огляду на зроблені поліпшення, графічні процесори нового покоління явно не упруться в її можливості навіть у найважчих режимах при високій роздільній здатності з трасуванням променів.

Актуальні версії інтерфейсів виведення зображення доповнюють нові ГП і створюють комфортні умови для використання швидких 4К і 8К панелей, до того ж з явним доробком на майбутнє. Новий відеоблок з підтримкою кодування і декодування всіх сучасних кодеків, зокрема AV1, що набирає популярності, створює комфортні умови для програвання і стримінгу відео без будь-яких обмежень. Доповнює загальну картину підвищена енергоефективність нових графічних процесорів і відсутність необхідності використовувати для них перехідники або купувати новий блок живлення.