Во время презентации NVIDIA на мероприятии SIGGRAPH 2018 исполнительный директор компании Дженсен Хуанг (Jensen Huang) официально представил долгожданную архитектуру GPU Turing, о которой ходило так много слухов. Следующее поколение графических процессоров будет включать в себя ряд новых функций и появится уже в этом году. Хотя в центре внимания пока были решения Quadro RTX для рынка профессиональной визуализации (ProViz), новые GPU будут применяться в других грядущих продуктах NVIDIA. Итак, что же приносит на рынок Turing?
Гибридный рендеринг и нейронные сети: ядра RT и Tensor
Знаковой функцией, по крайней мере, для рынка ProViz, является так называемый гибридный рендеринг, сочетающий в себе методы трассировки лучей и традиционное растрирование. Результатом должна стать возможность добиваться в реальном времени качества графики, близкого к полноценной трассировке лучей.
Новый анонс, по сути, является продолжением мартовского заявления на Game Developers Conference, когда Microsoft рассказала о стандарте DirectX Raytracing (DXR), а NVIDIA о собственной реализации этой технологии — GameWorks RTX. Тогда партнёры NVIDIA показали впечатляющие демонстрации с применением RTX: это и проект PICA PICA от команды EA SEED, и юмористическая зарисовка по мотивам VIII эпизода «Звёздных войн» на движке Unreal Engine, и демонстрация студии Remedy на базе движка Northlight, и запись реальной игровой сцены из грядущей Metro Exodus. Также на канале NVIDIA появился специальный ролик, в котором директор по развитию продуктов Фрэнк Делиз (Frank DeLise) рассказал о принципе работы RTX. Все они демонстрировались на ускорителях Titan V (архитектура Volta).
Большим изменением в Turing является ещё большая по сравнению с Volta аппаратная ориентированность на трассировку лучей. Архитектура впервые получила новые RT-ядра для трассировки лучей. Эти процессорные блоки ускоряют проверку пересечения лучей и треугольников и манипуляции с иерархиями ограничивающих объёмов (Bounding Volume Hierarchies, BHV) — последние является очень популярной структурой данных для хранения объектов при трассировке лучей. RT-ядра ускоряют расчёты движения света и звука в 3D-среде до 10 миллиардов лучей в секунду (Quadro RXT 8000 и 6000), что в 25 раз превосходит показатели старого «неускоренного» поколения Pascal.
Архитектура Turing также включает тензорные ядра, представленные впервые в архитектуре Volta, и развивают их. Эти блоки с производительностью до 500 трлн тензорных операций в секунду являются важным аспектом нескольких инициатив NVIDIA. Наряду с ускорением трассировки лучей, они также позволяют уменьшать количество лучей, требуемых в сцене, с помощью шумоподавления на основе ИИ, и очищать изображение. Конечно, это не единственное предназначение тензорных ядер — NVIDIA предлагает использовать эти блоки в набирающих популярность вычислениях в области ИИ, машинного обучения и нейронных сетей.
Новшеством Turing является поддержка более широкого диапазона точности, что позволяет кратно ускорить некоторые рабочие нагрузки, не предъявляющие высоких требований к точности. Так, помимо режима половинной точности вычислений с плавающей запятой FP16, компания реализовала поддержку целочисленных инструкций INT8 и даже INT4. Это соответственно в 2 и 4 раза быстрее, чем FP16. И, хотя точность нейронной сети уменьшается, при использовании INT4 можно многократно ускорить вычисления, что в некоторых случаях крайне полезно, особенно в процессах логических умозаключений ИИ.
Возвращаясь к гибридному рендерингу в целом, интересно отметить, что, несмотря на ускорение отдельных задач в 20 и более раз, обещания NVIDIA по приросту конечной производительности не столь радикальны. Компания заявляет, что новые карты могут моделировать физический мир в 6 раз быстрее, чем с помощью GPU предыдущего поколения Pascal (впрочем, какие именно чипы сравниваются — не ясно). Время покажет, насколько реалистична эта оценка, но очевидно даже с ядрами RT трассировка лучей в целом по-прежнему остаётся довольно ресурсоёмкой задачей, с трудом подходящей для игр.
Между тем, чтобы лучше использовать тензорные ядра не только в задачах трассировки лучей и специального ПО для глубинного обучения, компания представит новые инструменты для разработчиков — NVIDIA NGX, которые позволят интегрировать нейронные сети в задачи обработки изображений и видео (шумоподавление, масштабирование и ретайминг). В том числе появится новый метод полноэкранного сглаживания на основе машинного обучения Deep Learning Anti-Aliasing (DLAA).
Новый потоковый мультипроцессор
Наряду с блоками RT и тензорными ядрами, архитектура Turing приносит новый потоковый мультипроцессор (SM), который по аналогии с Volta добавляет целочисленный исполнительный блок параллельно к каналу данных с плавающей точкой, и новую унифицированную архитектуру кеша с удвоенной по сравнению с предыдущим поколением полосой пропускания. Преимуществом является ускорение создания адресов и производительность в задачах совмещённого умножения-сложения с однократным округлением (Fused Multiply Add, FMA), хотя наверняка новый инструмент будет использоваться во многих задачах.
В сочетании с новыми графическими технологиями, такими, как Variable Rate Shading, потоковый мультипроцессор Turing достигает высочайшей производительности на ядро. Подобные методы ускорения вычислений весьма важны в условиях, когда так называемый Закон Мура теряет силу и новые технологические процессы осваиваются всё тяжелее.
Поддержка GDDR6
Поскольку память, используемая видеокартами, разрабатывается сторонними компаниями, здесь нет больших секретов. JEDEC и три его крупных участника в лице Samsung, SK Hynix и Micron позиционируют стандарт GDDR6 в качестве преемника GDDR5 и GDDR5X, и NVIDIA подтвердила, что чипы Turing будут его поддерживать. В зависимости от производителя, GDDR6 первого поколения, как правило, позволяет развивать до 16 Гбит/с на единицу полосы пропускания, что вдвое больше, чем у GDDR5 и на 40 %, чем у GDDR5X в картах NVIDIA (ускорители Quadro будут использовать модули Samsung на 14 Гбит/с).
По сравнению с GDDR5X новый стандарт не является слишком большим шагом вперёд, но всё же должен стать основным типом памяти для индустрии GPU за исключением решений самого высокого класса, использующих HBM2. Принципиальные изменения GDDR6 включают более низкие рабочие напряжения (1,35 В), и внутренне память теперь разделена на два канала в каждом чипе. Для стандартного 32-битного чипа это означает пару 16-битных каналов памяти — на 256-битной карте таких каналов в общей сложности будет 16. Хотя это увеличивает количество каналов, такое новшество не помешает графическим ускорителям, которые являются высокопараллельными устройствами.
NVLink, VirtualLink и поддержка 8K HEVC
NVIDIA также вкратце подтвердила некоторые функции ввода-вывода, которые будут поддерживаться в архитектуре Turing. NVLink будет присутствовать, по крайней мере, в некоторых продуктах, — в частности, NVIDIA использует её для всех трёх своих новых карт Quadro RTX. Эти продукты предлагают двойные соединения с общей пропускной способностью до 100 Гбайт/с. Присутствие NVLink не означает, что интерфейс будет использоваться в потребительских ускорителях для SLI-конфигураций.
Между тем, для игроков и пользователей ProViz реализованы и новшества на фронте виртуальной реальности — а именно поддержка VirtualLink. Альтернативный режим USB Type-C был анонсирован в прошлом месяце: он поддерживает передачу энергии на уровне 15+ Вт, данных 10 Гбит/с по стандарту USB 3.1 и 4 полосы видеоизображения DisplayPort HBR3 по одному кабелю. Другими словами, это DisplayPort 1.4 с дополнительной передачей данных и питания, что позволяет видеокарте напрямую управлять VR-гарнитурой. Стандарт поддерживается NVIDIA, AMD, Oculus, Valve и Microsoft, а продукты Quadro станут первыми с поддержкой VirtualLink.
Наконец, хотя NVIDIA только кратко коснулась темы, она всё же сообщила, что в Turing был обновлён блок обработки NVENC. Последняя версия NVENC, в частности, приносит поддержку кодирования HEKC 8K на лету. При этом NVIDIA также улучшила качество своего блока кодирования, что позволило достичь того же уровня, что раньше, со снижением битрейта на 25 %.
В общем, осталось дождаться анонса потребительских продуктов GeForce. Согласно последним слухам, флагманские решения этого семейства будут использовать марку RTX вместо привычной GTX, что указывает на поддержку трассировки лучей. Также ускорители могут получить довольно нестандартные объёмы видеопамяти. Так ли это — уже вскоре должно стать ясно, ведь анонс ожидается в текущем месяце.