Версия для печати

Все мы с нетерпением ждали новых анонсов от компании NVIDIA. И они произошли на виртуальной презентации, которая прошла 14 мая вместо отмененного выступления на GPU Technology Conference 2020. Глава компании, Дженсен Хуанг, анонсировал новую архитектуру Ampere и первое устройство на ее основе — ускоритель вычислений NVIDIA A100 (Tesla A100). Также были представлены новые инициативы в области высокопроизводительных HPC-систем, искусственного интеллекта и робототехники. Все это напрямую не касается игровых видеокарт, но NVIDIA A100 дает старт новому поколению GPU, и к концу года мы точно увидим GeForce следующего поколения. Поэтому интересно оценить изменения и преимущества нового графического чипа, который задает направление для развития игровых GPU.

Начнем с того, что NVIDIA A100 — это строго вычислительное устройство, которое будет применяться в серверных системах обработки данных и выпускается в соответствующем форм-факторе SXM4. В будущем вероятно будут представлены варианты под PCI-E, что позволит устанавливать их в обычные рабочие станции и ПК.

В последние годы наметился бурный рост облачный технологий с ускорением на GPU. Это глубокое обучение систем искусственного интеллекта, анализ данных, научные вычисления, геномика, видеоаналитика и услуги 5G, рендеринг графики, облачные игры и многое другое. Графические ускорители NVIDIA являются самыми передовыми устройствами для ускорения операций связанных с ИИ. Выпуск Tesla V100 в 2017 году стал новой вехой в развитии компании, позволив закрепиться в области устройств для центров обработки данных. При этом Tesla V100 так и осталась единственным устройством на процессоре Volta (не считая ограниченной серии TITAN V), поскольку более поздние игровые решения использовали оптимизированную архитектуру Turing. В случае Ampere уже заявлено, что новая архитектура будет актуальна и для игровых видеокарт, но там безусловно будут свои упрощения, оптимизации и обрезание лишних функций. Пока NVIDIA не раскрывает все архитектурные нюансы, отмечая основные особенности и те изменения, что важны непосредственно для вычислений.

В дизайне нового GPU компания NVIDIA отмечает пять ключевых моментов:

  • Архитектура NVIDIA Ampere
  • Тензорные ядра третьего поколения TF32
  • Технология виртуализации Multi-instance GPU (MIG)
  • Шина NVLink третьего поколения
  • технология Structural Sparsity для удвоения производительности

Основой нового Tesla A100 является графический процессор GA100. Это первый 7-нм GPU от NVIDIA, выпущенный на заводах TSMC. И это крупнейший 7-нм процессор в мире, насчитывающий 54 миллиарда транзисторов, что в 2,5 раз больше количества транзисторов в GPU GV100 (Tesla V100). Площадь GA100 достигает 826 мм², что минимально отличается от 815 мм² у GV100. Количество ядер CUDA выросло до 6912 (у Volta было 5120). Ключевой особенностью старших GPU в ускорителях Tesla является использование стеков памяти HBM, которые расположены на одной подложке с графическим чипом. Используется уже шесть модулей памяти HBM2 , что позволяет обмениваться данными по общей шине разрядностью 5120 бит, а объем памяти достиг внушительных 40 ГБ! Для сравнения: в V100 32 ГБ видеопамяти с шиной 4096 бит. При частоте модулей памяти 2,4 ГГц пропускная способность памяти A100 достигает внушительного значения в 1,6 Тбайт/с вместо 900 Гбайт/с у V100.

