Pulse 게시 ·

NVIDIA GPUNetIO, GPU 직접 통신을 위한 공통 오픈소스 기반 소개

NVIDIA가 CUDA 커널에서 네트워크 작업을 직접 실행하는 GPUNetIO의 통합 구조를 소개했다. 오픈소스판은 RDMA Verbs 중심이며, 전체 DOCA SDK는 Ethernet·DMA 등도 지원한다. 초기 설정은 CPU가 맡고 이후 GPU가 통신을 수행하며, NCCL은 2.27부터 이 오픈소스 경로를 활용한다.

오픈소스판은 가벼운 RDMA Verbs 구현이며, 전체 DOCA SDK와 기능 범위가 같지는 않다.

오픈소스 구현은 실행 시 DOCA SDK를 감지해 선택된 비공개 함수를 dlopen으로 호출할 수 있고, SDK가 없으면 자체 구현으로 작동한다.

CPU가 장치·메모리·네트워크 큐를 구성하고 GPU 메모리에 전달한 뒤, CUDA 커널이 작업 제출·네트워크 카드 알림·완료 확인을 수행한다.

고수준 API는 동시 접근의 동기화를 처리하지만, 저수준 API에서는 애플리케이션이 직접 동기화를 관리해야 한다.

GPU와 네트워크 카드의 직접 연결이 없는 시스템을 위한 CPU 보조 알림 방식도 제공한다.

여러 통신 라이브러리가 같은 구현을 사용하면 네트워크 카드 지원과 최적화를 각각 개발하는 부담을 줄일 수 있다.

원문