CPU, GPU 및 하드웨어 가속기에서 allreduce, broadcast 같은 연산을 구현해 HPC와 AI 워크로드를 지원하는 통합 collective communication 라이브러리 및 API입니다.
NVIDIA/nccl
NCCL은 단일 노드 및 멀티 노드 학습을 위한 all-reduce, all-gather 등의 최적화된 GPU 통신 프리미티브를 제공하는 NVIDIA 라이브러리입니다.
- 스타
- 5,213
- 포크
- 1,473
- 열린 이슈
- 466
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
NCCL(발음: “니켈”)은 GPU용 집단 통신 루틴을 제공하는 독립형 라이브러리입니다. all-reduce, all-gather, reduce, broadcast, reduce-scatter를 구현하며, send/receive 기반 통신 패턴도 지원합니다. 분산 딥러닝처럼 많은 GPU가 빠르게 데이터를 주고받아야 하는 워크로드를 대상으로 합니다.
NCCL은 노드 내부에서는 PCIe, NVLink, NVSwitch를 통한 고대역폭 통신에, 노드 간에는 InfiniBand Verbs 또는 TCP/IP 소켓을 통한 통신에 맞춰 최적화되어 있습니다. 한 대의 머신에 있거나 여러 머신에 분산된 임의 개수의 GPU를 지원하며, 단일 프로세스와 멀티 프로세스(예: MPI) 애플리케이션 모두에서 작동합니다.
저장소에는 라이브러리 소스 코드와 빌드용 make 타깃이 있으며, Debian, RPM, 일반 tarball, Python wheel 패키징 옵션도 제공됩니다. 테스트는 별도의 nccl-tests 저장소에 있습니다.
핵심 기능
- 01all-reduce, all-gather, reduce, broadcast, reduce-scatter 집단 통신을 구현합니다
- 02노드 내 또는 여러 노드에 걸친 임의 개수의 GPU를 지원합니다
- 03PCIe, NVLink, NVSwitch, InfiniBand Verbs, TCP/IP 소켓을 사용합니다
- 04단일 프로세스 및 멀티 프로세스(예: MPI) 애플리케이션에서 작동합니다
- 05소스에서 빌드하거나 deb, rpm, tarball, Python wheel로 패키징할 수 있습니다
활용 사례
- 멀티 GPU 분산 딥러닝 학습에서 그래디언트 동기화
- 고성능 컴퓨팅 작업에서 여러 GPU 간 텐서 교환
- 함께 제공되는 nccl-tests 제품군으로 인터커넥트 대역폭 벤치마킹
빠른 시작
- 1
NVIDIA 개발자 페이지에서 공식 NCCL 빌드를 다운로드하세요
- 2
소스 코드에서 라이브러리를 빌드하세요
make -j src.build
사용 전 알아둘 점
- 메타데이터에 라이선스가 명확하게 지정되어 있지 않으므로 사용 전에 저장소의 라이선스 조건을 확인하세요.
- 소스 코드에서 빌드하려면 CUDA Toolkit이 설치되어 있어야 하며 NVIDIA GPU가 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- nccl은(는) 무엇인가요?
- NCCL은 단일 노드 및 멀티 노드 학습을 위한 all-reduce, all-gather 등의 최적화된 GPU 통신 프리미티브를 제공하는 NVIDIA 라이브러리입니다. NCCL(발음: “니켈”)은 GPU용 집단 통신 루틴을 제공하는 독립형 라이브러리입니다. all-reduce, all-gather, reduce, broadcast, reduce-scatter를 구현하며, send/receive 기반 통신 패턴도 지원합니다. 분산 딥러닝처럼 많은 GPU가 빠르게 데이터를 주고받아야 하는 워크로드를 대상으로 합니다.
- nccl은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- nccl은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- nccl은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. nccl의 마지막 커밋은 2026년 11월 3일입니다.
- nccl은(는) 어디에 사용할 수 있나요?
- 멀티 GPU 분산 딥러닝 학습에서 그래디언트 동기화 고성능 컴퓨팅 작업에서 여러 GPU 간 텐서 교환 함께 제공되는 nccl-tests 제품군으로 인터커넥트 대역폭 벤치마킹
- nccl는 어떻게 설치하나요?
- NVIDIA 개발자 페이지에서 공식 NCCL 빌드를 다운로드하세요 소스 코드에서 라이브러리를 빌드하세요: make -j src.build
- nccl은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/NVIDIA/nccl
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
혼합 정밀도 및 분산 학습 유틸리티와 선택적 CUDA 및 C++ 융합 커널을 제공하는 NVIDIA의 PyTorch 확장입니다.
NVIDIA GPU 또는 멀티스레드 CPU에서 실행되는 NumPy 스타일 텐서 표현식과 선택적 커널 퓨전을 지원하는 C++20 헤더 전용 라이브러리입니다.
AWS 클러스터에서 분산 AI 학습과 추론을 실행하기 위한 참조 아키텍처, 템플릿 및 예제 모음입니다.
HGEMM, FP8/FP4 GEMM, Flash-Attention을 다루는 200개 이상의 커널이 포함된 최신 CUDA 학습 노트 오픈소스 책 및 코드 모음입니다.