Процессор GA100 состоит из 8 кластеров GPC, каждый из которых содержит 8 TPC по 2 SM. Итого получается 128 мультипроцессоров SM (у Volta GV100 их было 84). Такой гигантский GPU оперирует 8192 CUDA-ядрами FP32 и 512 тензорными ядрами для операций глубокого обучения. Однако для A100 заявлено 7 активных кластеров и 6912 ядер CUDA, плюс 432 тензорных ядра. То есть представленный ускоритель получил урезанный процессор, где деактивирован один кластер и несколько дополнительных SM. Это может быть связано с необходимостью повысить количество годных кристаллов. И нельзя исключать, что по мере совершенствования технологии производства когда-нибудь выйдет более мощный ускоритель с полной конфигурацией GPU GA100. У процессора 12 контроллеров памяти, которые обеспечивают работу с 6-ю модулями памяти HBM2. Объем кэш-памяти L2 достиг внушительных 40 МБ. Разделение памяти на два блока позволяет уменьшить задержки при обращении к L2, каждый раздел L2 кэширует данные для доступа к памяти от SM в GPC. Новая структура L2 обеспечивает рост пропускной способности в 2,3 раза при работе программной модели CUDA. А высокий объем кэша востребован для HPC-вычислений и ИИ. Поскольку для Tesla A100 заявлен объем памяти 40 ГБ, у нас работает 5 модулей из 6, что вполне логично. Управляет кластерами новый движок распределения вычислений MIG. Есть поддержка интерфейса PCI Espress 4.0, но Tesla A100 работают через более быстрый интерфейс NVLink третьего поколения. Эта версия NVLink обеспечивает скорость передачи данных до 50 Гбит/с в двух направлениях на один канал, и до 12 соединений с общей пропускной способностью 600 Гбайт/с.

 

Структура мультипроцессоров SM напоминает аналогичные блоки Turing, но с некоторыми дополнениями. Это 64 вычислительных ядра, которые одновременно выполняют операции INT32 и FP32. У Volta/Turing было по 8 тензорных ядер на SM, у Ampere это 4 усовершенствованных тензорных ядра. Объем кеш-памяти L1 достиг 196 КБ (у Turing 96 КБ, у Volta 128 КБ). Это комбинированный кэш данных и функций, что упрощает программный доступ. Также мы видим у SM 4 текстурных блока, и полноценный GA100 мог бы оперировать 512 блоками TMU. Нет блоков RT, которые вероятно вернутся в игровых GPU Ampere, ориентированых непосредственно на графику.

В итоге имеем процессор, значительно нарастивший количество вычислительных блоков и с увеличенным объемом кэша. Серьезно возросла пропускная способность памяти. Рабочая частота GPU была немного снижена — заявлен Boost Clock 1410 МГц вместо 1530 МГц у Volta. Такой прогресс не обошелся без роста энергопотребления. Для A100 заявлен TDP 400 Вт, что выше TDP прошлых продуктов семейства Tesla.

 

Tesla A100

Tesla V100

Tesla P100

Архитектура

Ampere

Volta

Pascal

GPU

GA100

TU104

GP102

Количество транзисторов, млрд. шт

54,2

21,1

15,3

Техпроцесс, нм

7 nm N7

12 nm FFN

16 nm FinFET+

Площадь ядра, кв. мм

862

815

620

SM

108

80

56

Количество потоковых процессоров CUDA

6912

5120

3584

Количество тензорных ядер

432

640

-

Количество текстурных блоков TMU

432

320

224

Частота ядра Boost Clock, МГц

1410

1530

1480

Кэш L2, МБ

40

6

4

Шина памяти, бит

5120

4096

4096

Тип памяти

HBM2

HBM2

HBM2

Частота памяти, МГц

2430

(1215 DDR)

1756 (878 DDR)

1406 (703 DDR)

ПСП памяти

720 GB/sec

900 GB/sec

1,6 TB/sec

Объём памяти, ГБ

40

32/16

16

NVLink

 

 

 

Интерфейс

SXM4

SXM2/PCI-E 3.0

SXM

Мощность TDP, Вт

400

300

300

Производительность блоков SM повышена за счет новых функций и инструкций. Важные изменения произошли в тензорных ядрах. Tensor Core третьего поколения поддерживают новые типы вычислений, позволяя ускорить операции в задачах глубокого обучения. Тензорные ядра обеспечивают ускорение вычислений TF32, IEEE FP64 для HPC и выполнение специальных инструкций BF16 с производительностью FP16. Сейчас стандартная математика в сфере ИИ предполагает вычисления стандарта FP32 через TensorFloat-32 (TF32). Ampere ускоряет тензорную математику с TF32 (точность FP16), поддерживая входные и выходные данные стандарта FP32.

