> > > > Новые ускорители Instinct MI300X и Instinct MI300A: AMD атакует NVIDIA

Новые ускорители Instinct MI300X и Instinct MI300A: AMD атакует NVIDIA

Опубликовано:

hardwareluxx news newДо сих пор на рынке ускорителей искусственного интеллекта доминирует NVIDIA, которая при этом зарабатывает очень хорошие деньги. Конечно, конкуренты Intel и AMD не хотят мириться с подобной ситуацией, еще в январе прошлого года AMD представила первые подробности о семействе Instinct MI300. В середине года появились новые детали вместе с дополнительными вариантами процессоров EPYC. Первые партнеры уже тестировали чипы в своих лабораториях, но официальный анонс был отложен на несколько месяцев.

Сегодня, наконец, настал этот момент. AMD рассказала все подробности семейства Instinct MI300, которое обещает достойную конкуренцию в данном сегменте рынка.

Уже известно, что семейство Instinct MI300 будет состоять из двух вариантов ускорителей: Instinct MI300X, в котором будут только чипы на базе архитектуры CDNA-3, и Instinct MI300A, в котором некоторые чиплеты представляют собой CCD с ядрами Zen-4. Instinct MI300A ориентирован на рынок высокопроизводительных вычислений, в то время как Instinct MI300X предназначен именно для ускорения ИИ.

Теперь подробнее рассмотрим отдельные компоненты в виде CCD (CPU Complex Die) с ядрами Zen 4, XCD (Accelerator Complex Die) с архитектурой CDNA-3 и IOD (I/O Die) с необходимыми интерфейсами. Корпусировка очень сложная, ее мы обсудим отдельно, поскольку AMD использует здесь несколько различных технологий.

XCD: Accelerator Complex Die

AMD уже использовала дизайн MCM (Multi Chip Module) с двумя GPU, которые работали совместно, для ускорителей Instinct MI200. Однако это были два независимых кристалла, которые функционировали сами по себе. Для XCD AMD использует новый подход, несколько XCD представляют собой один большой GPU.

Такой подход имеет свои преимущества, поскольку AMD может спроектировать большую часть XCD для фактических вычислений, в то время как другие функции можно передать IOD. Что также позволяет AMD оптимизировать производство XCD соответствующим образом. Каждый XCD состоит из 38 вычислительных блоков (CU), основанных на архитектуре CDNA-3. Физически на кристалле имеются 40 CU, но одновременно активны 38 CU, чтобы лучше контролировать производительность. В распоряжении 38 CU есть 4 МБ кэша L2.

XCD работают с 256 МБ Infinity Cache на IOD. Более подробно мы рассмотрим IOD в следующем разделе статьи. Связь между XCD осуществляется через Infinity Fabric. Физические соединения между XCD и IOD реализованы через 3D Bond Pad (BPV). Кристаллы XCD укладываются слоем поверх IOD, поэтому соединения вертикальные.

Основные различия между архитектурой CDNA 2 и CDNA 3 заключаются в следующем. Для увеличения вычислительной производительности при низкой точности векторные и матричные блоки поддерживают новые форматы данных TF32 и FP8 (E5M2 и E4M3, то есть 2-битная мантисса с 5-битной экспонентой и 3-битная мантисса с 4-битной экспонентой). Также удалось достичь соотношения Ops/Clk/CU 2:4 через Sparsity (сокрытие данных в разреженной матрице). В итоге вычислительная производительность с определенными форматами данных выросла в 3,4 раза по сравнению с архитектурой CDNA 2.

Операции FP32 или INT32 могут выполняться параллельно с FP32 или FP64. Буфер инструкций увеличен и теперь может вмещать до 24 инструкций. Кэш инструкций L1 удвоен, а векторный кэш данных L1 увеличен.

В зависимости от формата данных, вычислительная производительность для наборов векторных и матричных данных от половинной точности (FP8) до двойной точности (FP64) увеличивается в 1,7-6,8 раз.

