Repolode
openucx

openucx/ucc

CPU, GPU 및 하드웨어 가속기에서 allreduce, broadcast 같은 연산을 구현해 HPC와 AI 워크로드를 지원하는 통합 collective communication 라이브러리 및 API입니다.

스타
322
포크
132
열린 이슈
103
마지막 커밋
그저께

어떤 프로젝트인가요?

UCC는 collective communication 연산을 위한 라이브러리이자 API입니다. allreduce와 broadcast처럼 병렬 프로그램이 동기화에 사용하는 다중 프로세스 간 데이터 교환을 지원합니다. HPC, AI/ML 및 I/O 워크로드를 위해 설계되었으며, 하나의 인터페이스로 여러 프로그래밍 모델과 런타임을 지원하는 것을 목표로 합니다.

이 라이브러리는 nonblocking collective, 한 번 초기화한 뒤 여러 번 호출할 수 있는 반복 실행 연산, 유연한 리소스 할당 모델을 제공합니다. 하드웨어 collective를 설계의 핵심 요소로 다룹니다. UCC는 UCX의 UCS 유틸리티를 기반으로 하며, 지원 전송 방식으로 InfiniBand, RoCE, shared memory, SHARP, CUDA, NCCL, RCCL 및 MLX5를 명시합니다.

UCC는 Open MPI의 collective 구성 요소로 사용할 수 있습니다. README에는 mpirun 매개변수를 통해 MPI 및 OpenSHMEM 프로그램에서 UCC를 활성화하는 방법이 나와 있습니다. autotools로 빌드하며 UCX가 필요하고, CUDA 및 HIP 지원은 선택 사항입니다.

핵심 기능

  • 01여러 프로그래밍 모델을 지원하는 nonblocking collective 연산입니다.
  • 02한 번 초기화한 뒤 여러 번 호출할 수 있는 반복 실행 collective입니다.
  • 03SHARP 및 InfiniBand, RoCE, MLX5 전송 방식을 통한 하드웨어 collective를 지원합니다.
  • 04CUDA, NCCL, HIP 및 RCCL을 지원하는 GPU collective입니다.
  • 05런타임 매개변수를 통한 Open MPI 및 OpenSHMEM 통합입니다.

활용 사례

  • 다중 노드 HPC 애플리케이션에서 allreduce 및 broadcast를 가속합니다.
  • InfiniBand 또는 RoCE를 통한 GPU collective로 분산 AI/ML 학습을 실행합니다.
  • Open MPI 또는 OpenSHMEM 프로그램의 collective 백엔드로 UCC를 활성화합니다.

빠른 시작

  1. 1

    저장소를 클론하고 해당 디렉터리로 이동합니다

  2. 2

    빌드 스크립트를 생성합니다

    ./autogen.sh
  3. 3

    UCX 설치 경로를 지정해 빌드를 구성합니다

    ./configure --prefix=<ucc-install-path> --with-ucx=<ucx-install-path>
  4. 4

    라이브러리를 컴파일합니다

    make

사용 전 알아둘 점

  • 먼저 UCX를 빌드하고 설치해야 합니다.
  • README에는 소스에서 빌드하는 방법만 안내되어 있으며, 패키지 관리자를 통한 설치 방법은 없습니다.

포함된 컬렉션

토픽

#collectives#hpc#mpi#gpu#infiniband#distributed-computing#cuda#deep-learning#openshmem#pgas

자주 묻는 질문

ucc은(는) 무엇인가요?
CPU, GPU 및 하드웨어 가속기에서 allreduce, broadcast 같은 연산을 구현해 HPC와 AI 워크로드를 지원하는 통합 collective communication 라이브러리 및 API입니다. UCC는 collective communication 연산을 위한 라이브러리이자 API입니다. allreduce와 broadcast처럼 병렬 프로그램이 동기화에 사용하는 다중 프로세스 간 데이터 교환을 지원합니다. HPC, AI/ML 및 I/O 워크로드를 위해 설계되었으며, 하나의 인터페이스로 여러 프로그래밍 모델과 런타임을 지원하는 것을 목표로 합니다.
ucc은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
ucc은(는) BSD-3-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
ucc은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. ucc의 마지막 커밋은 2026년 11월 5일입니다.
ucc은(는) 어디에 사용할 수 있나요?
다중 노드 HPC 애플리케이션에서 allreduce 및 broadcast를 가속합니다. InfiniBand 또는 RoCE를 통한 GPU collective로 분산 AI/ML 학습을 실행합니다. Open MPI 또는 OpenSHMEM 프로그램의 collective 백엔드로 UCC를 활성화합니다.
ucc는 어떻게 설치하나요?
저장소를 클론하고 해당 디렉터리로 이동합니다 빌드 스크립트를 생성합니다: ./autogen.sh UCX 설치 경로를 지정해 빌드를 구성합니다: ./configure --prefix=<ucc-install-path> --with-ucx=<ucx-install-path> 라이브러리를 컴파일합니다: make
ucc은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/openucx/ucc

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

HGEMM, FP8/FP4 GEMM, Flash-Attention을 다루는 200개 이상의 커널이 포함된 최신 CUDA 학습 노트 오픈소스 책 및 코드 모음입니다.

학습 자료#cuda#gpu#tensor-cores
1.2만+17 이번 주1.3천CudaGPL-3.0업데이트 그저께