Top.Mail.Ru
GPUDirect от NVIDIA: Ускорение обмена данными для AI и HPC‑инфраструктур | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Бонус за
обратную связь
Уточнение цен временно недоступно. Китайский Новый год. Ответы по товарам «Под заказ» после 25 числа.
Distribution of
Server Components
8 (800) 222-70-01 Консультация IT-специалиста Сравнение

GPUDirect от NVIDIA: Ускорение обмена данными для AI и HPC‑инфраструктур

~ 15 мин
1179
Средний
Статьи
GPUDirect от NVIDIA: Ускорение обмена данными для AI и HPC‑инфраструктур

Введение

Еще до того, как искусственный интеллект стал главным драйвером вычислительных инноваций, научный мир столкнулся с фундаментальным вызовом. Мощные CPU уже не справлялись с растущим объемом сложных вычислений в физике, химии, биологии и других областях HPC. Спасением стали графические процессоры (GPU), чьи тысячи ядер предлагали беспрецедентный параллелизм. Однако возникла новая проблема: узким местом стала передача данных. Традиционные пути, требующие постоянного копирования информации через память CPU, создавали огромные задержки и бесполезно загружали центральные процессоры, отвлекая их от самой науки.

Именно в этом контексте, в 2010 году, компания NVIDIA представила технологию GPUDirect. Ее цель изначально была адресована научному сообществу и сектору высокопроизводительных вычислений (HPC): максимально ускорить обмен данными между GPU и другими устройствами в системе, минуя CPU. Это позволяло по-настоящему раскрыть потенциал GPU для тяжелых научных задач.

Сегодня, когда ИИ стал доминирующей нагрузкой, потребляющей гигабайты данных для обучения и инференса, технология GPUDirect оказалась не просто актуальной, а критически важной. Она идеально решает те же самые проблемы в новом контексте: радикально увеличивает пропускную способность при обмене данными между GPU, сетевыми адаптерами и хранилищами, минимизирует задержки (латентность) и полностью высвобождает ресурсы CPU для задач управления и логики. По сути, GPUDirect, рожденный для науки, стал технологическим фундаментом современной ИИ-инфраструктуры.

В этой статье мы расскажем вам, что из себя представляет GPUDirect, какие разновидности этой технологии существуют, как она работает и в чем ее ключевые преимущества для современных вычислений, от суперкомпьютеров до ИИ-кластеров.

Что такое GPUDirect?

GPUDirect — это не единая технология, а целый программно-аппаратный стек, направленный на предоставление возможности периферийным устройствам (GPU, сетевым картам, накопителям данных) напрямую обмениваться данными графических процессоров, полностью минуя промежуточное копирование в оперативную память CPU. Преимущества этой технологии схожи с функционалом RDMA-технологий — минимизировать задержку в передаче данных и снять нагрузку с центрального процессора. 

Система с GPUDirect Storage и без GPUDirect Storage
Работа системы с поддержкой GPUDirect Storage и без нее. Источник: Nvidia.

Разновидности GPUDirect

Технология GPUDirect реализуется в нескольких форматах, каждый из которых отвечает за оптимизацию передачи данных в определенных системах:
  • GPUDirect Peer-to-Peer (P2P). Эта технология позволяет нескольким GPU, установленным в рамках одного сервера (или рабочей станции), обмениваться данными напрямую друг с другом через шину PCI Express. Данные передаются из памяти одного GPU напрямую в память другого, без промежуточного буферирования в оперативной памяти CPU. Это значительно ускоряет взаимодействие между GPU.
Схема GPUDirect P2P
Схема работы GPUDirect P2P. Источник: Dgrupservis.
  • GPUDirect RDMA (Remote Direct Memory Access). Это ключевая технология для кластерных решений. GPUDirect RDMA позволяет сетевым адаптерам, поддерживающим технологию RDMA (например, InfiniBand или Ethernet с RoCE), напрямую читать или записывать данные в память удаленного GPU через сеть. Сетевой адаптер взаимодействует с VRAM напрямую, также минуя память RAM на обоих концах сети. Эта функция крайне важна для низколатентного обмена данными между GPU, расположенными на разных серверах в HPC-кластере или ИИ-ферме.
GPUDirect RDMA
Схема работы GPUDirect RDMA. Источник: Gigabyte.
  • GPUDirect Storage (GDS). Эта система необходима для ускорения доступа к данным на локальных или удаленных устройствах хранения информации (например, NVMe или NVMe over Fabric). GDS позволяет совместимым устройствам хранения (в частности, NVMe SSD) напрямую передавать данные в память GPU, минуя буферы в CPU. Это устраняет задержки в системах, интенсивно работающих с данными: СХД для обучения крупных моделей ИИ, инференс на больших наборах данных или инфраструктурах для высокоскоростной аналитики.
Схема GPUDirect Storage
Схема работы GPUDirect Storage, Источник: Nvidia.

Как работает GPUDirect?

На архитектурном уровне GPUDirect обеспечивает прямое взаимодействие между устройствами через шину PCIe, используя механизм прямого доступа к памяти (DMA). Специальные драйверы (CUDA, драйверы сетевых адаптеров, драйверы хранилищ) и аппаратная поддержка в самих GPU (блоки IOMMU) и периферийных устройствах координируют этот процесс. Когда приложению нужно передать данные, например, от сетевой карты к GPU, драйверы настраивают DMA-движки сетевого адаптера на прямой доступ к физическим адресам памяти GPU. Адаптер, который обязательно должен поддерживать RDMA, инициирует передачу данных напрямую через PCIe, не требуя вмешательства CPU или использования его памяти в качестве промежуточного буфера. 