Поддерживается функция автоматической смешанной точности Automatic Mixed Precision (AMP) FP16 для обучения ИИ. И для максимальной скорости тренировки нейросети используются вычисления смешанной точности FP16 или BF16. Это обеспечивает увеличение пропускной способности в 2 раза в сравнении с TF32, в 16 раз в сравнению с FP32 на A100 и до 20 раз в сравнению с FP32 на V100.

Поддержка технологии Sparsity позволяет использовать специальное структурированное распределение матричных данных в нейронных сетях для удвоения пропускной способности. Это специальный метод удаления менее значимых весов сети без значимой потери в общей точности вывода.

Приложения научной и исследовательской сферы часто используют вычисления двойной точности FP64. Специально для HPC-вычислений введены новые тензорные операции, ускоряющие FP64. Например, новая команда умножения-сложения матрицы двойной точности на GA100 заменяет восемь инструкций DFMA на GV100. Тензорные ядра используются наряду со стандартными CUDA-ядрами для ускорения алгоритмов ИИ, HPC-вычислений и других задач. И новый процессор Ampere быстрее обрабатывает математику FP64 по сравнению с другими GPU при меньшем объемом работы. Преимущество относительно Volta достигает 2,5-5 раз, а при обработке INT8 вместе с технологией Sparsity преимущество до 20 раз.

В итоге мы имеем ситуацию, когда при прямом сравнении вычислительной мощности Tesla A100 и Tesla V100 разница не всегда внушительная. Это 19,5 Терафлопс против 15,7 Терафлопс в FP32 и 9,7 Терафлопс против 7,8 Терафлопс в FP64. Но обновленные тензорные ядра и новые методы смешанных вычислений позволяют достичь кардинального роста быстродействия в операциях глубокого обучения и некоторых других задачах.

 

Tesla A100

Tesla V100

Tesla P100

FP16 TFLOPS

78

31,4

21,2

BF16 TFLOPS

39

-

-

FP32 TFLOPS

19,5

15,7

10,6

FP64 TFLOPS

9,7

7,8

5,3

INT32 TOPS

19,5

15,7

-

FP16 Tensor TFLOPS + FP16

312/624*

-

-

FP16 Tensor TFLOPS + FP32

312/624*

-

-

BF16 Tensor TFLOPS + FP32

312/624*

-

-

TF32 Tensor TFLOPS

156/312*

-

-

FP64 Tensor TFLOPS

19,5

-

-

INT8 Tensor TOPS

624/1248*

-

-

INT4 Tensor TOPS

1248/2496*

-

-

Наглядной иллюстрацией к этому является сравнение NVIDIA A100 с прошлыми моделями семейства Tesla в задачах тренировки поискового алгоритма Google BERT и сценариях инференса.

Также NVIDIA приводит сравнение A100 и V100 в ряде специализированных приложений из сферы HPC-вычислений. И тут мы видим преимущество нового ускорителя относительно Volta от полутора до двух раз.

NVIDIA A100 предлагает новый метод распределении ресурсов для тех задач, что не требуют полной загрузки GPU. Технология виртуализации MIG (Multi-Instance GPU) позволяет разделить A100 на 7 виртуальных процессоров (по количеству активных кластеров). Если на Volta в случае выполнения нескольких приложений одно из них может мешать другим, используя больше ресурсов, то у Ampere будет семь независимых виртуальных процессоров с независимыми SM и своей областью памяти.

 

MIG позволяет организовать 7 виртуальных процессоров с изоляцией отказов для каждого клиент, и процессы не влияют друг на друга. Это реализуется на базе стандартной программной платформы CUDA, не требуя более сложных программных методов. А для более надежной работы MIG реализована новая технология определения ошибок и отказов, их изоляции и локализации.

