Вы следовали слухам и игнорировали шумиху; ты ждал Комментарии и посмотрел на все метрики. Наконец, вы вложили деньги и ушли с одной из последних видеокарт от AMD или Nvidia. Среди них - массивный графический процессор с миллиардами транзисторов, работающий с тактовой частотой, невообразимой десять лет назад.

Вы действительно довольны своей покупкой, а игры выглядели и не играли лучше. Но вам может быть интересно, что именно работает на вашем новом Radeon. RX 5700 а как разные на чипе GeForce RTX.

AMD против Nvidia: добро пожаловать в сравнение архитектуры и функций новейших графических процессоров от Navi и Turing.

Анатомия современного графического процессора

Прежде чем мы начнем разбирать общие структуры микросхем и систем, давайте рассмотрим базовый формат, которому следуют все современные графические процессоры. По большей части, эти процессоры представляют собой калькуляторы с плавающей запятой (FP); другими словами, они выполняют математические операции с десятичными / дробными значениями. Таким образом, по крайней мере, в графическом процессоре должен быть логический блок, предназначенный для этих задач, а это обычно FP ALU (устройства арифметической логики с плавающей запятой) или для краткости FPU. Не все вычисления, выполняемые графическими процессорами, выполняются в значениях данных FP, поэтому также будет ALU для целых чисел (целое число) могут быть математическими операциями или одним и тем же модулем, который обрабатывает оба типа данных.




Теперь этим логическим модулям потребуется что-то, чтобы организовать их путем декодирования и организации, чтобы они были заняты, и это будет в форме по крайней мере одной специальной группы логических модулей. В отличие от ALU они не программируются конечным пользователем; вместо этого поставщик оборудования гарантирует, что этот процесс полностью управляется графическим процессором и его драйверами.



Также должна быть какая-то структура памяти для хранения этих инструкций и данных, которые необходимо обработать. На простейшем уровне это могло бы иметь две формы: тайник и одно очко локальная память. Первый будет встроен в графический процессор и СТЫД. Этот тип памяти быстрый, но занимает относительно большую часть схемы процессора. локальная память ДРАМАОн немного медленнее, чем SRAM, и обычно не вставляется в графический процессор. Встроенная память на большинстве видеокарт, которые мы видим сегодня GDDR Модули DRAM.

Наконец, он включает в себя дополнительные задачи настройки, такие как создание 3D-графики, создание треугольников из вершин, растеризация 3D-кадра, выборка и смешивание текстур. Как и блоки команд и управления, эти фиксированная функция в природе. То, что они делают и как они работают, полностью прозрачно для пользователей, которые программируют и используют графический процессор.




Давайте соберем это вместе и сделаем графический процессор:



