NvidiaОдин из технических барьеров--NVLink&NVSwitch
NvidiaОдин из технических барьеров--NVLink&NVSwitch

NVLink

Пакет данных NVLink

Один пакет NVLink имеет диапазон от 1 до 18 флитов. Каждый блок имеет размер 128 бит, что позволяет передавать 256 байт с использованием одного блока заголовка и 16 блоков полезной нагрузки для максимальной эффективности 94,12%, а также 64 байта с использованием одного блока заголовка и 4 блоков полезной нагрузки данных для односторонней эффективности 80. %. При двунаправленном трафике эффективность несколько снижается до 88,9% и 66,7% соответственно.

Пакеты содержат как минимум заголовок и, при необходимости, фрагменты расширения адреса (AE), фрагменты включения байта (BE) и до 16 фрагментов полезной нагрузки данных. Типичная транзакция содержит как минимум запрос и ответ, тогда как опубликованная операция не требует ответа.

Состав пакета данных
Состав пакета данных

Связь

NVLink канал называется Brick(илиNVLink Brick)。одинокий NVLink представляет собой двунаправленный интерфейс, каждое направление содержит 8 дифференциальные пары, всего 32 линии. Эти линии связаны по постоянному току с использованием встроенных часов. 85Ω Дифференциальное окончание. Для упрощения маршрутизации NVLink Поддерживаются реверс каналов и полярность каналов, что означает, что физический порядок каналов и их полярность могут быть изменены на противоположные между двумя устройствами.

Схема NVLink
Схема NVLink

Метод передачи данных

NVLINK поддерживает два режима передачи данных: DMA и P2P.

Режим DMA: в режиме DMA ЦП может передавать данные непосредственно в видеопамять целевого графического процессора через мост NVLink. Этот процесс не требует участия целевого графического процессора, что эффективно повышает эффективность передачи данных.

Режим P2P: в ​​режиме P2P данные могут передаваться напрямую между двумя графическими процессорами. Этот режим обычно используется для обмена данными между графическими процессорами или выполнения параллельных вычислительных задач.

Записи об использовании

ПроверятьNVLinkсостояние:Подробное объяснение команд серии NVIDIA-SMI (16)-NVLINK. Эта статья является шестнадцатым подробным объяснением команд серии NVIDIA-SMI-NVLINK, введение. - наггетсы (juejin.cn)

Установите NVLink: Просто подключите его к соответствующей карте. Как правило, устанавливать драйвер вручную не требуется.

Отключите NVLink: как правило, вы также можете отключить его напрямую.

Топтание по пит-записям

Если в машине несколько карт,Только две карты с установленным NVLink могут взаимодействовать друг с другом.,Если карта не установлена, вы можете использовать только одну карту (что немного сложно).,Другими словами, пока на машине есть NVLink,Связь будет изменена на NVLink.,В результате нормальная связь между картами не может быть осуществлена). Для этой проблемы,существоватьncclПоднятыйIssues:Not all gpus have nvlinks, the communication data is all incorrect · Issue #1423 · NVIDIA/nccl (github.com)

Решение 1. Отключите nvlink,Используйте только передачу данных PCIE. Если это процессор AMD,После отключения вам все равно потребуется войти в BIOS, чтобы принудительно выключить IOMMU.,Запретить программам прямой доступ к физической памяти,должен пройтиCPU。Подробную информацию см.Silent data corruption when moving data between GPUs · Issue #84803 · pytorch/pytorch (github.com)。После того, как я изменю вышеуказанные операции,,Doka Reasoning теперь может работать,Но обучение Doka будет подчиняться CUDA error: unspecified launch Позже выяснилось, что причиной сбоя стали более ранние версии трансформаторов, фонаря и других установочных пакетов. Используйте команду pip для обновления установочного пакета pip install --force-reinstall transformers==4.44.2 trl==0.10.1 torchvision==0.19.1。

Решение 2. Все карты подключены к nvlink (но некоторые карты имеют только один слот NVLink, например A6000, что означает, что можно объединить до двух карт)

Решение 3. Восемь карт имеют PCIE.,Опять есть NVLink,Кажется, на данный момент есть ошибка. Длительный фокус наIssues:Not all gpus have nvlinks, the communication data is all incorrect · Issue #1423 · NVIDIA/nccl (github.com)

недостаток

Хотя NVLink — двунаправленный интерфейс,Между двумя картами требуется только одно соединение,Но также легко найти,Только две подключенные карты могут наслаждаться высокоскоростной связью.,А на таких видеокартах, как A6000, есть только один слот NVLink.,Поэтому невозможно соединить несколько карт вместе. Новый продукт Nvidia NVSwitch призван решить эту проблему.,Подробную информацию см.Nvidiaиз官网介绍:NVIDIA NVLink and NVIDIA NVSwitch Supercharge Large Language Model Inference | NVIDIA Technical Blog

NVSwitch

NVSwitch — это переключатель межсоединения видеокарты. При его использовании необходимо подключить один конец NVLink к видеокарте, а другой конец — к NVSwitch. Он позволяет соединять каждые две карты на полной скорости без блокировки. Последнее поколение NVSwitch также может соединять видеокарты между разными машинами и подключать до 576 видеокарт (что просто ужасно, а скорость передачи данных выше, чем у других). Инфини Бэнд).

История развития NVSwitch
История развития NVSwitch

Решение для соединения восьми карт

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

Используя NVSwitch для соединения, как показано ниже, любые две карты могут работать на максимальной скорости 900 ГБ/с, а две карты 0 и 1 обмениваются данными, а другие карты также могут обмениваться данными на полной скорости, не влияя друг на друга.

Решение для соединения нескольких карт
Решение для соединения нескольких карт
NVLink vs NVSwitchпередача инфекциискорость
NVLink vs NVSwitchпередача инфекциискорость

Соединение кластеров

Последняя версия NVSwitch может соединять вместе 576 карт. Эти карты распределены по десяткам машин. Вообще говоря, передача между машинами осуществляется через сеть. Самый высокоскоростной сетевой протокол — InfiniBand. Но NVSwitch пропускает эти действия и напрямую соединяет карты между несколькими машинами. Ниже приведено сравнение производительности при использовании межсоединений InfiniBand и NVSwitch:

Скорость NVSwitch по сравнению с InfiniBand
Скорость NVSwitch по сравнению с InfiniBand

Видно, что NVSwitch в 4,5 раза быстрее, чем InfiniBand. InfiniBand может использоваться только суперкомпьютерными центрами. Нвидиа просто извращенец. . . .

ссылка Связь:

Базовые знания AI Infra: начало работы с NVLink (qq.com)

Углубленное понимание технологии соединения графических процессоров — NVLINK (qq.com)

Углубленный анализ и анализ производительности NV Switch (qq.com)

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose