⇣ Содержание
Опрос
|
реклама
Обзор видеокарты NVIDIA GeForce RTX 3080, часть 1
Комментарий к одной из главных премьер 2020 года (а до выхода центральных процессоров архитектуры Zen 3 и ускорителей Radeon на большом ядре Navi пожалуй что и самой главной), мы вынуждены начать с плохой новости. Тестовые образцы новых видеокарт еще не приехали в редакцию 3DNews из-за по-прежнему сложной обстановки в международных сообщениях. Да и время обзоров с бенчмарками еще не пришло — их разрешено публиковать не раньше среды 16 сентября. Поэтому сегодня мы ограничимся анализом чипов Ampere и спецификаций продуктов на их основе. Благо серия RTX 30 производит сильное впечатление даже на бумаге, а обновленная архитектура, пусть в этот раз инженеры из Санта-Клары сосредоточились на росте чистого быстродействия вместо функциональных нововведений, тоже заслуживает обстоятельного рассмотрения, чтобы понять, каким образом NVIDIA удалось так сильно прокачать характеристики. Новые GPU и правда настолько оторвались от своих предшественников, будто вернулись золотые годы Kepler, Maxwell и Pascal, дарившие экспоненциальный рост производительности с каждой итерацией железа. Затем случился Turing — без сомнения, историческое событие не только для NVIDIA, но и для потребительской 3D-графики вообще. Вот только сами потребители были не слишком обрадованы ценами видеокарт, которые чипмейкер смог установить без оглядки на AMD, в то время устранившуюся от конкуренции за рынок топовых ускорителей. К тому же все старания разработчиков Turing были направлены на расширение функций рендеринга при помощи аппаратной трассировки лучей и обработки данных нейросетями, а в играх без рейтрейсинга производительность на доллар у GeForce RTX 20-й серии в лучшем случае не изменилась по сравнению с вечнозелеными «Паскалями» (см. первую и вторую часть нашего исторического тестирования). Игровые ускорители GeForce RTX 30-й серии в одном предложении можно охарактеризовать так: в 2,5–3 раза больше FP32-совместимых CUDA-ядер, усиленные блоки трассировки лучей и тензорные ядра, и все это на чипах с громадным количеством транзисторов, построенных по нормам 8 нм. А главное, по такой же цене, как у предшественников! Тем не менее у Ampere есть любопытные нюансы как в архитектуре, так и чисто практического свойства. Пока тестовые образцы GeForce RTX 3080 и RTX 3090 еще в пути, давайте разберемся, как устроен Ampere и нет ли поводов усомниться в его безоговорочном доминировании на рынке геймерских видеокарт. Как ни крути, AMD представит 28 октября собственные GPU следующего поколения, и, кажется, в этот раз «красные» готовы к настоящей конкуренции с NVIDIA. ⇡#Серия GeForce RTX 30В презентации, посвященной игровым продуктам нового поколения, NVIDIA представила три видеокарты: GeForce RTX 3070, RTX 3080 и RTX 3090. Все они должны поступить в продажу в течение следующего месяца, и это относится не только к референсным (Founders Edition), но и к партнерским моделям, которые появятся на магазинных полках в то же время. Дата релиза RTX 3080 — 17 сентября, RTX 3090 запланирован на 24-е, а RTX 3070 ожидается уже 15 октября. Но главное, конечно, это какие возможности и за какую цену предложит NVIDIA, обескураженная неоднозначной реакцией на серию GeForce RTX 20, тем более в условиях возродившейся конкуренцией со стороны AMD. Судя по всему, что мы смогли выяснить, RTX второго поколения не должен разочаровать. На третьей ступени пьедестала, в качестве замены GeForce RTX 2070, чипмейкер поставил видеокарту с 5888 шейдерными ALU (32-битными CUDA-ядрами). А это, между прочим, в 2,5 раза больше, чем у предшественника! Получается, что даже GeForce RTX 2080 Ti и RTX TITAN уступают младшей из новинок как по CUDA-ядрам FP32 (4352 и 4608 соответственно), так и по теоретической пропускной способности операций над вещественными числами стандартной точности. Конечно, это очень грубый критерий, который не берет в расчет другие компоненты архитектуры GPU. Ведь мы еще не разобрались, как именно инженеры NVIDIA набили столько ядер в графический процессор второго эшелона — здесь все далеко не так просто, как если бы Turing раздули до таких размеров без глубокой структурной реорганизации. Наконец, как мы еще успеем убедиться, в Ampere значительно усилили блоки трассировки лучей и ввели новый, более эффективный режим работы тензорных ядер. Пока мы не получили в свое распоряжение тестовые образцы, не будем безапелляционно утверждать, что новый GeForce RTX 3070 отправил на свалку истории всю линейку RTX 20, включая 2080 Ti, но, если оценивать по сумме характеристик, возможно, именно так и получится в хорошо распараллеленных задачах GP-GPU, профессиональных рейтрейсерах наподобие Blender и, разумеется, в играх с трассировкой лучей, где GeForce RTX 3070 обещает при разрешении 1440p производительность на 60 % выше, чем у RTX 2070. И все это — внимание! — по рекомендованной цене $499! В данном случае уместна поправка на то, что NVIDIA в свое время проапгрейдила RTX 2070 до RTX 2070 SUPER, сохранив прежнюю стоимость, а это уже совсем другая видеокарта на более мощном GPU. Как следствие, рост быстродействия на доллар уже не настолько велик, хотя все равно речь идет о таких прибавках FPS, которые мы давно отвыкли получать от производителей дискретной графики. Практика наценки на видеокарты Founders Edition и их разгон, к счастью, тоже осталась в прошлом: цены, рекомендованные для партнерских продуктов, совпадают с теми, по которыми NVIDIA будет продавать референсные устройства в собственном интернет-магазине.
Напомним, речь пока идет о младшей модели нового семейства, которая, если все теоретические выкладки и внутренние бенчмарки NVIDIA сойдутся с практикой, окажется более доступной и вместе с тем более производительной заменой GeForce RTX 2080 Ti. Перед RTX 3080 стоит более амбициозная задача поднять быстродействие в играх и рабочих приложениях на новую высоту. Старшие модели основаны на одном и том же чипе GA102, но, пусть состав исполнительных блоков процессора в RTX 3080 серьезно урезан, его спецификации по-прежнему производят чрезвычайно сильное впечатление. GeForce RTX 3080 получил 8704 FP32-совместимых шейдерных ALU и в результате двукратно превосходит по проектной пропускной способности вещественночисленных расчетов GeForce RTX 2080 Ti, а RTX 2080 — в три раза! Если добавить к этому апгрейд блоков трассировки лучей и тензорных ядер, вполне справедливой кажется предварительная оценка быстродействия новинки — на 100 % выше RTX 2080. Как и GeForce RTX 3070, вторая по старшинству модель поступит в продажу по той же рекомендованной цене, что и ее формальный предшественник, — $699. GeForce RTX 3090 закрывает серию потребительских ускорителей на чипах Ampere и, скорее всего, останется на вершине модельного ряда вплоть до выхода следующей графической архитектуры NVIDIA. Впоследствии еще могут появиться «Амперы» с приставкой Ti в названии (а может, как знать, и очередные версии SUPER), но это явно будет не RTX 3090 Ti. Дело в том, что флагману достался почти нетронутый кристалл GA102, который потерял всего лишь два SM и содержит фантастические 10 496 32-битных CUDA-ядер стандартной точности. По соответствующим оценкам быстродействия GeForce RTX 3090 в 2,19 раза превосходит TITAN RTX, не говоря уже о пресловутых усовершенствованиях RT- и тензорных ядер. Вместо того чтобы сравнивать этот в хорошем смысле чудовищный ускоритель с каким-либо из предыдущих устройств, NVIDIA было достаточно сказать, что GeForce RTX 3090 стал первой видеокартой, способной выводить игры на 8К-экран с приличной частотой смены кадров и высоким качеством графики, включая трассировку лучей — при помощи масштабирования DLSS в подходящих случаях, но тем не менее. На первый взгляд, ободряющая тенденция к демократизации цен «зеленых» GPU обошла стороной RTX 3090. Новинку оценили в беспрецедентно высокую по меркам потребительских видеокарт сумму $1 499. По крайней мере, одночиповых, ведь именно столько стоил AMD Radeon R9 295X2. Впрочем, пусть GeForce RTX 3090 не по карману большинству геймеров, RTX 3080 уже настолько силен, что поводов для тоски по дополнительным 20 % вычислительного потенциала мы не видим. Кроме того, RTX 3090 не кажется возмутительно дорогим, если понять, что в рамках нового поколения он занимает промежуточную позицию сразу перед очередным «Титаном». Не удивительно и то, что RTX 3090 остался последней из «зеленых» видеокарт с разъемом NVLink и, соответственно, поддержкой многочипового рендеринга с помощью SLI (хотя главное предназначение NVLink — это все-таки расчеты общего назначения). Да и оперативной памяти в RTX 3090 более чем достаточно — целых 24 Гбайт. А вот вопрос о том, является ли объем VRAM у GeForce RTX 3070 и RTX 3080 адекватным их вычислительной мощности, остается открытым. RTX 3080 получит 10 Гбайт нового типа GDDR6X, а RTX 3070 — 8 Гбайт привычной памяти GDDR6. Между тем уже не редкость, когда потребление VRAM современными играми при разрешении 4К выходит за пределы 8 Гбайт. Забегая вперед, скажем, что в перспективе дефицит локальной памяти графического процессора сможет, по крайней мере частично, компенсировать программный интерфейс Microsoft DirectStorage и аппаратная технология RTX IO, на которую он будет опираться в чипах Ampere. Но пока светлое будущее не наступило, RTX 3070 может столкнуться с ограничениями по объему оперативки, которые все-таки мешают назвать его равноценной заменой 11-гигабайтного RTX 2080 Ti.
У «зеленых» продуктов нового поколения есть еще один спорный аспект. NVIDIA не стесняется величин энергопотребления на уровне 320 Вт для GeForce RTX 3080 и целых 350 Вт для GeForce RTX 3090 (аппетиты RTX 3070 оценены в умеренные 220 Вт). Когда в последний раз на нашей памяти референсные видеокарты достигали подобной мощности, это был Radeon RX Vega 64 LC со штатной СЖО (345 Вт) и Radeon VII (300 Вт). Впрочем, мы всегда стояли на позиции, что пользователя стандартного десктопа не должно волновать энергопотребление видеокарты, пока она тихо работает, не перегревается, а главное, отрабатывает затраченное электричество в играх. В последнем мы уже не особенно сомневаемся, а вот для того, чтобы гарантировать «Амперам» адекватное охлаждение, NVIDIA разработала совершенно новый и необычный дизайн референсных видеокарт. Последним и, пожалуй, главным поводом для беспокойства за геймерский Ampere для нас являются реальные розничные цены, по которым видеокарты можно будет найти в продаже, особенно поначалу. Сама NVIDIA может повесить какой угодно ярлык на устройства Founders Edition, но при таком энергопотреблении, как у старших «Амперов», производство адекватно мощной обвязки для GPU не может быть дешевым для тайваньских вендоров. Кроме того, ходят упорные слухи о том, что обязательно появятся версии GeForce RTX 3070 и RTX 3080 с удвоенным объемом VRAM, которые уж точно выйдут за рамки цен, рассчитанных на референсные спецификации. ⇡#Графический процессор GA102Первыми чипами архитектуры Ampere, официально представленными NVIDIA, являются процессор A100, предназначенный для дата-центров и рабочих станций, и GA102, венчающий линейку потребительских продуктов GeForce RTX 30. Достаточно взглянуть на титульные характеристики чипа, чтобы убедиться в том, как далеко шагнула вперед «сырая» вычислительная мощность по сравнению с кремнием Turing. Судите сами. Микроархитектура полностью функциональной версии GA102 представлена семью блоками GPC (Graphics Processing Cluster, крупнейшими масштабируемыми компонентами массива) — против шести на кристалле TU102. Каждый из них по-прежнему содержит растеризатор, выполняющий проекцию геометрии в пикселы, и 12 потоковых мультипроцессоров (Streaming Multiprocessor), вот только набор 32-битных CUDA-ядер, обрабатывающих вещественные числа, внутри SM был удвоен. В результате формула главных исполнительных блоков GA102 включает 10 752 FP32-совместимых CUDA-ядер и 336 блоков наложения текстур. Другая особенность GA102, заметная с высоты птичьего полета, состоит в том, что блоки операций растеризации (ROP) больше не привязаны к контроллерам оперативной памяти и теперь являются компонентом GPC — единиц, из которых компания собирает процессоры различной мощности под тот или иной транзисторный и долларовый бюджет. В последнем замечании и кроется причина миграции ROP под одну крышу с потоковыми мультипроцессорами (SM). Инженеры NVIDIA стремятся выровнять пропускную способность начальной и конечной стадий конвейера рендеринга, а именно пиксельный филлрейт ROP и скорость работы растеризаторов. Растеризатор внутри GPC выдает 16 цветных пикселов за такт, а каждый ROP смешивает или закрашивает один пиксел. Теперь, когда GPC содержит 16 ROP, установилось соотношение 1:1 между пропускной способностью растеризаторов и блоков растровых операций, не зависящее от конфигурации шины памяти. Общее число блоков операций растеризации GA102 составляет 112 штук. Таким образом GA102 получил в общей сложности 112 ROP против 96 в TU102, избежав ограничения по пиксельному филлрейту, которое обязательно возникло бы в рамках предшествующей архитектуры. С другой стороны, в «мелких» чипах Ampere класса GA106 не возникнет бутылочное горлышко на стороне растеризаторов, как произошло с TU106: растеризаторы в составе трех GPC выпускают 48 пикселов за такт, в то время как 64 ROP могут закрасить, соответственно, 64 пиксела. Громадный массив исполнительных блоков GA102 питает данными 384-битная шина оперативной памяти с поддержкой нового типа микросхем GDDR6X, который мы тоже обсудим в свое время. А вот объем кеша второго уровня, как и в TU102, равен 6 Мбайт. Наконец, для связи с внешним миром используется шина PCI Express Gen 4 и интерфейс NVLink — активный в GeForce RTX 3090, но отключенный в RTX 3080. Хотя общая пропускная способность мостика осталась практически такой же, как у потребительских ускорителей архитектуры Turing (112,5 Гбайт/с в обе стороны против 100 Гбайт/с ранее), в действительности это другой интерфейс, состоящий из четырех линий x4 скоростью 28,13 Гбайт/с вместо двух широких x8 на 50 Гбайт/с. Процессор состоит ни много ни мало из 28 млрд транзисторов и является самым крупным ASIC на сегодняшний день после самого GA100 (54 млрд). Для сравнения: прямой предшественник новинки, старший «Тьюринг» TU102, содержит уже не столь впечатляющие 18,6 млрд компонентов. Настолько резкий прирост транзисторного бюджета стал возможен благодаря переходу на следующую технологическую норму после 12-нм процесса TSMC, которым NVIDIA пользовалась для производства «Тьюрингов». Исполнителем заказа на фотолитографию GA102 стал Samsung, а номинальный размер транзистора составляет 8 нм. Точно так же, как 12-нанометровая технология Turing в официальных документах NVIDIA фигурирует под названием 12 нм FFN (FinFet NVIDIA), самсунговский узел 8N был неким образом оптимизирован под чипы Ampere. Об особенностях этого конвейера нам вообще мало что известно в силу того, что он используется далеко не так активно, как близкий по номиналу 7-нм TSMC. Немедленно возникает вопрос, почему NVIDIA на этот раз выбрала Samsung, а не TSMC, но дело, скорее всего, не в технических достоинствах 8-нм FN, а в цене производства на мощностях TSMC, которые сейчас загружены другими клиентами первой величины — такими как AMD и Apple, — да и сама NVIDIA заказывает серверные процессоры GA100 там же. Благо NVIDIA недавно объявила о том, что продукты для дата-центров теперь составляют большую часть ее бизнеса, давно выделила соответствующие чипы в отдельную ветку эволюции и не нуждается в том, чтобы удешевлять производство высокомаржинальных продуктов за счет накрутки объема заказов у того же подрядчика геймерскими ускорителями. Как бы то ни было, самсунговский 8-нм FN нельзя рассматривать как техпроцесс второго сорта. Переход с узла 16 нм, на котором построен кремний Pascal, представляет собой один полный шаг технологической нормы, в то время как 12-нм был промежуточным этапом, что отражалось на размере чипов и потребляемой мощности. TU102 стал монстром площадью 754 мм2, GA102, напротив, при более чем двукратном умножении главных вычислительных единиц, оценивается вполне умеренным числом 628 мм2. И все-таки GA102 — чрезвычайно крупный, а главное, прожорливый кусок кремния. Однако NVIDIA обещает, что с энергоэффективностью у Ampere полный порядок: по официальным данным, производительность на ватт мощности у GeForce RTX 3080 возросла на 90 % по сравнению с GeForce RTX 2080 SUPER. Главная заслуга в этом принадлежит техпроцессу 8 нм, но свою роль сыграла и оптимизация схемотехники — в частности, раздельные линии питания для ядра GPU и системы памяти. Кроме того, по объявленным тактовым частотам видеокарт Ampere недалеко ушел от Turing. NVIDIA решила увеличить быстродействие за счет укрупнения чипов, всегда более выгодного с позиции энергоэффективности, а не прямого разгона, обычно ассоциируемого со сменой технологической нормы. Кроме того, невзирая на все пугающие числа, которыми характеризуется процессор GA102, — количество CUDA-ядер, площадь и энергопотребление кристалла, достоинства Ampere не сводятся к грубой силе. Архитектура графических процессоров NVIDIA прошла очередной виток усовершенствований, которые нам предстоит рассмотреть в этом обзоре.
⇡#SM в архитектуре AmpereНачиная с чипов Maxwell, инженеры NVIDIA делят Streaming Multiprocessor на четыре секции с различным числом вычислительных блоков внутри (в зависимости от конкретной реализации в том или ином GPU) и в предыдущем поколении архитектуры (Turing) пришли к тому, что секция SM содержит 16 CUDA-ядер, оперирующих форматом данных FP32. Кроме того, в процессорах Volta и Turing, отделили пути данных для операций над целыми числами внутри CUDA-ядер от арифметики с плавающей запятой — таким образом возник блок из 16 целочисленных CUDA-ядер, а общее число ALU, которые могут быть загружены одновременно, эффективно удвоилось. Внутри секции SM находится собственный планировщик, который за такт отправляет на исполнение одну инструкцию warp’a (группы из 32 потоков инструкций — т.н. рабочих единиц), которая позволяет совершить одну и ту же операцию над 32 операндами. Благодаря тому, что блоку из 16 шейдерных ALU требуется два такта, чтобы выполнить инструкцию, во втором такте планировщик остается свободен. Нечетные такты планировщика могут быть заняты отправкой инструкций из другого warp’а на 16 целочисленных ALU (или другие типы исполнительных блоков, которые мы пока не упоминали), поэтому теоретическая пропускная способность Turing при полной загрузке целочисленными расчетами и операциями с плавающей точкой в одно и то же время также увеличилась в два раза по сравнению с исключительно дробной или исключительно целочисленной арифметикой. В комментариях к обзорам ускорителей на Turing неоднократно звучало мнение, что NVIDIA следовало вложиться в большее число CUDA-ядер вместо специализированных блоков трассировки лучей, которые якобы помешали чипмейкеру выпустить GPU, способные сохранить прежние темпы роста производительности. И хотя серия GeForce RTX 20 действительно оказалась не самым удачным примером роста быстродействия по сравнению с ее предшественниками, не говоря уже об удельной стоимости FPS, обвинять в этом рейтрейсинг не совсем корректно. В конце концов, на ALU общего назначения по-прежнему ложится львиная доля нагрузки при пересчете шейдеров во время множественных отражений лучей, а также денойзинг изображения, необходимый при сравнительно низкой плотности последних в рендеринге реального времени. Тем не менее вот ответ NVIDIA всем тем, кому не доложили шейдерных ALU в архитектуре Turing: теперь количество CUDA-ядер FP32 внутри секции SM стало вдвое больше. Ampere вернулся к исходным позициям архитектуры Pascal, когда на одном и том же пути данных лежит массив 16 ALU FP32 и 16 целочисленных ALU INT32, но появилась отдельная ветка из 16 FP32-совместимых CUDA-ядер. Таким образом, при равном количестве SM теоретическая производительность Ampere в операциях над 32-битными вещественными числами увеличилась в два раза по сравнению с Turing. Пожалуй, это главное, что нужно вынести из обзора новых чипов, если нет интереса к более изощренным аспектам новой архитектуры. Польза от реорганизации SM еще и в том, что транзисторный бюджет процессора не так сильно раздулся, как если бы NVIDIA просто нарастила их количество. Чтобы насытить потребности усиленного SM в быстром доступе к данным, объем кеша L1, общий с разделяемой памятью, был увеличин с 96 до 128 Кбайт, а его пропускная способность — с 64 до 128 байт за такт. Кроме того, Ampere допускает более гибкие пропорции между L1 и разделяемой памятью. Раньше можно было выделить только 64 из 96 Кбайт одному типу данных. Теперь разделяемая память может занять вплоть до 100 Кбайт в задачах GP-GPU, хотя полезный объем кеша L1 и текстурного кеша для 3D-рендеринга по-прежнему не превышает 64 Кбайт. Объем регистрового файла — ближайшего к ALU и, соответственно, самого быстрого типа памяти в графическом процессоре — как и прежде составляет 256 Кбайт, а значит, остаются в силе ограничения на одновременную загрузку компонентов SM: если точнее, во время работы тензорного ядра планировщик не может инициализировать никакие другие из основных вычислительных блоков из-за давления на регистровый файл. Однако тензоры в новой архитектуре мы рассмотрим подробнее чуть позже. Несмотря на всю мощь Ampere, о реальном быстродействии, близком к проектным значениям, может идти речь только при рафинированной вещественночисленной нагрузке, ведь блок INT32-ядер теперь снова висит на одной ветке с одним из двух блоков FP32. Кроме того, на такты планировщика в SM претендует масса других компонентов.
Наконец, в Turing и Ampere есть скалярные ALU, которые используются операциями условного ветвления, перехода и прочей целочисленной арифметики. В таких случаях все значения операций одной SIMT-инструкции одинаковы и вместо того, чтобы загружать ими INT32-блоки, 32 операции скаляризирутся в одну. Каждая секция SM содержит один скалярный блок, который выполняет свою инструкцию за два такта и занимает один такт планировщика для инициализации. Таким образом, скалярные операции Ampere не имеют никаких преимуществ в пропускной способности перед векторными, только в энергоэффективности. Если не считать скалярных ALU и тензорных операций, конкуренция исполнительных блоков за такты планировщика позволяет параллельно отрабатывать внутри секции SM не больше трех разнотипных нагрузок из четырех возможных: арифметика с вещественными числами стандартной точности (на CUDA-ядрах FP32), с целыми (INT32), с вещественными половинной точности (FP16) и тригонометрические операции (SFU). Благодаря тому, что FP32- и INT32-инструкции бегают на своих ALU по два такта, а SFU — по восемь, допустимы различные комбинации между ними. Кроме того, клиентом планировщика является еще и блок ветвлений, а также группа блоков load/store. Чтобы задействовать какой-либо из них, в этот такт планировщик не может отдать инструкцию для исполнения на шейдерных ALU. Расчеты пропускной способности, которую развивает SM графических процессоров Ampere, приведены в таблице для сравнения с архитектурами Turing, Pascal, а также соперничающими «красными» решениями — RDNA и GCN, по-прежнему бодро чувствующими себя в сфере GP-GPU. Заметим, что мы не стремились охватить абсолютно все сочетания инструкций, которые возможны в рассмотренных архитектурах. Пропуск тактов ALU, который в чипах NVIDIA могут вызывать операции load/store, тоже не берется во внимание (GCN и, скорее всего, RDNA обходит последнее ограничение за счет большого числа портов планировщика). Опустим и скалярные операции в Turing и Ampere, поскольку они лишь замещают нагрузку на блоках INT32 в подходящий момент. В GCN и RDNA векторые и скалярные инструкции делаются одновременно. Все, что нам было нужно, это оценить быстродействие при работе с тем или иным форматом данных — FP32, INT32, FP16, а также в тригонометрических операциях. С учетом темпа исполнения медленных инструкций мы взяли за временной интервал пропускной способности восемь тактов GPU — таким образом, в таблице остается меньше дробных чисел.
Ampere удвоил пиковую производительность в операциях над числами FP32, свойственную Turing. Но по таблице хорошо видно, что то же можно сказать, если взять за точку отсчета конкурирующую архитектуру RNDA. Кроме того, присутствие в шейдерном коде тригонометрических операций сильнее бьет по общей пропускной способности RDNA, нежели Ampere. Никуда не делась и возможность исполнять INT32- и FP32-расчеты одновременно, которой RDNA не обладает. Впрочем, сравнивая Ampere и RDNA, не следует фокусироваться на удельной производительности основного строительного блока той и другой архитектуры — SM у NVIDIA и Compute Unit у AMD. В том виде, как RDNA представлена чипами Navi, один CU слабее амперовского SM, но он, очевидно, и дешевле по транзисторному бюджету. Который из двух подходов окажется выигрышным на следующем витке противостояния между двумя чипмейкерами, мы сможем выяснить на практике уже в следующем месяце, когда будут представлены продукты на основе большого Navi и RDNA второго поколения. ⇡#Усиленные блоки трассировки лучейКаждый SM в архитектуре Turing содержит RT-ядро, выполняющее поиск пересечений между лучом и полигонами сцены. В простейшем случае такая задача крайне неэффективно и ресурсоемко решается путем перебора всех геометрических примитивов, но RT-движок Turing использует распространенный метод оптимизации под названием Bounding Volume Hierarchy. Алгоритм BVH заранее сортирует полигоны объектов по вложенным друг в друга боксам. Таким образом, чтобы быстро определить точку пересечения луча с поверхностью примитива, сперва программе нужно рекурсивным образом пройти сквозь древовидную структуру BVH. RT-ядра, представленные в чипах Turing, разделены на два механизма, один из которых отвечает за поиск полигона внутри BVH, а другой — за определение барицентрических координат пересечения с лучом на плоскости самого полигона. И хотя появление RT-ядер само по себе помогло Turing выйти на уровень быстродействия, недостижимый в рамках программного рейтрейсинга, первая итерация данной архитектуры имеет свои ограничения. А именно, два компонента RT-ядра работают строго в последовательном порядке. В Ampere это изменилось: блок пересечения с полигоном может заниматься одним лучом одновременно с тем, как блок BVH отслеживает второй. Кроме того, первый блок работает вдвое быстрее, чем раньше. Наконец, в аппаратном рейтрейсинге на чипах Ampere есть одно функциональное нововведение — трассированный motion blur. Информация о положении геометрического примитива в кадре теперь может храниться не только в виде неизменных координат, но еще и в виде функции, описывающей его движение. Таким образом, для того, чтобы обнаружить полигон внутри BVH, нужно задать вопрос: «Где он находится в данный момент времени?». Затем каждый из множества лучей, отслеживаемых RT-ядром в пределах одного кадра, несколько раз пересекает поверхностью полигона в интерполированных координатах, соответствующих меняющемуся положению вершин вдоль заданного вектора, и получается размытие в движении. Благодаря специализированному железу трассированный motion blur на чипах Ampere выполняется в восемь раз быстрее по сравнению с теоретической скоростью на Turing. Также заметим, что движение полигона не обязано быть линейным и может, к примеру, быть круговым, как у лопастей пропеллера. В любом случае результатом становится более качественный эффект размытия по сравнению с иными, порой более изощренными, но не столь элегантными методами. Технология уже поддерживается пакетами оффлайновой трассировки лучей, совместимыми с интерфейсом NVIDIA OptiX 7.0, — такими как Blender 2.90, Chaos V-Ray 5.0, Autodesk Arnold и Redshift Renderer 3. А вот в компьютерных играх она появится не так скоро: как ни крути, она многократно увеличивает нагрузку не только на RT-ядра, но и на массив шейдерных ALU. ⇡#Тензорные ядра нового поколенияСпециализированным исполнительным блоком секции SM в процессорах Turing являются два тензорных ядра, которые рассчитаны на единственный тип операций — FMA (Fused Multiply Add), а в качестве операндов принимают матрицы чисел с плавающей запятой. Подобные вычисления используются при обработке данных нейросетями (inference) как в профессиональной, так и в игровой сфере — к примеру, на них опирается фирменный алгоритм масштабирования кадров DLSS. В чипах Volta и Turing тензорное ядро перемножает две матрицы чисел половинной точности (FP16) размером 4 × 4 и складывает результат с третьей матрицей 4 × 4 (FP16 или FP32), чтобы получить финальную матрицу FP32. Таким образом, одно тензорное ядро за такт процессора выполняет 64 инструкции FMA. Что же изменилось в следующей итерации микроархитектуры? Во-первых, тензорное ядро Ampere обладает вдвое большей пропускной способностью за счет того, что размерность одной из перемножаемых матриц увеличилась с 4 × 4 до 4 × 8. Впрочем, каждая секция SM потребительских чипов Ampere теперь содержит лишь одно тензорное ядро, так что удельная производительность на такт осталась прежней. В серверном GA100 она удвоена, поскольку каждое тензорное ядро выполняет умножение матриц размером 8 × 4 и 8 × 8, но реализовывать подобную вычислительную мощность в потребительских продуктах NVIDIA пока не считает целесообразной инвестицией транзисторного бюджета. Общим нововведением для GA100 и геймерских разновидностей Ampere является поддержка структурно-разреженных матриц, которые позволяют существенно увеличить пропускную способность тензорных ядер. Давайте разберемся, о чем идет речь. Глубинное обучение нейросети начинается с того, что каждый узел определенного слоя соединен со всеми узлами следующего, а в процессе тренировки соединения приобретают веса, которые определяют «перемещение» данных, обрабатываемых нейросетью на практике. При этом обязательно возникают соединения, не оказывающие значимого влияния на точность результатов. Такие соединения, узлы или целые сегменты принято устранять для экономии вычислительных мощностей тем или иным способом, и получается, собственно говоря, разреженная сеть. К примеру, веса соединений, близкие к нулю, обнуляются, после чего проводится повторная тренировка сети — метод т. н. Fine-Grained Sparsity. В ином случае (Coarse-Grained Sparsity) изымаются целые сегменты сети. Первый подход позволяет сохранить высокую точность, но страдает от низкой оптимизации под массивно-параллельную архитектуру исполнительных блоков и памяти GPU. Так, для того, чтобы получить данные на выходе узлов в условиях Fine-Grained Sparsity, требуется различный объем вычислений, что вызывает проблемы с балансировкой нагрузки и неравномерный доступ к памяти. А вот структурная разреженность (Fine-Grained Structured Sparsity) также допускает присутствие в сети нулевых весов, но вместе с тем накладывает такие ограничения, что каждый узел определенного ряда должен иметь фиксированное число деактивированных соединений. В результате на каждый узел приходится одинаковый объем вычислений и запросов к данным. Тензорные ядра Ampere оптимизированы под обработку структурно-разреженных нейросетей таким образом, что в расчетных матрицах возможно наличие двух ненулевых значений в ряду из четырех чисел, а общая производительность также увеличивается в два раза за счет пропуска нулей. Кроме того, матрицы, разреженные в соотношении 2:4, допускают двукратную компрессию, которая экономит объем и пропускную способность различных эшелонов памяти GPU. Заметим, что Ampere не выполняет разрежение матриц на лету, но NVIDIA предоставила для этого простой алгоритм. Сначала разработчик должен выполнить тренировку нейросети с результатом в виде плотной матрицы, затем последняя конвертируется в разреженную, и наконец происходит тонкая настройка оставшихся весов. Как утверждает чипмейкер, метод не приводит к значимому падению точности обработки данных нейросетью (inference) в таких задачах, как компьютерное зрение, распознавание объектов, моделирование естественных языков и т. д. В дополнение к поддержке структурно-разреженных нейросетей, архитектура Ampere содержит иные нововведения, направленные на то, чтобы ускорить и сделать более гибкой тренировку нейросетей за счет ряда новых форматов данных. Тензорные ядра, впервые представленные чипом Volta, оперируют данными в формате FP16 и аккумулируют результат операции FMA в формате FP16 для inference-вычислений и в FP32 для тренировки. Следующая архитектура Turing принесла поддержку целочисленных форматов INT8, INT4, а также бинарных данных, которые находят применение в процедурах inference, не требующих повышенной точности. В свою очередь, Ampere располагает тем же репертуаром форматов для inference, но освоил два новых формата — TF32 и BF16 — предназначенных для тренировки. TF32 (аббревиатура для Tensor Float 32) представляет собой формат сниженной точности, который содержит 8-битную экспоненту подобно FP32, но сокращает мантиссу с 24 до 10 бит — как в FP16. Таким образом, данные, представленные в формате TF32, обладают тем же диапазоном величин, как в FP32, но точностью, свойственной FP16. Преобладающим форматом данных в машинном обучении сегодня является FP32, однако им не могут оперировать тензорные ядра, и вся работа ложится на стандартные 32-битные ALU (CUDA-ядра). Имплементация TF32 в чипах Ampere такова, что она дает возможность привлечь тензорные ядра для тренировки нейросети прозрачным образом без дополнительных усилий со стороны пользователя. Программа просто отправляет на GPU вещественночисленные данные стандартной точности, и в результате операции, не содержащие тензорной математики, по-прежнему обслуживаются CUDA-ядрами, но в ином случае тензорные ядра считывают FP32, обрабатывают его в качестве TF32 и возвращают результат опять в виде FP32. Пропускная способность таких операций на тензорных ядрах составляет ½ от FP16, тем не менее TF32 обеспечивает двукратное ускорение по сравнению с работой в чистом FP32 на CUDA-ядрах. В качестве альтернативы FP16 разработчики теперь могут использовать — причем как на тензорных, так и на CUDA-ядрах — формат BF16 (bfloat16), популяризированный интеловскими продуктами для машинного обучения. В структуру FP16 заложены те же принципы, по которым построен формат TF32: вместо 5 бит экспоненты и 10 бит мантиссы, характерных для FP16, здесь используются 8 и 7 бит соответственно. Оба формата — FP16 и BF16 — доказали свою жизнеспособность в задачах тренировки нейросетей и позволяют достигнуть результатов, сравнимых с эталонным уровнем FP32. Пропускная способность чипов GA100 и GA102 в работе с FP16 и BF16 одинакова и в четыре раза превосходит таковую с использованием FP32. Наконец, архитектура Ampere позволяет выполнять на тензорных ядрах расчеты двойной точности (FP64), но эта функция зарезервирована за серверным процессором GA100 и не поддерживается чипами нижних эшелонов — GA102 и GA104. Вместе с тем, все упомянутые форматы данных за исключением бинарного и FP64 могут использоваться в структурно-разреженных матрицах и, соответственно, получают двукратное увеличение пропускной способности. Однако и это еще не все. Следующее нововведение Ampere, связанное с тензорными ядрами, напрямую касается производительности в играх. Дело в том, что Turing не позволяет одновременно нагружать блоки трассировки лучей и тензорные ядра. Как следствие, графические шейдеры могут обрабатываться непрерывно по мере рендеринга кадра, но параллельно им в отдельный момент времени действует только один тип расчетной (compute) нагрузки — рейтрейсинг или тензорные операции DLSS. Теперь трассировка лучей, графические шейдеры и DLSS внутри SM выполняются одновременно, что дополнительно сокращает время рендеринга. Может возникнуть вопрос, каким образом DLSS находит работу, пока кадр еще не готов. Ответ в том, что DLSS имеет временную компоненту и привлекает данные предшествующих кадров. ⇡#Оперативная память GDDR6XКолоссальный потенциал вычислительной мощности старших чипов Ampere нуждается в соответствующей пропускной способности набортной памяти видеокарты. В то же время скорость переключения ячеек DRAM увеличить нелегко, а пропускную способность в последние годы удавалось наращивать главным образом за счет параллелизма. Так, например, в стандартах GDDR5X и GDDR6 ввели режим QDR, который путем фазового сдвига четырех копий сигнала (частоты WCK, Word Clock) обеспечивает двойную пропускную способность по сравнению с чипами GDDR5, передающими информацию в режиме DDR. Но при этом «реальная» частота WCK первоначально была такой же, как в рамках GDDR5. Потребительские видеокарты сегодня оснащаются памятью GDDR6 с номинальной скоростью передачи данных вплоть до 16 Гбит/с на контакт, но похоже, что таким процессорам, как GA102, требуется очередной качественный скачок. NVIDIA могла пойти путем увеличения разрядности шины памяти GPU — либо за счет перехода на HBM2, как сделано в топовых устройствах AMD и «зеленых» серверных ускорителях, включая GA100, либо за счет подключения чипов GDDR6 к широкой 512-битной шине. Но оказалось, что есть и другой выход. По заказу NVIDIA компания Micron создала для ускорителей GeForce RTX 30 новые микросхемы памяти GDDR6X. Название вызывает ассоциации с GDDR5X, и неспроста. Последний тип SGRAM был разработан специально под нужды передовых предложений NVIDIA своего времени — GeForce GTX 1080 Ti и ускорителей Quadro на том же чипе GP102. Впоследствии стандарт был кодифицирован JEDEC, но ни один другой производитель, кроме NVIDIA и Micron, не воспользовался этой возможностью. GDDR6X пока тоже не является достоянием всей индустрии, хотя наработки Micron еще могут найти применение в грядущих версиях памяти GDDR. Речь идет о коренном изменении принципов кодирования сигнала WCK. Сегодня, в памяти типа GDDR6, один такт сигнала кодирует один бит информации, соответствующий высокому и низкому напряжению проводника. В GDDR6X, напротив, применяется амплитудно-импульсная модуляция, когда амплитуда сигнала может принимать четыре различных значения (PAM4) и, соответственно, в одном такте сигнала закодированы два бита данных. В рамках PAM4 можно вдвое снизить частоту WCK, сохранив прежнюю пропускную способность, а затем постепенно наращивать и то и другое. Для начала Micron наладила выпуск микросхем с номиналом 19 и 21 Гбит/с на контакт шины. 19 Гбит/с в GeForce RTX 3080 обеспечивает пропускную способность на уровне 760 Гбайт/с при шине RAM, урезанной с 384 до 320 бит. Среди современных потребительских видеокарт более высокой ПСП может похвастаться лишь Radeon VII (1 Тбайт/с), но GeForce RTX 3090 даже при том, что NVIDIA ограничилась скоростью 19,5 Гбит/с на контакт, уже приближается к показателям HBM2 благодаря полностью активной 384-битной шине памяти — 936 Гбайт/с. Сравнительно низкие «реальные» частоты благотворно влияют и на энергоэффективность чипов — по данным Micron, она увеличилась на 15 %, что совсем не повредит чрезвычайно прожорливым новинкам. Наконец, NVIDIA отмечает, что каждый чип GDDR6X теперь сопряжен с GPU двумя псевдонезависимыми каналами. В действительности и обычная память GDDR6 устроена так, что половинки микросхемы имеют собственные шины передачи команд, адресов и отдельные 16-битные шины передачи данных. Общей является лишь тактовая частота — отсюда приставка псевдо-. По всей видимости, в данном случае речь идет о более гибком управлении кристаллами DRAM, которое помогает ускорить операции прохождения структур BVH при трассировке лучей. Как бы то ни было, переход от GDDR6 к GDDR6X не прошел бесплатно: PAM4 увеличивает производительность RAM ценой повышенных требований к соотношению «сигнал — шум». И, следовательно, для того, чтобы обслуживать память с такими характеристиками, требуются изощренные контроллеры. В частности, NVIDIA использует в памяти прием, который распространен в телекоммуникационных стандартах, опирающихся на амплитудно-импульсную модуляцию, — перекодирование потока данных для предотвращения максимальных колебаний амплитуды, — а кроме того, алгоритмы динамической подстройки сигнала. Отдельную линию питания для подсистемы памяти графического процессора, которую мы упомянули в начале статьи, решили проложить не в последнюю очередь для того, чтобы опять-таки улучшить соотношение «сигнал — шум» в условиях PAM4. Наконец, производителям печатных плат для GeForce RTX 3080 и RTX 3090 теперь тоже придется иметь дело с более жесткими требованиями к схемотехнике, нежели когда-либо прежде. Не зря чипы RAM в референсной версии RTX 3080 распаяны так близко к подложке GPU. Отметим, что микросхемы GDDR6X выпускаются в таких же корпусах, как у GDDR6, и обладают таким же набором контактов для тех или иных сигналов. У нас нет подтверждения тому, что старый и новый тип памяти электрически совместимы между собой, но вполне возможно, что так оно и есть, а партнеры NVIDIA смогут использовать один и тот же дизайн печатной платы для GeForce RTX 3080 и RTX 3070, хотя последний рассчитан именно на GDDR6. Главным практическим возражением при выборе памяти для GeForce 30-й серии является цена решения. GDDR6X значительно дешевле в производстве и сборке по сравнению с HBM2, но все-таки дороже GDDR6 и нуждается в более сложных печатных платах. Все эти обстоятельства дают новую пищу для сомнений в том, что производители видеокарт оригинального дизайна сумеют удержать приятные розничные цены, рекомендованные NVIDIA. И разумеется, не идет никакой речи о том, чтобы дешево стоили «Амперы» с удвоенным объемом VRAM. Micron еще не выпускает чипов емкостью больше 8 Гбит, а значит, в гипотетические 20-гигабайтные разновидности GeForce RTX 3080 и 16-гигабайтные RTX 3070 придется закладывать вдвое больше микросхем для работы в clamshell-режиме, не считая еще более сложной схемотехники печатных плат. А профессиональные ускорители на базе GA102, возможно, будут на первых порах ограничены «старой» памятью GDDR6, если NVIDIA нацелилась на отметку 48 Гбайт. ⇡#RTX IOЕще один важный аспект быстродействия GPU, над которым поработали создатели Ampere, связан с пропускной способностью соединения между графическим процессором и остальными компонентами системы. Да, все видеокарты серии GeForce RTX 30 используют интерфейс PCI Express четвертого поколения, но это лишь временное решение сложностей, возникающих при передаче данных между ПЗУ компьютера, центральным процессором и локальной памятью графической карты — в частности, в таких сценариях, как предварительная загрузка ресурсов игры или стриминг последних в реальном времени, который широко используется для преодоления ограничений емкости VRAM. Тем более, как мы уже заметили, сам объем оперативной памяти может создать трудности для GeForce RTX 3080 в не столь отдаленном будущем, а референсные спецификации GeForce RTX 3070 уже выглядят проблематично. Некоторые современные игры занимают на жестком диске или SSD свыше 200 Гбайт места, и значительная часть этих данных так или иначе должна попасть в оперативную память GPU. В традиционной логике ввода-вывода это выполняется неуклюжим способом, когда ресурсы сперва копируются в системную память, а затем в VRAM, дважды проходя через интерфейс PCI Express. Кроме того, быстрый SSD не всегда подключен напрямую к центральному процессору: к примеру, свои ограничения на пропускную способность может накладывать шина DMI между CPU и PCH в архитектуре Intel. Наконец, преобладающие в десктопах файловые системы не тоже рассчитаны на эффективную обработку такого количества запросов ввода-вывода. Чтобы обойти все перечисленные ограничения, разработчики игр применяют компрессию данных без потерь, но у нее есть собственные издержки: распаковка данных занимает такты процессора. В патологических случаях, которые симулировала NVIDIA, декомпрессия потока данных с твердотельного накопителя, способного выдать 7 Гбайт/с по шине PCI Express 4.0, полностью поглощает 24 ядра Ryzen Threadripper 3960X! Современные игры, очевидно, не могут создать настолько узкое бутылочное горлышко, но, судя по тому, какими темпами нарастает объем графических ресурсов, это лишь вопрос времени. В корне решить проблему загрузки данных в память GPU может только совершенно иная архитектура ввода-вывода. Такие решения уже существуют. К примеру, в консоли нового поколения Xbox Series X применяется специальный SSD, блок аппаратной декомпрессии, а также интерфейс программирования DirectStorage. Microsoft намерена портировать DirectStorage на PC, и, если учесть будущие кросс-платформенные проекты, внедрение нового API в передовые игры для персоналок не за горами. Тем не менее для работы DirectStorage требуется не только SSD, но и средства ускоренной декомпрессии данных, снимающие нагрузку с центрального процессора. Именно эту функцию берет на себя технология RTX IO, которая вносит два ключевых изменения в способ передачи данных. Во-первых, при помощи DMA-блоков Turing и Ampere (да-да, это не эксклюзивная особенность RTX 30-й серии) графические ресурсы копируются напрямую в VRAM, минуя системную память. Во-вторых, на пути от SSD к видеокарте данные остаются сжатыми, а декомпрессию выполняет сам графический процессор путем асинхронных вычислений на шейдерных ALU. Таким образом загрузка из ПЗУ может происходить на полной скорости PCI Express 4.0, но при этом давление на CPU уменьшается в десятки раз. RTX IO под управлением DirectStorage даст разработчикам игр возможность более агрессивно использовать компрессию данных, что в итоге радикально уменьшит время первоначальной загрузки игр. С другой стороны, благодаря скоростной потоковой передаче GPU сможет на лету получать ресурсы из ПЗУ — как для того, чтобы в играх в принципе было меньше периодов загрузки, так и для экономии объема VRAM. ⇡#Аппаратное декодирование AV1 и выход HDMI 2.1Чипы Ampere стали первыми графическими процессорами с блоками фиксированной функциональности для быстрого декодирования AV1 — нового, высокоэффективного формата сжатия видеозаписей, который предназначен главным образом для трансляции видео по сети. AV1 обеспечивает более высокую степень компрессии, повышенное качество изображения по сравнению с распространенными кодеками HEVC (H.265) и VP9 и в то же время свободен от лицензионных отчислений. AV1 идеально соответствует требованиям 8К-видео, но декомпрессия формата оказывает чрезвычайно сильную нагрузку на процессоры общего назначения. Так, даже современный восьмиядерный CPU не гарантирует больше 30 кадров/с при воспроизведении записей 8К с высоким динамическим диапазоном. Новая версия декодера NVDEC целиком берет эту задачу на себя. Вместе с тем на этот раз NVIDIA ничего не говорит о скорости декодирования прежних форматов H.264, HEVC и VP9. Благо чипы Turing уже достигли в ней чрезвычайно высоких показателей. Кодировщик NVENC также достался в наследство новым GPU без всяких изменений. Коль скоро GeForce RTX 3090 объявлен видеокартой для игры в разрешении 8К, справедливо, что флагманский Ampere и два младших ускорителя обзавелись интерфейсом HDMI версии 2.1 с максимальной пропускную способностью, описанной стандартом (48 Гбит/с), которая как раз обеспечивает передачу 8К-сигнала с частотой обновления 60 Гц, а благодаря компрессии (DSC) — еще и HDR. ⇡#ВыводыЕсли ускорители семейства Turing стали в истории графических процессоров NVIDIA таким же поворотным моментом, как появление программируемых шейдеров в GeForce 256, а затем унифицированной шейдерной архитектуры и вычислений общего назначения в GeForce GTX 8800, Ampere вызывает ассоциации с такими славными продуктами, как Kepler и Pascal. Тогда NVIDIA сосредоточилась на росте чистой производительности, опираясь на преимущества передового техпроцесса, а пользователи наслаждались колоссальной прибавкой игровой производительности. C видеокартами GeForce RTX 30 произошло примерно то же самое. Конечно, инженеры NVIDIA не упустили возможности расширить функциональность GPU. В частности, такое нововведение, как RTX IO, выглядит весьма перспективно и имеет все шансы найти практическое применение в играх. Но RTX IO не привязана к чипам Ampere, совместима с Turing, да и в целом предыдущее поколение «зеленых» GPU уже заложило основы архитектуры, стоящей на трех китах: эффективной организации шейдерных ALU, тензорных вычислениях и аппаратно ускоренной трассировке лучей. От следующей итерации кремния требовалось только нарастить производительность (теперь уже за два поколения сразу), и, судя по тому, что мы знаем про Ampere, видеокарты RTX 30 справились с этой задачей. А главное, NVIDIA прислушалась к мнению покупателей и вернулась к правилу «больше FPS за те же деньги». Осталось убедиться в величине прибавки, но это мы выясним в ближайшие дни, когда в нашем распоряжении появятся долгожданные тестовые образцы GeForce RTX 3080 и RTX 3090. Вместе с тем должны признаться, что нас кое-что тревожит в характеристиках новинок. Да, NVIDIA установила на видеокарты 30-й серии такие же цены, как у предшественников, а если сравнивать GeForce RTX 3090 со старым «Титаном», то первая стоит даже меньше. Но все, что мы узнали об Ampere, — высокая потребляемая мощность, требующая соответствующего охлаждения, дорогие чипы памяти и сложные печатные платы — говорит о том, что эти устройства не созданы дешевыми. Так что цены партнерских продуктов в итоге могут сильно разминуться с официальными цифрами. Кроме того, пока нельзя быть уверенным в существовании альтернативных разновидностей GeForce RTX 3080 и, что особенно важно, RTX 3070 с удвоенным объемом VRAM, но их вы точно не сможете купить по рекомендованной стоимости. Наше мнение об ускорителях GeForce RTX 30 и результат надвигающейся битвы между Ampere и большими чипами AMD Navi определят не только и не столько тесты быстродействия, сколько ситуация на рынке через месяц-другой после появления в продаже.
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
|