Наряду с аппаратными улучшениями важную роль играет программная оптимизация. Для приложений с GPU-ускорением используется программная платформа параллельных вычислений CUDA. Вместе с новой архитектурой представлена обновленная программная платформа CUDA 11, которая позволяет использовать новые программные возможности тензорных ядер третьего поколения, Sparsity, MIG, новые особенности кэша L2 и прочие аппаратные особенности NVIDIA Ampere.

NVIDIA сразу представила готовые решения для центров обработки данных на базе новых ускорителей. Это вычислительные системы NVIDIA DGX A100 с восемью NVIDIA A100, которые обеспечивают производительность до 5 petaFLOPS в задачах ИИ. Передовая архитектура Ampere обеспечивают максимальную производительность такой системы. Построена она на базе платформы с двумя 64-ядерными процессорами AMD Rome, 1 ТБ памяти, накопителя SSD NVMe 15 ТБ, используется девять быстрых сетевых контроллеров Mellanox ConnectX-6 200 Gb/s.

Для работы нескольких ускорителей A100 существует две аппаратные платформы:

  • HGX A100 8-GPU соединенные через NVSwitch
  • HGX A100 4-GPU соединенные через NVLink

 

NVIDIA DGX A100 используют плату HGX A100 с узлами NVSwitch. Каждый процессор A100 имеет 12 портов NVLink, а каждый узел NVSwitch является переключателем, который связан со всеми восемью ускорителями A100. Такое соединение образует сетевую топологию, которая позволяет любому A100 взаимодействовать с другим A100 на плате с максимальной пропускной способностью шины NVLink 600 Гбайт/с

Структура серверной платформы с 8 ускорителями A100 показана на нижней блок-схеме.

На плате GX A100 4-GPU соединение каждого A100 с другим A100 организована сразу через линии NVLink.

Системы NVIDIA DGX A100 будут задействованы в сервисах Alibaba Cloud, AWS, Baidu Cloud, Google Cloud, Microsoft Azure, Oracle и Tencent Cloud. Аппаратные серверные решения на базе A100 вскоре представят Atos, Dell Technologies, Fujitsu, GIGABYTE, H3C, HPE, Inspur, Lenovo, Quanta/QCT и Supermicro.

Подведем итоги. NVIDIA A100 —передовой ускоритель вычислений, который дает старт архитектуре Ampere. Это специализированное вычислительное устройство, основной сферой применения которого являются высокопроизводительные системы ИИ, что определяет архитектурные особенности и технические параметры данного устройства. При беглом взгляде на первый GPU Ampere можно выделить ключевые особенности, которые сохранятся и в процессорах игрового сегмента. Новая архитектура обладает улучшенными тензорными блоками и сильно прокачана в области смешенных вычислений. Будет очередное наращивание кэш-памяти в блоках SM и общего кэша L2. Топовые игровые Ampere могут сохранить новую структуру L2 для повышения пропускной способности кэша. На глобальном уровне сохранится знакомая кластерная структура и структура мультипроцессорных блоков SM. Но благодаря переходу на 7-нм техпроцесс у GeForce будет больше исполнительных блоков. Повышение рабочих частот если и будет, то у моделей среднего и бюджетного уровня. У A100 не оказалось ядер RT для ускорения операций при просчете трассировки лучей, но это не игровой продукт, поэтому в них необходимости. У старших игровых GPU эти блоки безусловно будут, и вероятно их производительность серьезно подтянут, что в сочетании с должной программной оптимизацией обеспечит серьезный рост производительности именно в трассировке лучей. А более высокая производительность тензорных блоков позволит улучшить алгоритмы DLSS с целью повышения качества картинки и производительности. Мы можем увидеть и новые технологии, завязанные на алгоритмы ИИ, которые не связаны непосредственно с графикой. К примеру, можно вспомнить недавно представленную технологию шумоподавления RTX Voice.