Repolode
NVIDIA

NVIDIA/cuda-rust

NVIDIA의 CUDA용 Rust 플랫폼으로, 호스트 런타임 크레이트와 Rust로 GPU 커널을 작성하기 위한 SIMT 및 Tile 모델을 제공합니다.

스타
3,987
포크
360
열린 이슈
234
마지막 커밋
어제

어떤 프로젝트인가요?

CUDA Rust는 Rust 개발자가 NVIDIA GPU를 제어할 수 있도록 지원합니다. CUDA driver API를 위한 호스트 측 크레이트가 포함되어 있으며, 컨텍스트, 스트림, 디바이스 버퍼, 이벤트, 그리고 지연 실행되는 조합 가능한 비동기 작업을 지원합니다. 또한 디바이스 측 커널 프로그래밍 모델 두 가지를 제공합니다.

cuda-oxide 구성 요소는 기존 SIMT 모델을 대상으로 합니다. 이 모델에서는 스레드별 코드를 작성하고 스레드, 블록, 공유 메모리를 직접 관리합니다. 커스텀 rustc 코드 생성 백엔드로 구현되어 Rust 코드를 PTX로 사전 컴파일합니다. cutile-rs 구성 요소는 Tile 모델을 대상으로 합니다. 커널이 다차원 텐서의 타일 전체를 대상으로 연산하며, 컴파일러가 아키텍처별 작업 매핑을 처리합니다. proc-macro 플러그인으로, 처음 실행할 때 JIT 컴파일합니다.

두 모델 모두 GPU 실행 경계를 넘어 Rust의 소유권 규칙을 적용합니다. 실행 전에 가변 버퍼를 서로 겹치지 않는 조각으로 분할하고, 불변 버퍼는 공유합니다. 이 프로젝트는 초기 단계의 연구 프로젝트로 소개되어 있으므로, 미완성 기능과 API 변경이 있을 수 있습니다.

핵심 기능

  • 01Rust로 제공되는 호스트 측 드라이버 바인딩, 컨텍스트, 스트림, 디바이스 버퍼, 이벤트.
  • 02스레드 및 블록 인덱스를 명시적으로 다루고 PTX로 사전 컴파일하는 SIMT 커널 모델.
  • 03텐서 타일을 대상으로 연산하며 최초 실행 시 JIT 컴파일되는 Tile 커널 모델.
  • 04커널 실행 전후로 디바이스 버퍼에 적용되는 소유권 기반 차용 규칙.
  • 05두 모델의 커널을 공유 디바이스 버퍼에서 같은 스트림으로 실행할 수 있습니다.

활용 사례

  • 스레드, 워프, 공유 메모리를 세밀하게 제어해야 할 때 Rust로 맞춤형 GPU 커널 작성하기.
  • 밀집 텐서 또는 수치 연산 작업을 타일 연산으로 표현하고 컴파일러에 스케줄링을 맡기기.
  • 공유 런타임 크레이트를 기반으로 조합 가능한 디바이스 작업을 활용해 비동기 GPU 파이프라인 구축하기.

포함된 컬렉션

토픽

#gpu#cuda#rust#high-performance-computing#nvidia#gpu-programming#async#compiler-backend#heterogeneous-computing#programming-languages

자주 묻는 질문

cuda-rust은(는) 무엇인가요?
NVIDIA의 CUDA용 Rust 플랫폼으로, 호스트 런타임 크레이트와 Rust로 GPU 커널을 작성하기 위한 SIMT 및 Tile 모델을 제공합니다. CUDA Rust는 Rust 개발자가 NVIDIA GPU를 제어할 수 있도록 지원합니다. CUDA driver API를 위한 호스트 측 크레이트가 포함되어 있으며, 컨텍스트, 스트림, 디바이스 버퍼, 이벤트, 그리고 지연 실행되는 조합 가능한 비동기 작업을 지원합니다. 또한 디바이스 측 커널 프로그래밍 모델 두 가지를 제공합니다.
cuda-rust은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
cuda-rust은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
cuda-rust은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. cuda-rust의 마지막 커밋은 2026년 11월 5일입니다.
cuda-rust은(는) 어디에 사용할 수 있나요?
스레드, 워프, 공유 메모리를 세밀하게 제어해야 할 때 Rust로 맞춤형 GPU 커널 작성하기. 밀집 텐서 또는 수치 연산 작업을 타일 연산으로 표현하고 컴파일러에 스케줄링을 맡기기. 공유 런타임 크레이트를 기반으로 조합 가능한 디바이스 작업을 활용해 비동기 GPU 파이프라인 구축하기.
cuda-rust은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/NVIDIA/cuda-rust

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

관련 프로젝트

태스크 그래프를 활용한 태스크 병렬 C++ 프로그램 작성을 지원하며 CPU 멀티스레딩과 CUDA GPU를 지원하는 헤더 전용 라이브러리입니다.

백엔드·API#concurrent-programming#multithreading#parallel-computing
1.2만+8 이번 주1.4천C++Other업데이트 22일 전

기존 Python 배열 코드를 NVIDIA CUDA 또는 AMD ROCm GPU에서 실행할 수 있는 NumPy/SciPy 호환 배열 라이브러리입니다.

1.2만+6 이번 주1.2천PythonMIT업데이트 어제