Обзор видеокарты NVIDIA GeForce RTX 3080, часть 1
Комментарий к одной из главных премьер 2020 года (а до выхода центральных процессоров архитектуры Zen 3 и ускорителей Radeon на большом ядре Navi пожалуй что и самой главной), мы вынуждены начать с плохой новости. Тестовые образцы новых видеокарт еще не приехали в редакцию 3DNews из-за по-прежнему сложной обстановки в международных сообщениях. Да и время обзоров с бенчмарками еще не пришло — их разрешено публиковать не раньше среды 16 сентября. Поэтому сегодня мы ограничимся анализом чипов Ampere и спецификаций продуктов на их основе. Благо, серия RTX 30 производит сильное впечатление даже на бумаге, а обновленная архитектура, пусть в этот раз инженеры из Санта-Клары сосредоточились на росте чистого быстродействия вместо функциональных нововведений, тоже заслуживает обстоятельного рассмотрения, чтобы понять, каким образом NVIDIA удалось так сильно прокачать характеристики.
Новые GPU и правда настолько оторвались по характеристикам от своих предшественников, будто вернулись золотые годы 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 2070 | GeForce RTX 2070 SUPER | GeForce RTX 3070 |
Графический процессор | |||
Название | TU106 | TU104 | GA104 |
Микроархитектура | Turing | Turing | Ampere |
Техпроцесс | 12 нм FFN | 12 нм FFN | 8 нм (8N) |
Число транзисторов, млн | 10 800 | 13 600 | 17 400 |
Тактовая частота, МГц: Base Clock / Boost Clock | 1 410/1 620 (Founders Edition: 1 410/1 710) | 1 605/1 770 | НД /1 725 |
Шейдерные ALU | 2 304 | 2 560 | 5 888 |
Блоки наложения текстур (TMU) | 144 | 184 | 184 |
Блоки операций растеризации (ROP) | 64 | 64 | 96 |
Тензорные ядра | 288 | 320 | 184 |
RT-ядра | 36 | 40 | 46 |
Оперативная память | |||
Разрядность шины, бит | 256 | 256 | 256 |
Тип микросхем | GDDR6 SGRAM | GDDR6 SGRAM | GDDR6 SGRAM |
Тактовая частота, МГц (пропускная способность на контакт, Мбит/с) | 1 750 (14 000) | 1 750 (14 000) | 1 750 (14 000) |
Объем, Мбайт | 8 192 | 8 192 | 8 192 |
Шина ввода/вывода | PCI Express 3.0×16 | PCI Express 3.0×16 | PCI Express 4.0×16 |
Производительность | |||
Пиковая производительность FP32, GFLOPS (из расчета максимальной указанной частоты) | 7 465/7 880 (Founders Edition) | 9 062 | 20 314 |
Производительность FP64/FP32 | 1/32 | 1/32 | 1/32 |
Производительность FP16/FP32 | 2/1 | 2/1 | 1/1 |
Пропускная способность оперативной памяти, Гбайт/с | 448 | 448 | 448 |
Вывод изображения | |||
Интерфейсы вывода изображения | DL DVI-D, DisplayPort 1.4a, HDMI 2.0b | DL DVI-D, DisplayPort 1.4a, HDMI 2.0b | DisplayPort 1.4a, HDMI 2.1 |
TBP/TDP, Вт | 175/185 (Founders Edition) | 215 | 220 |
Розничная цена (США, без налога), $ | 499 (рекоменд.)/ 599 (Founders Edition) — в момент выхода | 499 (рекоменд. в момент выхода) | 499 (рекоменд. в момент выхода) |
Розничная цена (Россия), руб. | 47 990 (Founders Edition в момент выхода) | 39 990 (рекоменд. в момент выхода) | НД |
Напомним, речь пока идет о младшей модели нового семейства, которая, если все теоретические выкладки и внутренние бенчмарки 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, который содержит фантастические 10 496 32-битных CUDA-ядер стандартной точности и по соответствующим оценкам быстродействия в 2,19 раза превосходит TITAN RTX, не говоря о пресловутых усовершенствованиях RT- и тензорных ядер. Вместо того, чтобы сравнивать этот в хорошем смысле чудовищный ускоритель с каким-либо из предыдущих устройств, NVIDIA было достаточно сказать, что GeForce RTX 3090 стал первой видеокартой, способной выводить игры на 8К-экран с приличной частотой смены кадров и высоким качеством графики, включая трассировку лучей — при помощи масштабирования DLSS в подходящих случаях, но тем не менее.
На первый взгляд, ободряющая тенденция к демократизации цен «зеленых» GPU обошла стороной RTX 3090. Новинку оценили в беспрецедентно высокую по меркам потребительских видеокарт сумму $1 499. По крайней мере, одночиповых, ведь именно столько стоил AMD Radeon R9 295×2. Впрочем, пусть GeForce RTX 3090 явно не по карману большинству геймеров, RTX 3080 настолько силен, что поводов для тоски по дополнительным 20% вычислительного потенциала мы не видим. Кроме того, RTX 3090 не кажется возмутительно дорогим, если понять, что в рамках нового поколения он занимает позицию очередного «Титана» — марки, которую NVIDIA фактически упразднила из-за того, что на чипе GA102 уже не вырастет больше исполнительных блоков. Не удивительно и то, что RTX 3090 остался последней из «зеленых» видеокарт с разъемом NVLink и, соответственно, поддержкой многочипового рендеринга с помощью SLI. Да и оперативной памяти в нем более чем достаточно — целых 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 | |||||
---|---|---|---|---|---|---|
Модель | GeForce RTX 2080 | GeForce RTX 2080 SUPER | GeForce RTX 2080 Ti | TITAN RTX | GeForce RTX 3080 | GeForce RTX 3090 |
Графический процессор | ||||||
Название | TU104 | TU104 | TU102 | TU102 | GA102 | GA102 |
Микроархитектура | Turing | Turing | Turing | Turing | Ampere | Ampere |
Техпроцесс | 12 нм FFN | 12 нм FFN | 12 нм FFN | 12 нм FFN | 8 нм (8N) | 8 нм (8N) |
Число транзисторов, млн | 13 600 | 13 600 | 18 600 | 18 600 | 28 300 | 28 300 |
Тактовая частота, МГц: Base Clock / Boost Clock | 1 515/1 710 (Founders Edition: 1 515/1 800) | 1 650/1 815 | 1 350/1 545 (Founders Edition: 1 350/1 635) | 1 350/1 770 | НД /1 710 | НД /1 695 |
Шейдерные ALU | 2 944 | 3 072 | 4 352 | 4 608 | 8 704 | 10 496 |
Блоки наложения текстур (TMU) | 184 | 192 | 272 | 288 | 272 | 328 |
Блоки операций растеризации (ROP) | 64 | 64 | 88 | 96 | 96 | 112 |
Тензорные ядра | 368 | 384 | 544 | 576 | 272 | 328 |
RT-ядра | 46 | 48 | 68 | 72 | 68 | 82 |
Оперативная память | ||||||
Разрядность шины, бит | 256 | 256 | 352 | 384 | 320 | 384 |
Тип микросхем | GDDR6 SGRAM | GDDR6 SGRAM | GDDR6 SGRAM | GDDR6 SGRAM | GDDR6X SGRAM | GDDR6X SGRAM |
Тактовая частота, МГц (пропускная способность на контакт, Мбит/с) | 1 750 (14 000) | 1 937,5 (15 500) | 1 750 (14 000) | 1 750 (14 000) | 2 375 (19 000) | 2 438 (19 500) |
Объем, Мбайт | 8 192 | 8 192 | 11 264 | 24 576 | 10 240 | 24 576 |
Шина ввода/вывода | PCI Express 3.0×16 | PCI Express 3.0×16 | PCI Express 3.0×16 | PCI Express 3.0×16 | PCI Express 4.0×16 | PCI Express 4.0×16 |
Производительность | ||||||
Пиковая производительность FP32, GFLOPS (из расчета максимальной указанной частоты) | 10 069/10 598 (Founders Edition) | 11 151 | 13 448/14 231 (Founders Edition) | 16 312 | 29 768 | 35 581 |
Производительность FP64/FP32 | 1/32 | 1/32 | 1/32 | 1/32 | 1/32 | 1/32 |
Производительность FP16/FP32 | 2/1 | 2/1 | 2/1 | 2/1 | 1/1 | 1/1 |
Пропускная способность оперативной памяти, Гбайт/с | 448 | 496 | 616 | 672 | 760 | 936 |
Вывод изображения | ||||||
Интерфейсы вывода изображения | DisplayPort 1.4a, HDMI 2.0b | DL DVI-D, DisplayPort 1.4a, HDMI 2.0b | DisplayPort 1.4a, HDMI 2.0b | DisplayPort 1.4a, HDMI 2.0b | DisplayPort 1.4a, HDMI 2.1 | DisplayPort 1.4a, HDMI 2.1 |
TBP/TDP, Вт | 215/225 (Founders Edition) | 250 | 250/260 (Founders Edition) | 280 | 320 | 350 |
Розничная цена (США, без налога), $ | 699 (рекоменд.)/ 799 (Founders Edition) — в момент выхода | 699 (рекоменд. в момент выхода) | 999 (рекоменд.)/ 1 199 (Founders Edition) — в момент выхода | 2 499 | 699 (рекоменд. в момент выхода) | 1499 (рекоменд. в момент выхода) |
Розничная цена (Россия), руб. | 63 990 (Founders Edition в момент выхода) | 56 990 (рекоменд. в момент выхода) | 95 990 (Founders Edition в момент выхода) | 221 990 (в момент выхода) | НД | НД |
У «зеленых» продуктов нового поколения есть еще один спорный аспект. 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, которая используется в составе GeForce RTX 3090, представлена семью блоками GPC (Graphics Processing Cluster, крупнейшими масштабируемыми компонентами массива) — против шести на кристалле TU102. Каждый из них по-прежнему содержит растеризатор, выполняющий проекцию геометрии в пикселы, и 12 потоковых мультипроцессоров (Streaming Multiprocessor), вот только набор 32-битных CUDA-ядер, обрабатывающих вещественные числа, внутри SM был удвоен. В результате формула главных исполнительных блоков GA102 включает 10 496 FP32-совместимых CUDA-ядра и 336 блоков наложения текстур.
Другая особенность GA102, заметная с высоты птичьего полета, состоит в том, что блоки операций растеризации (ROP) больше не привязаны к контроллерам оперативной памяти и теперь являются компонентом GPC — единиц, из которых компания собирает процессоры различной мощности под тот или иной транзисторный и долларовый бюджет. В последнем замечании и кроется причина миграции ROP под одну крышу с потоковыми мультипроцессорами (SM). Инженеры NVIDIA стремятся выровнять пропускную способность начальной и конечной стадий конвейера рендеринга, а именно пиксельный филлрейт ROP и скорость работы растеризаторов. В каждом GPC архитектуры Ampere содержится 16 ROP, и таким образом, общее число блоков операций растеризации GA102 составляет 112 штук.
Громадный массив исполнительных блоков GA102 питает данными 384-битная шина оперативной памяти с поддержкой нового типа микросхем GDDR6X, который мы тоже обсудим с свое время. А вот объем кеша второго уровня, как и в TU102, равен 6 Мбайт. Наконец, для связи с внешним миром используется шина PCI Express Gen 4 и интерфейс NVLink — активный в GeForce RTX 3090, но отключенный в RTX 3080. Хотя общая пропускная способность мостика осталась практически такой же, как у потребительских ускорителях архитектуры Turing (112,5 Гбайт/с в обе стороны против 100 Гбайт/с ранее), в действительности это другой интерфейс, состоящий из четырех линий скоростью 28,13 Гбайт/с вместо двух широких на 50 Гбайт/с.
Процессор состоит ни много ни мало из 28 млрд. транзисторов и является самым крупным ASIC на сегодняшний день после самого GA100 (54 млрд). Для сравнения, прямой предшественник новинки, старший «Тьюринг» TU102, содержит уже не столь впечатляющие 18,6 млрд. компонентов. Настолько резкий прирост транзисторного бюджета стал возможен благодаря переходу на следующую технологическую норму после 12-нм процесса TSMC, которым NVIDIA пользовалась для производства «Тьюрингов». Исполнителем заказа на фотолитографию GA102 стал Samsung, а номинальный размер транзистора составляет 8 нм. Точно также, как 12-нанометровая технология Turing в официальных документах NVIDIA фигурирует под названием 12 нм FFN (FinFet NVIDIA), самсунговский узел 8 нм FN был неким образом оптимизирован под чипы Ampere. Об особенностях этого конвейера нам вообще мало что известно в силу того, что он используется далеко не так активно, как близкий по номиналу 7 нм TSMC. Немедленно возникает вопрос, почему NVIDIA на этот раз выбрала Samsung, а не TSMC, но дело скорее всего не в технических достоинствах 8 нм FN, а в цене производства на мощностях TSMC, которые сейчас загружены другими клиентами первой величины — такими как AMD и Apple, — да и сама NVIDIA заказывает серверные процессоры GA100 там же. Благо, NVIDIA недавно объявила о том, что продукты для датацентров теперь составляют большую часть ее бизнеса, давно выделила соответствующие чипы в отдельную ветку эволюции и не нуждается в том, чтобы удешевлять производство высокомаржинальных продуктов за счет накрутки объема заказов у того же подрядчика геймерскими ускорителями.
Как бы то ни было, 8 нм FN нельзя рассматривать как техпроцесс второго сорта. Переход от узла 16 нм, на котором построен кремний Pascal, представляет собой один полный шаг технологической нормы, в то время как 12 нм был промежуточным этапом, что отражалось на размере чипов и потребляемой мощности. TU102 оказался монстром площадью 754 мм2, GA102, напротив, при более чем двукратном умножении главных вычислительных единиц, оценивается вполне умеренным числом около 627 мм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) и в позапрошлом поколении архитектуры (Pascal) пришли к тому, что секция SM содержит 16 шейдерных ALU — 32-битных CUDA-ядер, оперирующих форматом данных FP32. Затем, в процессорах Volta и Turing, отделили пути данных для операций над целыми числами внутри CUDA-ядер от арифметики с плавающей запятой — таким образом количество независимых ALU, которые могут быть загружены одновременно, эффективно удвоилось.
Внутри секции SM находится собственный планировщик, который за такт отправляет на исполнение одну инструкцию warp«a — группы из 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 претендует масса других компонентов:
- Помимо собственно тензорной математики на тензорных блоках Ampere выполняет операции с вещественными числами половинной точности (FP16). Здесь ничего не изменилось: инструкция warp«а над операндами FP16 по-прежнему выполняется за один такт — вдвое быстрее стандартной точности.
- В каждой секции SM присутствует блок из четырех ALU специального назначения (SFU), предназначенных для выполнения тригонометрических операций. Одну инструкцию warp«а SFU выполняет за восемь тактов, но занимает только один такт планировщика для инициализации.
- Также есть скалярные ALU, но в каком количестве и с таким темпом исполнения инструкций, нам в точности не известно.
- Пара CUDA-ядер двойной разрядности (FP64) для совместимости с кодом, содержащим высокоточные расчеты.
Если не считать скалярных 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, обходит последнее ограничение за счет большого числа портов планировщика). Все, что нам было нужно, это оценить быстродействие при работе с тем или иным форматом данных — FP32, INT32, FP16, а также в тригонометрических операциях. С учетом темпа исполнения медленных инструкций мы взяли за временной интервал пропускной способности восемь тактов GPU — таким образом в таблице остается меньше дробных чисел.
Compute Unit (GCN 5 поколения) | Compute Unit (RDNA) | Streaming Multiprocessor (Turing) | Streaming Multiprocessor (Ampere) | |
---|---|---|---|---|
Исполнительные блоки |
4 × векторных SIMD16; 4 × векторных SIMD4 SFU; 1 × скалярное ALU; 4 × TMU (блока фильтрации текстур). |
2 × векторных SIMD32; 2 × векторных SIMD8 (SFU); 2 × скалярных ALU; 4 × TMU (блока фильтрации текстур). |
4 × секции 16 ALU (FP32); 4 × секции 16 ALU (INT32); 4 × секции 4 SFU; ? × скалярных ALU; 4 × секции 2 тензорных ядрер (или 4 × секции 32 FP16 ALU); 2 × ALU (FP64); 1 × RT-ядро; 4 × TMU (блока фильтрации текстур). |
8 × секции 16 ALU (FP32); 4 × секции 16 ALU (INT32); 4 × секции 4 SFU; ? × скалярных ALU; 4 × секции 2 тензорных ядрер (или 4 × секции 32 FP16 ALU); 2 × ALU (FP64); 1 × RT-ядро; 4 × TMU (блока фильтрации текстур). |
Пропускная способность, инструкций за 8 тактов |
8 × FP32 (64 рабочие единицы) + 8 × скалярных ИЛИ 8 × FP16 (2 × 64 рабочие единицы) + 8 × скалярных ИЛИ 4 × ½ SF FP32 (64 рабочих единиц) + 8 × скалярных |
16 × FP32 (32 рабочие единицы) + 16 × скалярных ИЛИ 16 × FP16 (2 × 32 рабочие единицы) + 16 × скалярных ИЛИ 12 × FP32 (32 рабочие единицы) + 4 × SF FP32 (32 рабочие единицы) + 16 × скалярных |
16 × FP32 (32 рабочие единицы) + 16 × INT32 (32 рабочие единицы) ИЛИ 32 × FP16 (32 рабочие единицы) ИЛИ 4 × (3 + ½) FP32 (32 рабочие единицы) + 4 × (3 + ½) INT32 (32 рабочие единицы) + 4 × SF FP32 (32 рабочие единицы) |
32 × FP32 (32 рабочие единицы) ИЛИ 16 × FP32 (32 рабочие единицы) + 16 × INT32 (32 рабочие единицы) ИЛИ 32 × FP16 (32 рабочие единицы) ИЛИ 8 × (3 + ½) FP32 (32 рабочие единицы) + 4 × SF FP32 (32 рабочие единицы) ИЛИ 4 × (3 + ½) FP32 (32 рабочие единицы) + 4 × (3 + ½) INT32 (32 рабочие единицы) + 4 × SF FP32 (32 рабочие единицы) |
8 × FP32 (64 рабочие единицы) + 16 × скалярных ИЛИ 8 × FP16 (2 × 64 рабочие единицы) + 16 × скалярных ИЛИ 6 × FP32 (64 рабочие единицы) + 2 × SF FP32 (64 рабочие единицы) + 16 × скалярных |
||||
Пропускная способность, операций за 8 тактов |
512 × FP32/INT32 + 8 скалярных ИЛИ 1024 × FP16/INT16 + 8 скалярных ИЛИ 128 × SF FP32 + 8 скалярных |
512 × FP32/INT32 + 16 скалярных ИЛИ 1024 × FP16/INT16 + 16 скалярных ИЛИ 384 × FP32/INT32 + 128 × SF FP32 + 16 × скалярных |
512 × FP32 + 512 × INT32 ИЛИ 1024 × FP16 ИЛИ 448 × FP32 + 448 × INT32 + 128 × SF FP32 |
1024 × FP32 ИЛИ 512 × FP32 + 512 × INT32 ИЛИ 1024 × FP16 ИЛИ 892 × FP32 + 128 × SF FP32 ИЛИ 448 × FP32 + 448 × INT32 + 128 × SF FP32 |
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 теперь можно обнаружить информацию о положении геометрического примитива в кадре не только в виде неизменных координат, но еще и в виде вектора на протяжении определенной временной шкалы. Таким образом, поиск полигона в BVH отвечает на вопрос, где он находится в заданный момент времени. Далее для того, чтобы получить размытие в движении, каждый из множества лучей, отслеживаемых RT-ядром в пределах одного кадра, несколько раз пересекает поверхностью полигона в интерполированных координатах, соответствующих меняющемуся положению вершин вдоль заданного вектора.
Благодаря специализированному железу трассированный motion blur на чипах Ampere выполняется в восемь раз быстрее по сравнению с теоретической скоростью на Turing. Также заметим, что движение полигона не обязано быть линейным и может, к примеру, быть и круговым, как у лопастей пропеллера. В любом случае результатом становится более качественный эффект размытия по сравнению с иными, порой более изощренными, но не столь элегантными методами. Технология уже поддерживается пакетами оффлайновой трассировки лучей, совместимыми с интерфейсом NVIDIA OptiX 7.0 — такими, как Blender 2.90, Chaos V-Ray 5.0, Autodesk Arnold и Redshift Renderer 3. А вот в компьютерных играх она появится не так скоро: как ни крути, она многократно увеличивает нагрузку не только на RT-ядра, но и на массив шейдерн
Полный текст статьи читайте на 3DNews