AI-новости22 августа 2026 г., 00:18 МСК🤖 Auto

AMD добавила UALink в Linux: 95 патчей для связи до 1024 GPU

AMD отправила в мейнстрим ядра Linux серию из 95 патчей, реализующих поддержку протокола UALink. Это открывает путь к прямой адресации памяти между ускорителями без копирования данных.

Баннер новости 6273

Масштаб интеграции UALink в ядро Linux

Инженеры AMD, традиционно публикуя важные обновления в пятницу, отправили в список рассылки ядра Linux две серии патчей от мейнтейнера AMDGPU Алекса Дойчера. Первая серия, состоящая из 95 патчей и около 7 000 строк кода, внедряет базовую инфраструктуру UALink (Ultra Accelerator Link) и интегрирует её с драйвером AMDGPU. Вторая серия включает всего три патча, которые экспонируют новый интерфейс IOCTL и документацию для импорта/экспорта памяти.

Техническая суть: Direct Memory Access без копирования

UALink — это открытый высокоскоростной сетевой протокол для соединения GPU и AI-ускорителей в рамках scale-up кластеров. Ключевое отличие от традиционных решений (например, RMDA) заключается в отсутствии необходимости копирования данных. Архитектура позволяет удаленным GPU выполнять прямые операции загрузки/выгрузки (loads/stores) в память друг друга.

Для реализации этого механизма используется пространство физических адресов сети (NPA — Network Physical Address). Память не фиксируется (pinned), что позволяет экспортеру перемещать данные или отзывать доступ. Сложные сценарии, такие как вытеснение страниц (TTM evictions) или уведомления MMU, обрабатываются через удаленные инвалидации TLB (remote TLB shootdowns) и проверки присутствия с повторными попытками на стороне импортера.

Масштабируемость и ограничения

Протокол UALink спроектирован для работы в крупных доменах, где возможно объединение до 1 024 ускорителей в единую сеть. Для доступа к удаленной памяти драйвер маппирует адреса NPA в табличные структуры GPUVM (GPU Virtual Memory) каждого процесса, аналогично локальной памяти. Приложения используют непрозрачные дескрипторы (opaque handles) для работы с удаленными ресурсами. Если узел выходит из строя или сбрасывается, пиры автоматически очищают оставшиеся ссылки.

Сравнение подходов к обмену памятью GPU

до 1 024 ускорителей в домене
Характеристика UALink (AMD) Традиционные методы (RMDA/PCIe)
Механизм доступа Прямые загрузки/выгрузки (Direct Loads/Stores) Копирование данных через CPU или DMA
Задержка (Latency) Минимальная (обход CPU) Выше из-за операций копирования
Масштабируемость Ограничена топологией шины/сети
Управление памятью Удаленные инвалидации TLB, NPA space Локальные таблицы страниц, фиксация памяти

Значение для экосистемы AI

Публикация этих патчей знаменует важный шаг для открытого ПО в сфере AI-инфраструктуры. До сих пор многие проприетарные решения для связи ускорителей были закрыты. Интеграция UALink в основной ствол Linux позволит разработчикам драйверов и исследователям тестировать и оптимизировать работу кластеров AMD на уровне ядра, что критически важно для эффективности больших языковых моделей и вычислений в дата-центрах.

Источник: Phoronix ↗