Оранжевый блок - это блок, который обрабатывает текстуры с помощью так называемого блоки наложения текстуры (TMU'lar) - TA адресация текстуры volume - создает области памяти для использования кеш-памяти и локальной памяти - и TF выборка текстуры собирает значения текстуры из памяти и объединяет их. TMU сегодня практически одинаковы для всех производителей, потому что они могут обрабатывать, выбирать и смешивать несколько значений текстуры за такт GPU.




Блок ниже записывает значения цвета пикселей в кадре, выполняет обратную выборку (PO) и смешивает их (PB); этот блок также выполняет операции, используемые при применении сглаживания. Название этого блока: модуль вывода рендеринга or создать бэкэнд (Сокращенно ROP / RB). Как и TMU, они теперь становятся довольно стандартными, каждый из которых может обрабатывать несколько пикселей за такт.

Тем не менее, наш базовый графический процессор был бы ужасен даже по стандартам 13 лет назад. Это почему?

Есть только один FPU, TMU и ROP. Графические процессоры, такие как GeForce 8800 GTX от Nvidia в 2006 году, имели 128, 32 и 24 процессора соответственно. Итак, давайте начнем что-нибудь с этим делать ...




Как и любой хороший производитель процессоров, мы обновили графический процессор, добавив еще несколько блоков. Это означает, что чип может обрабатывать больше инструкций одновременно. Чтобы помочь с этим, мы добавили еще немного кеша, но на этот раз рядом с логическими модулями. Чем ближе кэш к структуре калькулятора, тем быстрее он может быть инициализирован для назначенных ему операций.

Проблема с нашим новым дизайном заключается в том, что все еще есть только один контроллер для обработки наших дополнительных ALU. Было бы лучше, если бы у нас было больше единичных блоков, каждый из которых управлялся бы своими отдельными контроллерами, потому что это означает, что мы можем выполнять очень разные операции одновременно.

Теперь это больше! Отдельные блоки ALU упакованы своими собственными TMU и ROP и поддерживаются восхитительно вкусными и быстрыми срезами кеша. По-прежнему есть только один из всего, но базовая сборка находится всего в миллионе миль от графического процессора, который мы видим сегодня в компьютерах и консолях.

Navi ve Turing: Godzilla GPU'ları

Теперь, когда мы определили базовую компоновку графического чипа, вот несколько изображений реальных чипов, хотя и немного увеличенных и отрендеренных, чтобы выделить различные сборки, а также Navi vs. Начнем наше сравнение по Тьюрингу.

Слева - новейший процессор AMD. Общий дизайн чипа называется Navi (некоторые называют его Navi 10), а графическая архитектура называется RDNA. Рядом с ним справа находится полноразмерный процессор Nvidia TU102 с новейшей архитектурой Turing. Важно отметить, что эти изображения не масштабируются: площадь шаблона Navi составляет 251 мм2, а у TU102 - 752 мм2. Процессор Nvidia большой, но не в 8 раз больше, чем у AMD!

Оба колоссальный количество транзисторов (18,6 миллиарда против 10,3), но TU102 имеет в среднем ~ 25 миллионов транзисторов на квадратный мм, по сравнению с 41 миллионом у Navi на квадратный мм.

Это связано с тем, что, хотя оба чипа производятся TSMC, они производятся на разных технологических узлах: Nvidia Turing находится на зрелой 12-нм производственной линии, а AMD Navi построена на более новом 7-нм узле.

Простой взгляд на изображения шаблонов мало что говорит нам об архитектурах, поэтому давайте взглянем на блок-схемы графических процессоров, созданные обеими компаниями.

Диаграммы не являются 100% реалистичным представлением реальных макетов, но если вы повернете их на 90 градусов, можно будет идентифицировать различные блоки и центральную полосу, которые появляются на обоих. Начнем с того, что мы видим, что два графических процессора имеют общую сборку, подобную нашей (но больше, чем что-либо еще!).

Оба дизайна используют многоуровневый подход к тому, как все устроено и сгруппировано - чтобы начать использовать Navi, графический процессор состоит из 2 блоков, которые ищет AMD. Шейдерные движки (SE), каждый из которых называется 2 блоками асинхронный Вычислительные машины (ТУЗ). Каждый из них содержит 5 блоков в заголовке. Процессоры для рабочих групп (WGPs), состоящий из 2 Блоки обработки информации (Сущность).

Для дизайна Тьюринга имена и числа разные, но иерархия очень похожа: 6 Наборы для визуализации графики (GPC), по 6 шт. Наборы для визуализации текстур (TPC), по 2 шт. Потоковый мультипроцессор (SM) блоки.

Такая организация приобретает смысл, если вы рассматриваете графический процессор как большую фабрику, где разные подразделения производят разные продукты, используя одно и то же сырье. Генеральный директор завода отправляет бизнесу все операционные данные, которые затем разбиваются на различные задачи и рабочие нагрузки. Имея более одного, независимый На фабрике повысилась производительность труда. То же самое для графических процессоров и волшебного ключевого слова здесь время.

Фронт и Центр, Войска - Время и отправка

Как мы выглядим Исследования по созданию 3D-игрМы видели, что графический процессор - это не что иное, как сверхбыстрый калькулятор, выполняющий серию математических операций с миллионами фрагментов данных. Нави и Тьюринг классифицируются как: Одна команда, несколько данных (SIMD), но лучшее объяснение - Unidirectional Multi Нить (Смысл).

Современная 3D-игра генерирует сотни потоков, иногда даже тысячи, поскольку количество обрабатываемых вершин и пикселей огромно. Чтобы все это сделать всего за несколько микросекунд, важно иметь как можно больше логических модулей, чтобы все не останавливалось, потому что требуемые данные находятся не в нужном месте или недостаточно места для ресурсов для работы с ними.

Когда мы взглянули на то, как работает создание 3D-игр, мы увидели, что графический процессор - это не что иное, как действительно быстрый калькулятор, и мы выполнили различные математические операции с миллионами данных. Navi и Turing классифицируются как процессоры Single Command Multiple Data (SIMD), но лучшим описанием будет Single Command Multiple Threads (SIMT).

Navi и Turing работают аналогично, поэтому центральный блок берет все потоки, а затем начинает программировать и транслировать их. В чипе AMD эта роль Графический командный процессор; Nvidia'da, GigaThread Motoru. Потоки организованы таким образом, что потоки с одинаковыми инструкциями сгруппированы в коллекцию из 32 групп.

AMD эта коллекция волнатогда как Nvidia кривизна. Для Navi вычислительный блок может обрабатывать 2 волны (или 64-поточную волну, но это занимает в два раза больше времени), а потоковый мультипроцессор в Тьюринге с 4-мя деформациями. Оба дизайна не зависят от волны / деформации, что означает, что другие не нужно заканчивать перед началом.

А до тех пор между Navi и Turing мало чем отличается - они оба предназначены для обработки нескольких потоков для создания и вычисления рабочих нагрузок. Чтобы увидеть, где два гиганта графических процессоров расходятся в дизайне, нам нужно посмотреть, на каких процессорах работают эти потоки.

Исполнительная разница - RDNA и CUDA

Хотя большая часть используемой терминологии кажется одинаковой, AMD и Nvidia используют совершенно другой подход к своим композитным шейдерным блокам. Исполнительные блоки Nvidia (ЧУДЕСА ядра) цифровой в природе - это означает, что модуль выполняет математическую операцию над компонентом данных; в отличие от блоков AMD (Потоковые процессоры) работа над векторов - операция над более чем одним компонентом данных. Для скалярных операций есть только одна специальная единица.

Прежде чем мы подробно рассмотрим исполнительные блоки, давайте рассмотрим собственные модификации AMD. В течение 7 лет видеокарты Radeon следовали архитектуре под названием Graphics Core Next (GCN). Каждый новый чип изменял различные аспекты дизайна, но все они были в основном одинаковыми.

AMD представила краткую историю архитектуры GPU:

GCN был развитием TeraScale, дизайна, который позволял обрабатывать большие волны одновременно. Основная проблема с TeraScale заключалась в том, что он был не очень дружелюбен по отношению к программистам и требовал очень специфических процедур, чтобы получить от него максимум пользы. GCN исправила это и предоставила гораздо более доступную платформу.

CU в Navi были значительно изменены по сравнению с GCN в рамках процесса улучшения AMD. Каждый CU содержит два набора:

  • 32 SP (векторные ALU IEE754 FP32 и INT32)
  • 1 SFU
  • 1 INT32 весы ALU
  • 1 диспетчерский пункт

Кроме того, каждая CU содержит 4 единицы ткани. Существуют и другие устройства для выполнения операций чтения / записи данных из кеша, но не показанные на изображении ниже:

По сравнению с GCN, настройка RDNA CU может не сильно отличаться, но именно так здесь организовано и изложено все важное. Начнем с того, что каждый набор из 32 SP имеет свою собственную конкретную единицу инструкций, у GCN была только одна программа для 4 наборов из 16 SP.

Это существенное изменение, означающее, что одна волна из 32 потоков за такт может быть доставлена ​​в каждый набор SP. Архитектура RDNA также позволяет векторным модулям обрабатывать волны с 16 потоками в два раза быстрее и волны с 64 потоками в два раза, поэтому код, написанный для всех предыдущих видеокарт Radeon, по-прежнему поддерживается.

Для разработчиков игр эти изменения будут очень популярны.

Для скалярных операций теперь есть два модуля, которые могут их обрабатывать; единственное сокращение количества компонентов - в виде SFU - этих специальная функция единицы измерения, который выполняет очень специфические математические операции, например тригонометрический (синус, тангенс), обратный (деленный на число) и квадратный корень. В RDNA их меньше по сравнению с GCN, но теперь они могут работать с наборами данных, вдвое большими, чем раньше.

Для разработчиков игр эти изменения будут очень популярны. На старых видеокартах Radeon была большая потенциальная производительность, но это было очень сложно сделать. Теперь AMD сделала большой шаг в направлении уменьшения задержки при обработке инструкций и сохранения функций, чтобы обеспечить обратную совместимость для всех программ, разработанных для архитектуры GCN.

Но как насчет профессиональной графики или компьютерного рынка? Выгодны ли эти изменения и для них?

Краткий ответ - да (наверное). Хотя текущая версия чипа Navi, установленная в аналогах Radeon RX 5700 XT, имеет меньше потоковых процессоров, чем предыдущая конструкция Vega, мы выступили лучше Radeon RX Vega 56 предыдущего поколения довольно проста:

Часть этого прироста производительности будет достигнута за счет более высокой тактовой частоты RX Vega 56, RX 5700 XT (поэтому он может записывать больше пикселей в секунду в локальную память), но упадет до 15% при пиковой производительности с целыми числами и с плавающей запятой; однако мы обнаружили, что чип Navi превосходит Vega на 18%.

Ученые, использующие профессиональные программы рендеринга и сложные алгоритмы, не взорвутся после нескольких раундов Battlefield V в работе (т. Е. может быть...) только если скалярные, векторные и матричные операции в игровом движке обрабатываются быстрее, корабль на компьютерный рынок. На данный момент мы не знаем, каковы планы AMD на профессиональном рынке - они вполне могут продолжить работу с архитектурой Vega и помочь улучшить дизайн, производство, но с учетом улучшений в Navi, компании следует переместить все на новую архитектуру. .

Дизайн графического процессора Nvidia претерпел аналогичную эволюцию с 2006 года, когда они запустили серию GeForce 8, хотя и с менее радикальными изменениями, чем у AMD. Этот графический процессор был первой архитектурой Tesla, которая использовала шейдерный подход в архитектуре исполнения. Ниже мы можем увидеть изменения в блоках SM от преемника Теслы (Ферми) до предшественника Тьюринга (Вольта):

Как упоминалось ранее в этой статье, ядра CUDA цифровой. Они могут выполнять одну команду с плавающей запятой и одну целочисленную инструкцию за тактовый цикл в компоненте данных (обратите внимание, однако, что сама инструкция может занять несколько тактовых циклов для обработки), но блоки синхронизации объединяют их в группы, давая программисту векторные операции. Самое значительное изменение за прошедшие годы, помимо увеличения количества единиц, касается того, как они организованы и разделены.

В проекте Kepler полный чип имел 5 GPC, каждый с тремя блоками SM; Когда появился Pascal, GPC были разделены на отдельные разделы (TPC) с двумя SM на TPC. Как в дизайне нави. эта фрагментация важна, поскольку позволяет максимально полно использовать весь графический процессор; несколько независимых групп инструкций могут обрабатываться параллельно, что увеличивает теневое копирование и вычислительную производительность процессора.

Давайте посмотрим на эквивалент Тьюринга с вычислительным блоком RDNA:

SM содержит 4 блока транзакций, каждый из которых содержит:

  • 1 блок диспетчеризации и диспетчеризации инструкций
  • 16 IEE754 FP32 весов ALU
  • 16 весов INT32 ALU
  • 2 тензорных цвета
  • 4 ЮФЕ
  • 4 Load / Storage (который обрабатывает чтение / запись кеша)

Также есть 2 модуля FP64 на SM, но Nvidia больше не отображает их на своих блок-схемах, и каждый SM имеет 4 текстурных модуля (содержащих системы адресации текстур и фильтрации текстур) и 1 ядро ​​RT (Ray Tracing).

ALU FP32 и INT32 могут работать одновременно и параллельно. Это важная функция, потому что, хотя движки 3D-рендеринга часто требуют вычислений с плавающей запятой, необходимо выполнить довольно много простых целочисленных операций (например, вычисление адресов данных).

Тензорные ядра - это специальные ALU, которые выполняют матричные операции. Матрицы представляют собой «квадратные» массивы данных, а ядра Tensor работают с матрицами 4 x 4. FP16 разработан для обработки компонентов данных INT8 или INT4 таким образом, что операция с плавающей запятой выполняется до 64 FMA (объединенное умножение-пост-сложение) за один такт. Этот вид расчета называется так называемым нейронные сети и логический вывод - это не совсем обычное явление в 3D-играх, но активно используется такими, как Facebook, в автомобилях с алгоритмами анализа социальных сетей или системами самоуправления. Navi также может выполнять матричные вычисления, но для этого требуется много SP; В системе Тьюринга матричные операции могут выполняться, в то время как ядра CUDA выполняют другие вычисления.

RT Core - еще одна запатентованная единица архитектуры Тьюринга, которая выполняет очень специфические математические алгоритмы, используемые для системы трассировки лучей Nvidia. Полный анализ этого выходит за рамки данной статьи, но RT Core - это две системы, которые работают отдельно от остальной части SM, поэтому она может работать с вершинными или пиксельными шейдерами, пока RT Core занят вычислениями. для трассировки лучей.

На базовом уровне у Navi и Turing есть исполнительные блоки, которые предлагают довольно похожий набор функций (требование, которое возникает из-за соблюдения требований Direct3D, OpenGL и т. Д.) ...

На фундаментальном уровне у Navi и Turing есть исполнительные блоки, которые предлагают довольно похожий набор функций (требование, которое возникает из-за соответствия требованиям Direct3D, OpenGL и т. Д.), Но они используют совершенно другой подход к тому, как эти функции. законченный. Что касается того, какой дизайн лучше, все сводится к тому, как они используются: программа, которая генерирует векторные вычисления FP32 и множество потоков, которые мало работают, будет отдавать предпочтение Navi, тогда как программа с множеством целых чисел, с плавающей запятой, скалярных и векторные вычисления будут использовать гибкость Тьюринга, предпочитаю и т. д.

Иерархия памяти

Современные графические процессоры - это потоковые процессоры, то есть они предназначены для выполнения ряда операций с каждым элементом потока данных. Это делает их менее гибкими, чем ЦП общего назначения, а также требует оптимизации иерархии памяти микросхемы, чтобы получать данные и инструкции в ALU как можно быстрее и в как можно большем количестве потоков. Это означает, что у графических процессоров будет меньше кеша, чем у процессора, потому что большая часть чипа должна быть выделена для объема кеша, а не для доступа к кешу.

И AMD, и Nvidia прибегают к использованию нескольких кешей внутри чипов, поэтому давайте сначала посмотрим, что упаковала Navi.

Начиная с самого нижнего уровня иерархии, всего 256 кг векторных регистров общего назначения используются в двух блоках потоковых процессоров (обычно журнальный файл) было такое же количество, как у Vega, но между 4 блоками SP; Отсутствие регистров при попытке обработать большое количество потоков действительно снижает производительность, так что это определенно "хорошо". AMD также значительно увеличила файл скалярных регистров. Если раньше было всего 4 килобайта, то теперь это 32 килограмма на скалярную единицу.

Затем два вычислительных блока совместно используют 32-фунтовый кэш L0 и 16-фунтовый кэш скалярных данных, но каждый CU получает свой 32-фунтовый векторный кэш L0; вся эта память подключается к ALU через 128-фунтовый локальный общий ресурс данных.

В Navi два вычислительных ядра образуют процессор рабочей группы, а пять из них составляют асинхронный вычислительный механизм (ACE). Каждый ACE имеет доступ к собственному кэш-памяти L1 объемом 128 фунтов, а весь графический процессор дополнительно поддерживается кешем L2 объемом 4 МБ, который подключается к кэшам L1 и другим частям процессора.

Это форма проприетарной архитектуры подключения Infinity Fabric от AMD, поскольку система строго используется для обработки 16 контроллеров памяти GDDR6. Чтобы максимизировать пропускную способность памяти, Navi также использует сжатие цвета без потерь между L1, L2 и собственной памятью GDDR6.

Опять же, все это приветствуется, особенно по сравнению с предыдущими чипами AMD, у которых не хватало низкоуровневого кеша для того количества затененных блоков, которое они включали. Короче говоря, больше кеша означает большую внутреннюю пропускную способность, меньше медленных инструкций (потому что они должны извлекать больше данных из памяти) и т. Д. И это просто означает лучшую производительность.

Что касается иерархии Тьюринга, следует сказать, что Nvidia застенчива, когда дело доходит до предоставления глубоких знаний в этой области. Ранее в этой статье мы видели, что каждый SM разделен на 4 блока транзакций - каждый с меньшим 64-фунтовым файлом журнала, чем тот, который находится в Navi, но имейте в виду, что ALU Тьюринга являются скалярными, а не векторными. , единицы измерения.

Далее для каждого SM можно использовать 96 КБ общей памяти, 64 КБ кэша данных L1 и 32 КБ кеша текстур или дополнительное пространство для сохранения. В «режиме вычислений» общая память может быть разделена на разные разделы, например, на 32 КБ общей памяти и 64 КБ кеш-памяти L1, но это всегда выполняется как 64 + 32 раздела.

Отсутствие подробностей о системе поворотной памяти заставило нас хотеть большего, поэтому мы обратились к группе исследователей графических процессоров в Citadel Enterprise Americas. Недавно они опубликовали две статьи. Время ve Тьюринг их архитектура; На изображении выше показана фрагментация иерархии памяти в микросхеме TU104 (полный TU102 имеет кэш L2 на 6144 кБайт).

Команда подтвердила, что пропускная способность кэша L1 составляет 64 бита за цикл, и отметила, что эффективность тестируемого кеша L1 Тьюринга была лучшей из всех графических процессоров Nvidia. Это наравне с Navi, хотя чип AMD имеет более высокую скорость чтения для локального хранилища данных, но более низкую для инструкций / фиксированных кешей.

Оба графических процессора используют GDDR6 для собственной памяти - это последняя версия Graphics DDR SDRAM - и оба используют 32-разрядные подключения к модулям памяти, поэтому Radeon RX 5700 XT Он имеет 256 микросхем памяти и обеспечивает пиковую пропускную способность 256 ГиБ / с и 8 ГиБ пространства. один GeForce RTX 2080 Ti Он работает с микросхемой TU102 с 11 такими модулями с пропускной способностью 352 ГиБ / с и хранилищем 11 ГиБ.

Документация AMD иногда может показаться запутанной: первая блок-схема, которую мы видим Navi, показывает четыре 64-битных контроллера памяти, а на более позднем изображении показано 16 контроллеров. Учитывая Samsung предлагает только 32-битную GDDR6 Второе изображение показывает, сколько соединений существует между системой Infinity Fabric и контроллерами памяти. Контроллеров памяти, вероятно, всего 4, и каждый использует по два модуля.

В целом, похоже, нет большой разницы между Navi и Turing, когда дело касается их кешей и локальной памяти. В подходе Navi к исполнению вещей с более крупными кэшами инструкций / констант и L1 есть немного больше, но оба заполнены, оба используют сжатие цвета, где это возможно, и имеют множество специализированных шаблонов графического процессора как для доступа к памяти, так и для доступа к памяти. используется для увеличения пропускной способности.

Треугольники, текстуры и пиксели

Пятнадцать лет назад производители графических процессоров много работали над тем, сколько треугольников могут отображать их чипы, количество элементов текстуры, которые можно фильтровать за цикл, и возможности модулей вывода рендеринга (ROP). Эти аспекты по-прежнему важны сегодня, но основное внимание уделяется стороне выполнения, поскольку технологии 3D-рендеринга требуют большей вычислительной производительности, чем когда-либо прежде.

Однако просто отметим, что в этих областях нет сразу заметной разницы между Navi и Turing, текстурные блоки и ROP все еще заслуживают изучения. В обеих архитектурах текстурные блоки могут обрабатывать и извлекать 4 элемента текстуры, фильтровать их неизвестно в одном элементе и кэшировать их все за один тактовый цикл (игнорируя дополнительные тактовые циклы, необходимые для извлечения данных из локальной памяти).

Расположение ROP / RB немного отличается у Navi и Turing, но не намного: чип AMD имеет 4 RB на ACE, и каждый может выводить 4 смешанных пикселя за такт; В Тьюринге каждый GPC имеет два RB, каждый из которых дает 8 пикселей в час. Количество ROP графического процессора на самом деле является мерой этой скорости вывода пикселей, поэтому полный чип Navi дает 64 пикселя за такт, а полный TU102 дает 96 (но имейте в виду, что это более крупный чип).

Меньше информации о треугольной стороне вещей. Что мы действительно знаем, так это то, что Navi по-прежнему дает максимум 4 примитива за такт (1 на ACE), но пока нет информации о том, устранила ли AMD проблему с этой проблемой. Примитивные шейдеры. Это была очень разрекламированная функция Vega, которая позволяла программистам иметь гораздо больший контроль над примитивами, что позволяло увеличить пропускную способность примитивов в 4 раза. функциональность удалена из драйверов Продукт бездействовал вскоре после запуска и с тех пор бездействует.

Пока мы все еще ждем дополнительной информации о Navi, было бы неразумно строить дальнейшие предположения. Тьюринг также обрабатывает 1 примитив за такт на каждый GPC (то есть до 6 для полного GPU TU102) в Raster Engines, но он также Сетчатые шейдерыПредлагает ту же функциональность, что и примитивные шейдеры AMD; Direct3D не является набором функций OpenGL или Vulkan, но доступен через расширения API.

Похоже, что это дает Тьюрингу преимущество перед Navi с точки зрения обработки треугольников и примитивов, но в настоящее время в открытом доступе недостаточно точной информации.

Дело не только в исполнительных единицах

Есть и другие аспекты Нави и Тьюринга, которые стоит сравнить. Начнем с того, что оба графических процессора имеют продвинутые механизмы отображения и мультимедиа. Первый обрабатывает вывод на монитор, второй кодирует и декодирует видеопотоки.

Как и следовало ожидать от нового дизайна графического процессора 2019 года, движок дисплея Navi предлагает очень высокое разрешение при высокой частоте обновления и поддерживает HDR. Просмотр сжатия потока (DSC) - это алгоритм быстрого сжатия с потерями, который позволяет передавать изображения с разрешением 4K + с частотой обновления выше 60 Гц через соединение DisplayPort 1.4; К счастью, ухудшение качества изображения очень незначительное, до такой степени, что вы считаете DSC практически без потерь.

Turing также поддерживает DisplayPort с подключениями DSC, но поддерживаемая комбинация высокого разрешения и частоты обновления немного лучше, чем Navi: 4K HDR при 144 Гц - в остальном все то же самое.

Медиа-движок Navi такой же современный и сложный, как и его дисплейный движок. Расширенное кодирование видео (H.264) и Высокоэффективное кодирование видео (H.265), опять же с высоким разрешением и высоким битрейтом.

Видеодвижок Тьюринга примерно такой же, как у Navi, но поддержка кодирования 8K30 HDR может склонить чашу весов в пользу Тьюринга для некоторых людей.

Есть и другие аспекты для сравнения (например, интерфейс Navi PCI Express 4.0 или NV Link от Turing), но на самом деле они очень маленькие части общей архитектуры, независимо от того, как они выглядят и продаются. Это связано с тем, что для подавляющего большинства потенциальных пользователей эти уникальные функции не имеют значения.

Сравнение Like-for-Like

В этой статье рассматривается архитектурный дизайн, особенности и функциональность, но прямое сравнение производительности было бы хорошим способом завершить такой анализ. Однако объединение чипа Navi в Radeon RX 5700 XT с процессором Turing TU102 в GeForce RTX 2080 Ti на GeForce RTX 2080 Ti заведомо несправедливо, учитывая, что последний имеет почти вдвое больше шейдерных блоков вместе взятых. Однако есть версия чипа Тьюринга, которую можно использовать для сравнения, и она находится в GeForce RTX 2070 Super.

  Radeon RX 5700 XT GeForce RTX 2070 Супер
GPU | Архитектурный Navi 10 | рДНК TU104 | Тьюринг
процесс 7 нм TSMC 12 нм TSMC
Площадь формы (мм2) 251 545
Транзисторы (миллиарды) 10.3 13.6
Заблокировать профиль 2 SE | 4 ACE | 40 ПБ 5 GPC | 20 TPC | 40 см
Унифицированные ядра шейдеров 2560 SP 2560 ЧУДЕС
TMU 160 160
ROPS 64 64
основные часы 1605 МГц 1605 МГц
игровые часы 1755 МГц N / A
увеличить часы 1905 МГц 1770 МГц
объем памяти 8 ГБ 256 бит GDDR6 8 ГБ 256 бит GDDR6
Пропускная способность памяти 448 Гбит / с 448 Гбит / с
Расчетная тепловая мощность (TDP) 225 Вт 215 Вт.

Стоит отметить, что RTX 2070 Super не является «полным» чипом TU104 (один из GPC отключен), поэтому не все из этих 13,6 транзисторов активны, а это означает, что чипы примерно одинаковы с точки зрения количества транзисторов. На первый взгляд, два графических процессора выглядят очень похожими, особенно если рассматривать только шейдерные блоки, TMU, ROP и системы основной памяти.

На процессоре Nvidia SM может обрабатывать 32 одновременных деформации, и с каждой 32-поточной деформацией полностью загруженная GeForce RTX 2070 Super может работать с 40 960 потоками по всему чипу; Для Navi CU может принимать 16 волн на SIMD32 ALU, и каждая волна состоит из 32 потоков. Таким образом, Radeon RX 5700 XT также может упаковывать до 40 960 потоков. Может показаться, что это делается прямо здесь, даже здесь, но, учитывая, насколько по-разному организованы CU / SM и преимущество Nvidia с одновременной обработкой INT и FP, результат будет сильно зависеть от выполняемого кода.

Как это повлияет на производительность различных игр, потому что код 3D-движка будет отдавать предпочтение одной сборке над другой в зависимости от того, какие инструкции обычно отправляются на графический процессор. Это, протестировал две видеокарты:

Все игры, использованные в тестировании, были запрограммированы непосредственно для ПК с Radeon или для архитектуры AMD GCN с помощью графических процессоров GCN, установленных на PlayStation 4 или Xbox One. Возможно, что некоторые из последних выпусков подготовлены для изменений в RDNA, но различия, наблюдаемые в результатах тестов, более вероятны из-за механизмов рендеринга и способа обработки инструкций и данных.

Так что же все это значит? Действительно ли одна архитектура лучше другой? Turing, безусловно, предлагает больше возможностей, чем Navi, благодаря ядрам Tensor и RT, но последнее определенно конкурентоспособно с точки зрения производительности 3D-рендеринга. Различия, наблюдаемые в 12 примерах игр, недостаточно ясны, чтобы сделать однозначное суждение.

И это хорошие новости для нас.

последние слова

Планы AMD Navi объявил Это в 2016 году, и они планировали запуск в 2018 году, хотя и не сказали много. Когда эта дата приходит и уходит, дорожная карта измененный однако было ясно, что Navi будет производиться по 7-нм техпроцессу, а конструкция будет сосредоточена на повышении производительности.

Это, безусловно, так, и, как мы видели в этой статье, AMD внесла архитектурные изменения, чтобы позволить ей конкурировать с аналогичными предложениями Nvidia. Новый дизайн выгоден не только пользователям ПК, поскольку мы знаем, что Sony и Microsoft будут использовать вариант чипа в ближайший период. PlayStation 5 ve sonraki xbox.

Если вы вернетесь к началу этой статьи и еще раз взглянете на конструкцию Shader Motors, общий размер кристалла и количество транзисторов, то очевидно, что «большой чип Navi» может выйти на первое место. новейшая видеокарта; AMD в значительной степени подтвердила, что это часть их текущих планов и нацелена на улучшение архитектуры и производственного процесса в течение следующих двух лет.

Но каковы планы Nvidia в отношении Тьюринга и его преемника? Удивительно, но компания мало что подтвердила. В 2014 году Nvidia Обновленная дорожная карта GPU Планирование (и реализация) архитектуры Pascal для запуска в 2016 году. в 2017 г. Tesla анонсирует V100Используя архитектуру Volta, именно этот дизайн раскрыл Тьюринг в 2018 году.

С тех пор все было довольно тихо, и нам приходилось полагаться на слухи и отрывки новостей, которые часто говорят одно и то же: следующая архитектура Nvidia будет называться Ampere, Производитель Samsung Он использует 7-нм техпроцесс и запланирован на 2020 год. Кроме этого, больше нечего делать. Новый чип вряд ли нарушит традицию, сосредоточив внимание на скалярных исполнительных модулях, и вряд ли он откажется от таких аспектов, как тензорные ядра, поскольку это вызовет серьезные проблемы с обратной совместимостью.

Тем не менее, мы можем сделать некоторые разумные предположения о том, каким будет следующий графический процессор Nvidia. Компания вложила значительное количество времени и денег. трассировка лучейи поддержка этого только в играх увеличивать; так что мы можем ожидать улучшения в ядре RT с точки зрения возможностей или количества на SM. Если один 7 нм техпроцесс Если это правда, Nvidia, скорее всего, будет стремиться к снижению мощности, а не к прямому увеличению тактовой частоты, чтобы они могли увеличить количество GPC. Также возможно, что пропускается 7 нм и запускается Nvidia. плоский на 5 нм Чтобы получить преимущество перед AMD.

Похоже на AMD и Nvidia, дискретная видеокарта Market от Intel, поскольку мы знаем, что они планируют снова войти в эту отрасль, 20 лет перерыва. Этот новый продукт (в настоящее время по имени xe) смогут составить конкуренцию Navi и Turing на одном уровне.

Между тем, Intel выжила на рынке графических процессоров в течение этих двух десятилетий, создав интегрированную графику для своих процессоров. Последний графический процессор Intel Gen 11Она похожа на архитектуру AMD, поскольку использует векторные ALU, которые могут обрабатывать данные FP32 и INT32, но мы не знаем, будут ли новые видеокарты прямым развитием этого дизайна.

Несомненно, следующие несколько лет будут очень интересными, поскольку три гиганта кремниевых структур продолжают бороться за наши кошельки. Новые конструкции и архитектуры графических процессоров увеличат количество транзисторов, размеры кеша и возможности шейдеров; Navi и RDNA являются последними из них и показали, что каждый шаг вперед может иметь небольшое значение.

Горячие клавиши для покупок:

Эта статья была первоначально опубликована 7 августа 2019 года. Мы его немного изменили и улучшили в рамках нашей инициативы #ThrowbackThursday.