Несмотря на ряд утечек, подготовка к релизу видеокарт GeForce RTX 3000 проходила в условиях строгой секретности. «Зелёный» чипмейкер не спешил делиться подробностями о графических ядрах Ampere и во время презентации новинок, заставив энтузиастов гадать о внутренней структуре 8-нм GPU. Исправить это решил Тони Тамаси (Tony Tamasi), старший вице-президент по контенту и технологиям Nvidia.

Nvidia Ampere

На страницах Reddit господин Тамаси опубликовал схему потокового мультипроцессора (Streaming Multiprocessor, SM), используемого в игровых GPU на архитектуре Ampere. Если сравнивать SM в составе GA100 для ускорителя вычислений Nvidia A100 и видеоядер для карт GeForce RTX 3000, то налицо отсутствие блоков FP64. Их место заняли дополнительные блоки FP32.

Nvidia Ampere
Схема потокового мультипроцессора в Nvidia GA100

Как и прежде, один SM разбит на четыре массива обработки данных. В графических чипах Nvidia Turing каждый мультипроцессорный блок насчитывал 64 потоковых процессора или ядра CUDA, способных одновременно выполнять целочисленные операции (INT32) и операции с плавающей запятой (FP32).

Теперь же чипмейкер решил использовать в каждом массиве два тракта данных. Первый состоит из 16 ядер FP32, а второй — из 16 ядер FP32 и 16 ядер INT32. В результате этого каждый массив способен обрабатывать либо 32 операции FP32, либо одновременно 16 FP32 и 16 INT32. В общей сложности один блок SM может выполнить 128 операций FP32 за такт, что вдвое превосходит показатели Turing, или 64 FP32 и 64 операции INT32 за такт.

Nvidia AmpereNvidia Ampere
Схема потокового мультипроцессора Turing (слева) и Ampere в GeForce RTX

Удвоение скорости обработки FP32 повышает быстродействие в ряде распространённых графических и вычислительных операций и алгоритмов. Современные шейдерные нагрузки обычно содержат смесь арифметических инструкций, таких как FFMA, сложение с плавающей запятой (FADD) или умножение с плавающей запятой (FMUL), в сочетании с более простыми инструкциями, такими как добавление целых чисел для адресации и выборки данных, сравнение с плавающей запятой или min/max для результатов обработки и т. д. Прирост быстродействия будет варьироваться на уровне шейдера и приложения в зависимости от набора инструкций. Шейдеры с шумоподавлением трассировки лучей являются хорошими примерами, которые могут значительно выиграть от удвоения пропускной способности FP32.

Двукратный рост пропускной способности математических расчётов потребовало удвоения поддерживающих ее путей данных, поэтому Ampere SM также удвоил общую память и производительность L1-кэша для SM: 128 байт/такт в Ampere против 64 байтов/такт в Turing. Общая пропускная способность L1 для GeForce RTX 3080 составляет 219 ГБ/с против 116 ГБ/с у GeForce RTX 2080 Super.

Более подробная информация об архитектурных особенностях графических процессоров Nvidia Ampere для игровых видеокарт будет опубликована в ближайшие дни.