NVIDIA NVLink
Что такое NVLink и какие проблемы он решает?
NVLink — это специализированная высокоскоростная межсоединительная шина, разработанная NVIDIA для прямого обмена данными между графическими ускорителями и, в отдельных конфигурациях, между GPU и CPU. Технология появилась как ответ на ограничения PCIe, которые в задачах HPC и ИИ стали узким местом при передаче больших массивов данных.
В отличие от классического PCIe, NVLink обеспечивает кратно большую пропускную способность и более низкие задержки, а также поддерживает формирование общего адресного пространства памяти. Это позволяет нескольким GPU обращаться к памяти друг друга почти как к собственной, что особенно важно при обучении крупных моделей, работе с распределёнными батчами и масштабировании вычислений внутри одного сервера.
Принцип работы и архитектура NVLink
NVLink — это последовательная шина с дифференциальной передачей сигналов. Данные передаются по линиям, объединённым в каналы, которые формируют отдельные интерфейсы NVLink. В первой версии NVLink 1.0 использовалось 8 пар линий на один такой интерфейс со скоростью 20 Гбит/с на пару, что обеспечивало до 160 ГБ/с совокупной пропускной способности на один GPU в архитектуре Pascal.
По мере роста числа ускорителей прямое соединение «каждый с каждым» стало физически сложным. Для этого NVIDIA разработала NVSwitch — специализированный коммутатор, формирующий внутри сервера или стойки единую коммутационную фабрику. NVSwitch обеспечивает топологию all-to-all: каждый GPU получает равноправный доступ к памяти остальных без каскадных задержек. Это критично для когерентности кеша и синхронизации потоков при параллельных вычислениях.
Эволюция стандарта NVLink (от 1.0 до 5.0)
С момента выхода NVLink 1.0 в поколении Pascal пропускная способность росла кратно. В Volta и Ampere увеличилось число линий и скорость передачи, а с появлением NVSwitch второго и третьего поколений стало возможно объединять десятки GPU в одном логическом домене. NVLink 5.0 в архитектуре Blackwell доводит пропускную способность до 1800 ГБ/с на один GPU и позволяет строить конфигурации NVL72 — до 72 ускорителей в едином пространстве с агрегированной полосой порядка 130 ТБ/с. По сути, это масштабирование от связки из нескольких карт к кластеру, который для приложения выглядит как единый ускоритель.
| Поколение | Архитектура | Пропускная способность на GPU | Особенности |
|---|---|---|---|
| 1.0 | Pascal | 160 ГБ/с | Первое внедрение NVLink |
| 2.0 | Volta | 300 ГБ/с | Улучшенная когерентность памяти |
| 3.0 | Ampere | 600 ГБ/с | NVSwitch 2 |
| 4.0 | Hopper | 900 ГБ/с | NVLink 4, NVSwitch 3 |
| 5.0 | Blackwell | 1800 ГБ/с | NVLink 5, NVL72 (72 GPU) |
Основные сферы применения NVLink
В научных вычислениях NVLink используется в задачах, чувствительных к обмену промежуточными результатами: расчет БПФ (FFT), молекулярная динамика в пакетах вроде AMBER, моделирование климата. Здесь время передачи данных между GPU напрямую влияет на итоговую производительность.
В ИИ NVLink стал основой для обучения крупных моделей, включая LLM. При тензорном параллелизме слои нейросети распределяются между несколькими GPU, и на каждом шаге требуется обмен активациями и градиентами. Если передача идет через PCIe или сетевой адаптер, задержки быстро накапливаются. NVLink снижает эти накладные расходы и делает масштабирование внутри узла предсказуемым.
Отличия NVLink от SLI и преимущества для параллельных вычислений
SLI создавался для игровых систем и строился вокруг чередования кадров (AFR), где каждая видеокарта рендерила свой кадр. Обмен данными был минимальным, а память не объединялась. С уходом multi-GPU из массового гейминга SLI утратил актуальность.
NVLink ориентирован на профессиональные вычисления. Он поддерживает объединение памяти и механизмы когерентности, благодаря которым несколько GPU могут работать с общими структурами данных. Это принципиально иной уровень интеграции: ускорители выступают как части единой вычислительной системы, а не как независимые устройства.
| Параметр | PCIe | SLI | NVLink |
|---|---|---|---|
| Назначение | Универсальный интерфейс | Игры | HPC и AI |
| Объединение памяти | Нет | Нет | Да |
| Когерентность | Нет | Нет | Да |
| Масштабирование | Ограничено | Практически отсутствует | До 72 GPU |
NVLink в ИИ-серверах ITPOD
В ИИ-серверах NVLink отвечает за масштабирование внутри одного узла, обеспечивая высокоскоростной обмен данными между GPU и прямой доступ к памяти друг друга (peer-to-peer). Это критично при обучении LLM и других распределённых нагрузках, где требуется постоянная синхронизация активаций и градиентов. При использовании NVSwitch формируется внутренняя коммутационная фабрика с равномерной латентностью между всеми ускорителями — без «узких мест» при росте числа GPU.
В архитектуре ITPOD NVLink дополняет, а не заменяет PCIe: PCIe обеспечивает связь CPU ↔ GPU и подключение NVMe, а NVLink ускоряет GPU ↔ GPU внутри узла. Правильная топология (поколение NVLink, наличие NVSwitch, распределение PCIe-линий CPU) напрямую определяет, насколько эффективно система будет масштабироваться под реальные AI-нагрузки, а не только «по количеству карт в корпусе».