IOD: I/O Die

В обоих вариантах семейства ускорителей Instinct MI300 используются четыре IOD. Они расположены рядом друг с другом и образуют основу, на которую устанавливаются кристаллы XCD и CCD. Помимо прочего, четыре IOD предлагают 256 МБ кэша Infinity Cache и подключают HBM3 через 128 каналов памяти с суммарной пропускной способностью 17 ТБ/с.

IOD также предлагают 4x 16 линий PCI Express 5.0 или 4x 16 линий Infinity Fabric, с помощью которых IOD соединяются друг с другом, а также с CCD и XCD. Имеется также 4x 16 выделенных каналов Infinity Fabric. Таким образом, четыре IOD обеспечивают в общей сложности 128 конечных точек SerDes (сериализаторов/десериализаторов), которые могут поддерживать PCI Express или Infinity Fabric на уровне протоколов. Новым является то, что IOD семейства Instinct MI300 предлагают некоторые соединения либо как PCI Express, либо как Infinity Fabric.

Еще одна новая функция IOD – возможность их объединения. Ранее у процессоров EPYC и Ryzen использовался только один IOD. AMD разработала новое межсоединение под названием Infinity Fabric AP (Advanced Package) Interconnect для соединения IOD друг с другом.

CCD: CPU Complex Die

CCD, используемые в серии Instinct MI300 с ядрами Zen 4, идентичны тем, что работают в процессорах EPYC и Ryzen. ISA идентична, ядра Zen 4 также поддерживают SMT. Однако есть разница по подключению CCD к IOD через межсоединения.

В процессорах EPYC и Ryzen CCD расположены рядом с IOD и поэтому подключены к нему на планарном уровне. В серии Instinct MI300 CCD установлены на IOD, поэтому здесь используется 3D Bond Pad (BPV), которая в модифицированном виде применяется и для 3D V-Cache на CCD. Поэтому два интерфейса GMI-PHY (Global Memory Interface) здесь не используются.

Еще одним отличием является адресное пространство, в котором CCD взаимодействуют с памятью. Чтобы обеспечить идентичность между CCD и XCD, CCD для ускорителя Instinct MI300A могут обращаться к 48-битному виртуальному и физическому адресному пространству, в то время как процессоры EPYC и Ryzen используют 32-битное адресное пространство. Это влияет на такие функции, как Secure Memory Encryption (SME), а также на некоторые функции виртуализации, которые здесь недоступны.

Также новым для CCD является наличие кэша Infinity Cache, который реализован как кэш последнего уровня и доступен для CCD, а также для XCD и CCD при совместной работе. Как и в GPU с Infinity Cache, он также служит префетчером и снижает число обращений к HBM3, поскольку в нем могут храниться важные и часто используемые данные.

Компоновка и подсистема памяти

Instinct MI300X и Instinct MI300A – два варианта ИИ-ускорителя:

Сравнение Instinct MI300X и Instinct MI300A

Instinct MI300X Instinct MI300A
IODs 4 4
XCDs 8 6
CCDs - 3
Количество транзисторов 153 млрд. 146 млрд.
Потоковые процессоры 19.456 14.592
Ядра Matrix 1.216 912
Ядра Zen 4 - 24
Infinity Cache 256 MB 256 MB
HBM3 192 GB 128 GB
Пропускная способность памяти 5,3 Тбайт/с 5,3 Тбайт/с
TDP до 750 Вт до 760 Вт

Во всех случаях используются четыре IOD. В Instinct MI300X установлены восемь XCD. Однако два XCD могут быть заменены тремя CCD, в результате чего для Instinct MI300A доступны шесть XCD и три CCD. Объем памяти Instinct MI300X составляет 192 ГБ через 12-Hi стеков HBM3; Instinct MI300A содержит 8-Hi HBM3 стеки, поэтому общий объем памяти составляет 128 ГБ.

