피드로 돌아가기
Dev.toInfrastructure
원문 읽기
MLNX_OFED 의존성 제거 및 DMA-BUF 기반 GPUDirect RDMA 최적화
NVIDIA peermem invalid argument-fix
AI 요약
Context
Ubuntu inbox rdma-core 스택 환경에서 nvidia-peermem 모듈 로드 시 MLNX_OFED 전용 API 부재로 인한 -EINVAL 오류 발생. 기존 legacy 경로인 nvidia-peermem은 특정 벤더 전용 커널 API에 의존하여 메인라인 커널 기반 환경에서 호환성 한계 노출.
Technical Solution
- Proprietary API 의존성을 제거한 mainline Linux 프레임워크인 DMA-BUF 기반의 네이티브 경로 채택
- nvidia-drm modeset=1 설정을 통한 GPU 메모리의 DMA-BUF export 활성화
- cudaMalloc으로 할당한 GPU 메모리를 cuMemGetHandleForAddressRange API를 통해 DMA-BUF FD로 변환
- 변환된 FD를 ibv_reg_dmabuf_mr API로 InfiniBand HCA에 등록하여 직접 메모리 접근 구조 설계
- Hopper 아키텍처 이상의 GPU와 NVIDIA open kernel driver 조합을 통한 드라이버 레벨 최적화
실천 포인트
1. H100/H200/B200 등 Hopper+ GPU 및 Open Driver 사용 여부 확인
2. /sys/module/nvidia_drm/parameters/modeset 값이 Y인지 검증
3. nvidia-peermem 모듈 강제 로드 시도 대신 DMA-BUF 기반의 3단계 호출(cudaMalloc -> cuMemGetHandle -> ibv_reg_dmabuf_mr) 성공 여부로 GPUDirect RDMA 작동 확인