Архитектура системы с GPUDirect Storage
Схема архитектуры системы с поддержкой технологии GPUDirect Storage. Источник: Nvidia.

Преимущества использования GPUDirect

Использование GPUDirect обеспечивает значительный прирост производительности и эффективности вычислительной инфраструктуры за счет следующих преимуществ:
  • Существенное снижение задержек. Устранение лишних буферов в памяти CPU сокращает латентность до минимума. Конкретные показатели задержки зависят от типа драйверов, выбранного оборудования и объема передаваемых данных. 
  • Высвобождение ресурсов CPU. Центральные процессоры больше не тратят драгоценные такты на перемещение данных, что позволяет сосредоточить вычислительные мощности на более важных операциях.
  • Повышение пропускной способности ввода/вывода. Прямой доступ к памяти GPU позволяет достигать максимально возможной скорости передачи данных, ограниченной только пропускной способностью линий PCIe и устройств.
  • Увеличение общей производительности системы. Снижение латентности и высвобождение ресурсов CPU напрямую влияет на ускорение работы приложений. Например, использование GPUDirect RDMA в кластерах может давать прирост производительности межсерверных коммуникаций на 30-50% и более по сравнению с традиционными методами.

Области применения GPUDirect

Технология GPUDirect стала неотъемлемой частью вычислительных инфраструктур, в которых требуются максимальные скорости обмена данными между GPU и другими компонентами. К этим инфраструктурам относятся:
  • Суперкомпьютеры и HPC-кластеры. В крупных кластерных системах GPUDirect используется для ускорения соединения между узлами (MPI), что увеличивает скорость выполнения комплексных задач, требующих высокого параллелизма, например, моделирования сложных физических, химических и биологических процессов.
  • Обучение и инференс ИИ. GPUDirect в секторе ИИ необходим для быстрой загрузки обучающих данных в GPU и обмена градиентами/параметрами между GPU в гетерогенных системах.
  • Обработка больших данных. В системах Big Data GPUDirect ускоряет доступ к данным хранилищ и их обработку на графических процессорах.
  • Периферийные вычисления. В некоторых системах GPUDirect используется для эффективной обработки потоков данных от датчиков или видеокамер непосредственно на GPU.
  • Специализированные системы. Системы, такие как Nvidia DGX и Nvidia HGX, а также кластерные решения на базе InfiniBand или высокоскоростного Ethernet, в значительной степени полагаются на возможности технологии GPUDirect для достижения максимальной производительности за счет минимизации задержек и ускорения доступа к данным.

Аппаратные и программные требования

Для использования всех возможностей GPUDirect необходима поддержка как со стороны железа, так и софта, причем, только определенных видов и версий:
  • Поддерживаемые GPU. GPUDirect поддерживается профессиональными графическими ускорителями Nvidia: Tesla (начиная с поколения Kepler), A100, L40, H100/H200, B200/B300. Для видеокарт потребительского типа поддержка современных версий технологии GPUDirect не предусмотрена.
  • Сетевые адаптеры. Для GPUDirect RDMA необходимы адаптеры с поддержкой API-интерфейсов RDMA (например, NVIDIA ConnectX InfiniBand или адаптеры Ethernet с RoCE) и соответствующими драйверами.
  • Программное обеспечение. Обязательно наличие драйверов NVIDIA CUDA последних версий. Для сетевых функций требуется поддержка в MPI-библиотеках (Cuda-aware MPI, такие как Open MPI, MVAPICH2). Для GPUDirect Storage необходимы CUDA Toolkit последних версий, специальный драйвер GDS и совместимая файловая система (например, поддерживающая libcufile.so).
  • Конфигурация PCIe. Для работы GPUDirect система также должна поддерживать PCIe с возможностью P2P-связи, а также достаточное количество линий PCIe, чтобы графический процессор и сетевая карта могли взаимодействовать напрямую. Поддержка GPUDirect не зависит от конкретной версии PCIe, а зависит от топологии подключения устройств и поддержки со стороны системной платформы (чипсет/CPU, BIOS).
  • Операционная система. GPUDirect поддерживается популярными серверными ОС, например различными дистрибутивами Linux (Ubuntu, Debian и т.д.) и Windows Server, однако операционная система Microsoft используется намного реже из-за проблем с совместимостью CUDA и отсутствия гибкой настройки. 

Вывод

GPUDirect — важнейшая технология для построения эффективных вычислительных инфраструктур на базе GPU, без которой развитие сектора искусственного интеллекта и суперкомпьютеров оказалось бы под вопросом. Возможность максимального снижения задержек и ускорения доступа к данным позволяет передавать огромные объемы информации между GPU, сетевыми картами и накопителями, при этом снижая нагрузку на центральный процессор, подобно традиционным сетевым технологиям. Однако проприетарная природа GPUDirect ограничивает массовое использование этой передовой технологии, еще больше укрепляя доминацию компании Nvidia на рынке ИИ и увеличивая ее влияние в секторе HPC. Однако у крупнейших IT-компаний, в частности AMD, все же есть собственный аналог GPUDirect под названием ROCm RDMA, о котором мы поговорим в отдельной статье.

Автор: Serverflow Serverflow
Поделиться

Комментарии 0

Написать комментарий
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Написать отзыв
До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Написать комментарий

Комментарий появится на сайте после предварительной модерации

До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Мы свяжемся с вами утром

График работы: Пн-Пт 10:00-18:30 (по МСК)

Обработаем вашу заявку
в ближайший рабочий день

График работы: Пн-Пт 10:00-18:30 (по МСК)