Ни Instinct MI300X, ни Instinct MI300A не используют память DDR. Соответственно, область вокруг сокета пуста за исключением системы питания. Кроме того, AMD вывела наружу несколько интерфейсов PCI Express и Ethernet.

То, что два XCD можно заменить тремя CCD, объясняется не только соображениями площади, но и доступной пропускной способностью межсоединений.

Мы уже упоминали, что к четырем IOD подключены CCD и XCD, при этом IOD соединены между собой. К каждому IOD подключены два чипа HBM3 с пропускной способностью 665 ГБ/с каждый. Вышеупомянутая максимальная пропускная способность Infinity Fabric в 17 ТБ/с складывается из 8-кратной 2,1 ТБ/с, которую каждый XCD может достичь с IOD. Внешне IOD предлагают уже упомянутые 4x 16 линий для PCI Express 5.0 или Infinity Fabric, а также выделенные 4x 16 линий исключительно для Infinity Fabric, каждый из которых имеет двунаправленную пропускную способность 64 ГБ/с.

IOD подключаются друг к другу с пропускной способностью 3 ТБ/с или 2,4 ТБ/с в зависимости от физической длины контактной площадки (горизонтальный или вертикальный разрез). 2,4 ТБ/с предназначены исключительно для передачи данных контроллерам памяти, в то время как 3 ТБ/с предоставляют резерв, предназначенный для обмена данными ввода/вывода внутри IOD.

Instinct MI300X и Instinct MI300A могут быть разделены на различные вычислительные разделы, что также необходимо для виртуализации Single Root Input/Output (SR-IOV). Что касается количества NUMA-узлов на сокет, Instinct MI300A может работать только в режиме NPS1. Instinct MI300X, напротив, может работать не только в режиме NPS1, но и в режиме NPS4, при этом память делится на четыре NUMA-домена. Однако узлов NUMA может быть только по количеству вычислительных разделов (до восьми).

Instinct MI300A может работать как единое целое, либо разделяться на три раздела. В принципе, 3x два XCD здесь как раз представляют три раздела, и такое разделение позволяет достичь максимальной производительности GPU.

Instinct MI300X, с другой стороны, может быть разделен на один, два, четыре и восемь разделов. В данном случае максимальное использование GPU достигается при использовании восьми разделов.

"3.5D" Advanced Packaging

Установка XCD и CCD на IOD очень похожа на установку кристалла SRAM в виде 3D V-cache, поэтом корпусировка в линейке Instinct MI300 играет важную роль. Здесь мы получаем дальнейшее развитие технологии SoIC (Silicon over Integrated Circuit):

Дальнейшее развитие технологии SoIC

AMD 3D V-Cache Instinct MI300
Размер SoIC 7 x 10 мм / 70 мм²
13 x 29 мм / 377 мм²
Комбинированные технологии производства N7 на N5 N5 на N6
Расстояние между TSV 9 мкм 9 мкм
Максимальная пропускная способность 2,5 Тбайт/с 17 Тбайт/с

В случае технологии 3D V-Cache AMD размещает небольшой кристалл SRAM на CCD размером 7 x 10 мм. Кристалл SRAM изготавливается по техпроцессу 7 нм на мощностях TSMC, а CCD - по техпроцессу 5 нм. Расстояние между контактами TSV составляет 9 мкм, а пропускная способность 3D V-Cache достигает 2,5 ТБ/с.

Для семейства Instinct MI300 CCD или XCD размещаются на IOD размером 13 x 29 мм. CCD с ядрами Zen 4 имеет площадь 70 мм² и, следовательно, в два раза больше, чем микросхема SRAM площадью 36 мм². CCD и XCD изготавливаются по техпроцессу 5 нм, а IOD - по техпроцессу 6 нм. Расстояния между TSV одинаковы и составляют 9 мкм. В совокупности восемь XCD Instinct MI300X обеспечивают пропускную способность 17 ТБ/с при такой вертикальной интеграции.

Последовательность укладки также изменилась. Кэш-память теперь располагается в IOD под CCD или XCD, от которых, таким образом, можно гораздо лучше отводить тепло.

Структура чипа семейства Instinct MI300 теперь выглядит следующим образом:

Подложка (органическая корпусировка) представляет собой самый нижний уровень. Выше располагается пассивная кремниевая подложка Silicon Interposer в виде Chip on Wafer on Substrate (CoWoS). На Silicon Interposer установлены кристаллы IOD, поверх которых располагаются XCD и CCD, а также чипы памяти HBM3. Над чипами XCD и CCD с помощью Carrier Silicon заполняются промежутки, чтобы получить идентичную высоту с чипами памяти HBM3. Наконец, сверху устанавливается распределитель тепла.

Таким образом, AMD сочетает 2.5D Packaging для HBM3 с 3D Hybrid Packaging для размещения XCD и CCD на IOD и называет это 3.5D Stacking в маркетинговых целях, хотя на самом деле такого измерения не существует.

CCD с ядрами Zen 4 используются в процессорах EPYC четвертого поколения, также известных как Genoa, с прошлого года. Они идентичны CCD в Instinct MI300A, но используют другое соединение для интерконнекта. AMD с самого начала спланировала CCD Zen 4 таким образом, чтобы обеспечить вертикальную интеграцию с помощью 3D Bond Pad (BPV). Аналогичный подход был использован при подготовке CCD Zen 3 и Zen 4 к установке 3D V-Cache. То есть для 3D Bond Pad было зарезервировано место.

Сложности в производстве

При компоновке четырех IOD, а также до восьми/шести XCD и трех CCD AMD должна их правильно ориентировать для корректных межсоединений между IOD и 3D Bond Pad.

IOD изготавливаются в стандартном и зеркальном варианте. Затем стандартная и зеркальная версии IOD поворачиваются в матрице 2x2 и соединяются друг с другом.

AMD производит XCD только в одном варианте, при необходимости они разворачиваются на 180 градусов. CCD тоже производятся в одном варианте и поворачиваются. На IOD устанавливаются два развернутых и один нормально ориентированный CCD.

Расположение площадок 3D Bond Pads несколько сложнее.

Каждый IOD имеет две области с площадками 3D Bond Pads в центре, которые предназначены для XCD в нормальной и развернутой ориентации. Для CCD на IOD есть три области, каждая из которых имеет по две 3D Bond Pads.

В дополнение к TSV для обмена данными, конечно же, должны быть сквозные контакты для питания. Предусмотрены три площадки при установке трех CCD на один IOD, а в случае двух XCD на одном IOD используются только две. Важно соответствующим образом спроектировать систему питания, чтобы нижележащие металлические слои могли обеспечивать стабильное питание.

Требования к питанию и охлаждению сильно различаются в зависимости от рабочей нагрузки. В Instinct MI300A приложения с интенсивной нагрузкой на CPU создают нагрузку только на CCD, но почти не нагружают систему памяти и лишь незначительно HBM3. Иначе обстоит дело с GPU-интенсивными приложениями, где оба варианта ускорителя могут достигать предельной мощности 750 Вт. То же самое относится и к приложениям CPU+GPU, в которых существует определенный баланс между CCD и XCD - разумеется, в зависимости от их количества.

Собственные бенчмарки AMD

AMD представила и свои собственные бенчмарки производительности Instinct MI300X и Instinct MI300A. Сравнение проводилось, в основном, с ускорителем NVIDIA H100, а также с Grace Hopper Superchip на основе теоретических значений, опубликованных NVIDIA.

Сначала сравнивается теоретическая вычислительная производительность. Главным преимуществом серии Instinct MI300 является расширение памяти до 128 ГБ (Instinct MI300A) и 192 ГБ (Instinct MI300X). NVIDIA достигла лишь 80 ГБ с ускорителем H100. Для H200, который ожидается в 2024 году, емкость достигнет 141 ГБ.

