Аналог GPUDirect от AMD: ROCm RDMA, Peer-to-Peer и Infinity Fabric для ускорителей Instinct
Введение
Когда речь заходит о высокоскоростном обмене данными в GPU-кластерах, большинство инженеров сразу называют GPUDirect — проприетарную технологию NVIDIA. Она действительно задала стандарт, позволив сетевым адаптерам и накопителям напрямую работать с памятью GPU, минуя системную RAM и CPU. Однако GPUDirect намертво привязан к экосистеме NVIDIA: для тех, кто строит инфраструктуру на ускорителях AMD Instinct, этот инструментарий недоступен.
AMD закрыла пробел собственным стеком ROCm RDMA, выпущенным в составе ROCm 3.0 в 2018 году. С тех пор технология прошла несколько поколений доработок и сегодня предоставляет сопоставимый набор механизмов: прямой сетевой доступ к памяти GPU (RDMA), оптимизацию внутрисерверных GPU-GPU коммуникаций (Peer-to-Peer) и когерентный интерконнект уровня чипа (Infinity Fabric). В этом материале специалисты СервакМастер подробно разберут, как устроены эти технологии и какой практический эффект они дают.
Почему GPUDirect не подходит для AMD и зачем нужен ROCm RDMA
GPUDirect объединяет несколько связанных, но отдельных механизмов. Ключевые из них:
- GPUDirect Storage — прямой доступ к NVMe-накопителям без участия CPU;
- GPUDirect RDMA — передача данных между GPU разных узлов кластера через InfiniBand/RoCE напрямую, без промежуточной буферизации в RAM;
- GPUDirect Peer-to-Peer — обмен данными между несколькими GPU внутри одного сервера через шину PCIe без копирования через системную память.
Все эти механизмы работают исключительно с CUDA-картами NVIDIA. Ускорители AMD Instinct — от Radeon Instinct MI50 до современных MI300X — аппаратно совместимы с аналогичными операциями, но требуют собственного программного слоя. Этим слоем и является ROCm RDMA в сочетании с P2P Access.
Для крупных дата-центров и HPC-кластеров, использующих или планирующих развернуть оборудование AMD, наличие этих технологий — не опция, а обязательное условие конкурентной производительности.
ROCm RDMA: передача данных между GPU разных серверов без участия CPU
Remote Direct Memory Access в контексте ROCm означает, что сетевой адаптер — поддерживающий протокол InfiniBand или RDMA over Converged Ethernet (RoCE) — может самостоятельно читать и записывать данные в HBM-память ускорителя AMD Instinct, расположенного на удалённом узле кластера.
Механизм работает следующим образом:
- Приложение регистрирует буфер в памяти GPU и получает дескриптор, доступный RDMA-адаптеру.
- NIC самостоятельно инициирует DMA-операцию через шину PCIe напрямую к HBM-памяти GPU — без уведомления и участия CPU.
- На принимающей стороне происходит зеркальная операция: данные из сети попадают напрямую в HBM без промежуточного копирования в системную RAM.
Практические преимущества:
- Снижение задержки — устраняется один или два цикла копирования через RAM, каждый из которых добавляет сотни микросекунд при больших объёмах данных;
- Рост пропускной способности — шина PCIe задействуется только для целевой операции, без дублирующего трафика через CPU;
- Разгрузка процессора — CPU не тратит такты на оркестрацию передач, оставаясь свободным для других задач;
- Масштабируемость — при подключении тысяч ускорителей MI300X в один кластер коммуникационные накладные расходы остаются предсказуемыми.
Ключевые компоненты реализации ROCm RDMA: стек ROCm (драйвер amdgpu + библиотеки HSA/HIP), совместимый RDMA-адаптер (Mellanox/NVIDIA ConnectX, Broadcom, Intel Omni-Path) и поддержка Peer Memory Client в ядре Linux.
Peer-to-Peer Access и Zero-Copy: оптимизация внутри одного узла
Помимо сетевого RDMA, ROCm предоставляет два механизма для ускорения передачи данных непосредственно внутри сервера.
Peer-to-Peer Access
Когда в одном сервере установлено несколько ускорителей AMD Instinct, механизм P2P Access позволяет им обмениваться данными напрямую через PCIe — без маршрута через системную RAM и без участия CPU в копировании.
Сценарии, где P2P Access даёт наибольший выигрыш:
- Обучение нейронных сетей на нескольких GPU — градиенты при обратном распространении ошибки синхронизируются между ускорителями значительно быстрее;
- Физические симуляции и CFD-расчёты — соседние домены задачи, решаемые разными GPU, обмениваются граничными условиями с минимальной задержкой;
- Распределённый инференс крупных LLM — при разбивке модели на несколько ускорителей передача активационных слоёв между ними ускоряется кратно.
С аппаратной точки зрения P2P Access опирается на то, что несколько ускорителей Instinct подключены к одному корневому комплексу PCIe или объединены через Infinity Fabric — в зависимости от конфигурации сервера.
Zero-Copy
Zero-Copy — механизм, исключающий явное копирование данных между RAM CPU и HBM GPU за счёт единого адресного пространства. Процессор может читать и писать в буфер, физически расположенный в памяти GPU, а GPU — обращаться к страницам, закреплённым в системной RAM.
В отличие от чистого P2P (GPU–GPU) Zero-Copy подразумевает участие CPU в адресации, что снижает его эффективность при больших непрерывных потоках. Зато технология показывает хороший результат при:
- частых мелких обновлениях данных со стороны CPU (конфигурационные параметры, метаданные);
- чередующейся обработке одного буфера CPU и GPU без чётко выраженного «владельца»;
- паттернах с переменным размером блоков, где явное копирование порождает избыточные аллокации.
Infinity Fabric: аппаратная основа когерентности AMD
Все описанные выше программные механизмы опираются на аппаратный интерконнект Infinity Fabric — собственную высокоскоростную шину AMD, объединяющую CPU, GPU и блоки памяти в рамках одного или нескольких чипов.
В серверных платформах на базе EPYC и Instinct Infinity Fabric выполняет несколько функций:
- когерентная связь между ядрами CPU и блоками GPU-вычислений;
- высокоскоростные Infinity Fabric Links — прямые соединения между ускорителями внутри узла (аналог NVLink), с пропускной способностью, превышающей PCIe;
- поддержка Infinity Fabric over Ethernet для межузловых когерентных соединений в стойках высокой плотности.
Наиболее показательный пример архитектуры — флагманский ускоритель AMD Instinct MI300A: процессорные ядра EPYC и GPU-вычислительные блоки объединены на одном кристалле-чиплете через Infinity Fabric с унифицированным пулом памяти HBM3. Это полностью исключает передачу данных между CPU и GPU через PCIe: оба вычислительных домена работают с одной и той же физической памятью.
Ускоритель MI300X — вариант без CPU-ядер, с объёмом HBM3-памяти до 192 ГБ — использует Infinity Fabric для когерентного объединения нескольких GPU-кристаллов (GCDs) в единое адресное пространство памяти. Благодаря этому библиотеки ROCm видят весь пул HBM как единый ресурс без необходимости явного P2P-управления буферами между кристаллами.
Применение ROCm RDMA и P2P в реальных проектах
Экзафлопсные суперкомпьютеры Frontier и El Capitan
Frontier (Oak Ridge National Laboratory, ~1,2 экзафлопс, ускорители Instinct MI250X) и El Capitan (Lawrence Livermore National Laboratory, >2 экзафлопс, ускорители Instinct MI300A) — два самых мощных суперкомпьютера в мире на момент публикации. Оба построены на AMD EPYC и Instinct, оба используют ROCm RDMA через высокоскоростной коммутируемый фабрик. Без прямого доступа к HBM-памяти GPU по сети достичь такой производительности при приемлемой латентности коммуникаций было бы невозможно.
Обучение LLM и мультимодальных моделей
Ускоритель Instinct MI300X с 192 ГБ HBM3 и пропускной способностью памяти свыше 5,3 ТБ/с стал коммерчески доступной альтернативой для обучения моделей класса GPT-4 и выше. ROCm P2P внутри узла и RDMA между узлами обеспечивают:
- эффективный all-reduce через библиотеку RCCL (ROCm Communication Collectives Library — аналог NCCL);
- поддержку pipeline- и tensor-параллелизма без накладных расходов на маршрутизацию через CPU;
- совместимость с фреймворками PyTorch, JAX и TensorFlow через слой ROCm HIP.
Перенос CUDA-кода на AMD: ROCm HIP
Для организаций, переходящих с NVIDIA на AMD, AMD предлагает технологию HIP (Heterogeneous-compute Interface for Portability). Большая часть CUDA-кода транслируется в HIP-совместимый вид инструментом hipify с минимальными ручными правками. Это значительно снижает стоимость миграции готовых рабочих нагрузок — включая код, активно использующий GPUDirect RDMA, — на платформу AMD с ROCm RDMA.
Выводы
Программный стек ROCm предлагает три взаимодополняющих механизма, совместно покрывающих те же задачи, что и семейство технологий GPUDirect:
| Механизм | Задача | Аналог NVIDIA |
|---|---|---|
| ROCm RDMA | Прямой сетевой доступ к HBM GPU между узлами | GPUDirect RDMA |
| Peer-to-Peer Access | GPU–GPU обмен внутри одного сервера без CPU | GPUDirect P2P |
| Zero-Copy | CPU–GPU доступ через единое адресное пространство | Unified Memory (частично) |
| Infinity Fabric | Когерентный чип-уровневый интерконнект | NVLink / NVSwitch |
В связке с библиотеками RCCL, HIP и MPI-aware ROCm эти технологии делают ускорители AMD Instinct MI300X и MI300A полноценной платформой для задач HPC, обучения LLM и коммерческих ИИ-кластеров.
Если вас интересует подбор серверного оборудования на базе GPU AMD Instinct для HPC или ИИ-задач — свяжитесь со специалистами СервакМастер: мы поможем сформировать конфигурацию, оптимальную по производительности и стоимости владения.
