Открыть сервис

NVLink

NVLink — это высокоскоростной протокол двунаправленной последовательной передачи данных и соответствующий коннектор, разработанный компанией Nvidia для соединения графических процессоров (GPU) между собой, а также GPU с центральными процессорами (CPU) и другими устройствами. В отличие от традиционных шин, таких как PCI Express, NVLink обеспечивает значительно более высокую пропускную способность и меньшую задержку, что критически важно для задач параллельных вычислений, глубокого обучения и высокопроизводительных вычислений (HPC). Протокол был впервые представлен в 2014 году и с тех пор является ключевым элементом архитектуры Nvidia для многопроцессорных систем.

История

Разработка NVLink началась в ответ на растущие потребности в масштабировании вычислительных мощностей GPU в дата-центрах и суперкомпьютерах. Традиционная шина PCI Express, даже при переходе на новые поколения, не могла обеспечить достаточную пропускную способность для эффективного обмена данными между несколькими GPU в реальном времени. В 2014 году Nvidia анонсировала NVLink как часть архитектуры NVLink 1.0, предназначенной для использования в суперкомпьютерах и высокопроизводительных вычислительных кластерах.

Первое коммерческое применение NVLink нашло в 2016 году с выходом графических процессоров Nvidia Tesla P100 (архитектура Pascal). Эти GPU использовали NVLink 1.0 для соединения между собой, обеспечивая пропускную способность до 160 ГБ/с на каждое соединение. В 2017 году Nvidia представила NVLink 2.0, который использовался в GPU Tesla V100 (архитектура Volta) и обеспечивал скорость до 300 ГБ/с. В 2020 году с выходом архитектуры Ampere (GPU Tesla A100) был представлен NVLink 3.0, который увеличил пропускную способность до 600 ГБ/с на соединение. В 2022 году с архитектурой Hopper (GPU H100) появился NVLink 4.0, поддерживающий скорость до 900 ГБ/с. В 2024 году с архитектурой Blackwell (GPU B100/B200) был представлен NVLink 5.0, который, по заявлениям Nvidia, обеспечивает пропускную способность до 1,8 ТБ/с на соединение.

Архитектура и принцип работы

NVLink представляет собой физический интерфейс, состоящий из нескольких параллельных линий (lanes), каждая из которых передаёт данные в обоих направлениях одновременно (full-duplex). В отличие от PCI Express, где данные передаются пакетами с накладными расходами на протокол, NVLink использует более эффективный протокол с меньшими задержками и прямым доступом к памяти GPU (GPUDirect).

Физический уровень

Каждое соединение NVLink состоит из нескольких подканалов (sub-links), которые работают в паре: один для передачи, другой для приёма. В NVLink 1.0 использовалось 4 линии, в NVLink 2.0 — 8 линий, в NVLink 3.0 — 12 линий, в NVLink 4.0 — 18 линий, а в NVLink 5.0 — 24 линии. Каждая линия передаёт данные со скоростью, зависящей от поколения: от 20 Гбит/с (NVLink 1.0) до 112 Гбит/с (NVLink 5.0).

Топология соединений

NVLink поддерживает различные топологии соединений, включая:

  • Прямое соединение (point-to-point): два GPU соединяются напрямую.
  • Кольцо (ring): GPU соединяются последовательно, образуя кольцо.
  • Сетка (mesh): GPU соединяются в двумерную или трёхмерную сетку.
  • Дерево (tree): GPU соединяются через центральный коммутатор или хаб.
  • NVSwitch: специальный коммутатор, который позволяет соединять до 8 или 16 GPU в единую сеть с полной связностью (all-to-all).

NVSwitch

NVSwitch — это аппаратный коммутатор, разработанный Nvidia для масштабирования NVLink-сетей. Он позволяет соединять до 8 GPU (в архитектуре Volta) или до 16 GPU (в архитектуре Ampere и Hopper) в единую сеть с полной связностью, где каждый GPU может обмениваться данными с любым другим GPU с максимальной пропускной способностью. NVSwitch используется в системах Nvidia DGX и в суперкомпьютерах, таких как Summit (США) и Selene (Nvidia).