Что касается вычислительной производительности Instinct MI300A, то здесь преимущество на стороне AMD, поскольку в HPC вычислительная производительность должна быть на 80% выше. Для Instinct MI300X указывается на 30% более высокая вычислительная производительность ИИ и в 2,4 раза выше вычислительная производительность HPC с поддержкой матричных операций.

В некоторых бенчмарках AMD сравнивает производительность системы Instinct MI300X с восемью ускорителями H100 HGX с соответствующим сервером. Благодаря более чем вдвое большему объему памяти приложения ИИ могут просчитываться даже в 1,6 раза быстрее. Таким образом, AMD стремится уже не к ничьей, а к лидерству по производительности.

Instinct MI300A больше ориентирован на приложения HPC. В этом сегменте AMD видит себя, как минимум, на одном уровне. Если к вычислительной производительности добавить объем памяти и пропускную способность, то некоторые приложения будут обрабатывать данные даже в четыре раза быстрее. AMD также подчеркивает соотношение производительности на ватт в свою пользу.

ROCm 6 обеспечивает ускорение

Когда дело доходит до ускорителей, AMD неоднократно добивалась впечатляющих решений, в то время как NVIDIA за годы работы создала экосистему, с которой конкуренты, такие как Intel и AMD, пока не могут сравниться. Конечно, они также осознали, что хорошая и эффективная поддержка со стороны программного обеспечения так же важна, как и сами ускорители.

Вместе с семейством Instinct MI300 AMD также анонсировала ROCm 6. Соответствующий программный стек будет доступен позднее в декабре, но AMD еще раз подчеркнула, что ROCm опирается на открытый исходный код, в то время как CUDA от NVIDIA в значительной степени основана на проприетарной технологии. Стоит упомянуть, что OneAPI от Intel также следует концепции с открытым исходным кодом.

За счет оптимизации программного стека AMD достигает прироста производительности в 2,6 раза в оптимизированных Large Language Models (в 2,6 раза меньшие задержки) и +40% для HIP Graph (HIP предоставляет инструменты переноса, которые берут на себя часть преобразования кода CUDA в переносимый код C++, который затем используется API HIP).

Llama 2 с 70 миллиардами параметров показывает в восемь раз меньшую задержку при использовании Instinct MI300X и ROCm 6, чем Instinct MI250X с ROCm 5. Однако следует помнить о 2,6-кратном улучшении просто при переходе на ROCm 6.

Instinct MI300A будет использоваться в суперкомпьютере El Capitan с вычислительной производительностью 2 EFLOPS. Установка El Capitan уже началась, и его ввод в эксплуатацию запланирован на следующий год.

Два варианта ускорителей Instinct MI300X и Instinct MI300A вскоре будут предложены ведущими OEM-производителями в своих серверах. Однако AMD также планирует предлагать ускорители облачным провайдерам.

С технической точки зрения и по аппаратным спецификациям AMD удалось обойти своего конкурента NVIDIA. Но приведет ли это к быстрому и долгосрочному успеху на рынке? NVIDIA продает тысячи ускорителей H100 каждый месяц. В начале 2024 года выйдут обновленные ускорители H200 и чипы GH200 с CPU и GPU, которых уже запланированы сотни тысяч.

Однако в обозримом будущем на рынке все еще будет наблюдаться дефицит ускорителей ИИ, и почему бы AMD не перехватить клиентов, которые не смогли купить «железо» NVIDIA? Однако главой целью AMD, конечно, остается выход в лидеры. Но здесь AMD следует предложить соответствующую экосистему программного обеспечения. К счастью, у AMD есть несколько инноваций в этой сфере.

Подписывайтесь на группу Hardwareluxx ВКонтакте и на наш канал в Telegram (@hardwareluxxrussia).