Python에 임베드된 프로그래밍 언어로, 수치 커널을 JIT 컴파일해 CUDA, Vulkan, Metal 같은 CPU와 GPU에서 실행합니다.
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 파이프라인 구축하기.
포함된 컬렉션
토픽
자주 묻는 질문
- 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를 지원하는 헤더 전용 라이브러리입니다.
CPU, GPU, 메모리 사용량을 줄 단위로 보여주고 AI 최적화 제안도 선택적으로 제공하는 Python 프로파일러입니다.
투기적 디코딩·프리필과 커스텀 커널을 활용해 일반 소비자용 GPU와 AMD/NVIDIA 혼합 시스템에서 구동하는 C++ LLM 추론 서버입니다.
NVIDIA GPU에서 고성능 GEMM 및 관련 선형대수 커널을 작성하기 위한 CUDA C++ 템플릿 라이브러리이자 Python DSL입니다.