Классификация и поколения

NVLink делится на поколения, каждое из которых отличается пропускной способностью, количеством линий и поддерживаемыми архитектурами GPU.

ПоколениеГодАрхитектура GPUПропускная способность на соединениеКоличество линийСкорость линии
NVLink 1.02016Pascal (P100)160 ГБ/с420 Гбит/с
NVLink 2.02017Volta (V100)300 ГБ/с825 Гбит/с
NVLink 3.02020Ampere (A100)600 ГБ/с1250 Гбит/с
NVLink 4.02022Hopper (H100)900 ГБ/с1856 Гбит/с
NVLink 5.02024Blackwell (B100/B200)1,8 ТБ/с24112 Гбит/с

Применение

NVLink используется в основном в трёх областях:

Высокопроизводительные вычисления (HPC)

В суперкомпьютерах, таких как Summit (Ок-Риджская национальная лаборатория, США), Sierra (Ливерморская национальная лаборатория, США) и Selene (Nvidia), NVLink позволяет объединять тысячи GPU в единую вычислительную сеть. Это обеспечивает высокую скорость обмена данными между GPU, что критически важно для задач моделирования климата, молекулярной динамики, аэродинамики и других научных расчётов.

Глубокое обучение и искусственный интеллект

При обучении больших нейронных сетей, таких как GPT-3, BERT или DALL-E, требуется обмен большими объёмами данных между GPU. NVLink позволяет эффективно распределять обучение на несколько GPU, значительно сокращая время обучения. Например, в системах Nvidia DGX A100 и DGX H100 используется NVLink для соединения 8 GPU в единую сеть.

Графика и рендеринг

В профессиональных графических станциях, таких как Nvidia Quadro и Nvidia RTX, NVLink используется для объединения нескольких GPU для увеличения производительности рендеринга и визуализации. Это позволяет обрабатывать более сложные сцены и с более высоким разрешением.

Преимущества и недостатки

Преимущества

Недостатки

  • Закрытая технология: NVLink является проприетарной технологией Nvidia и не поддерживается другими производителями GPU (AMD, Intel).
  • Ограниченная совместимость: NVLink работает только с GPU Nvidia определённых архитектур (Pascal и новее).
  • Высокая стоимость: системы с NVLink, такие как Nvidia DGX, стоят значительно дороже, чем аналогичные системы на базе PCI Express.
  • Физические ограничения: длина кабелей NVLink ограничена (обычно до нескольких метров), что затрудняет создание крупных кластеров.

Критика

NVLink критикуется за закрытость и привязку к экосистеме Nvidia. Конкуренты, такие как AMD и Intel, разрабатывают собственные решения для межпроцессорного соединения (например, AMD Infinity Fabric и Intel Xe Link), но они несовместимы с NVLink. Кроме того, некоторые эксперты отмечают, что для многих задач, особенно в области глубокого обучения, пропускной способности PCI Express 5.0 и 6.0 может быть достаточно, и NVLink является избыточным решением.

Перспективы

Nvidia продолжает развивать NVLink, увеличивая пропускную способность и снижая задержки. В будущем ожидается появление NVLink 6.0, который, вероятно, будет поддерживать скорость более 2 ТБ/с на соединение. Также возможно расширение поддержки NVLink на другие устройства, такие как сетевые адаптеры и хранилища данных.

Источники

  • Nvidia. NVLink Whitepaper (2016, 2017, 2020, 2022, 2024).
  • Nvidia. NVSwitch Architecture (2018, 2020).
  • TOP500.org. Суперкомпьютер Summit (2018).
  • Nvidia. DGX A100 and DGX H100 System Architecture (2020, 2022).
  • AnandTech. Nvidia NVLink 4.0 and 5.0 Technical Overview (2022, 2024).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →