
NVIDIA 공식 기술 블로그에 따르면 회사는 Rust로 GPU 커널을 작성하고 PTX로 컴파일할 수 있는 CUDA Rust 프로젝트 두 가지를 공개했다. 개발자는 저수준 스레드 실행 방식을 다루는 cuda-oxide와 타일 단위 프로그래밍 모델을 쓰는 cutile-rs 가운데 작업 성격에 맞는 경로를 선택할 수 있다.
cuda-oxide는 Rust 컴파일러의 코드 생성 단계를 활용해 커널 함수를 PTX로 내보내는 방식이다. NVIDIA는 이 경로가 CUDA C++와 유사한 SIMT 모델을 따르며, 스레드와 메모리를 세밀하게 제어해야 할 때 사용할 수 있다고 설명했다. 다만 리눅스, 컴퓨트 능력 8.0 이상 GPU, CUDA 12.x 이상과 고정된 나이틀리 Rust 도구 체인이 필요하다.
cutile-rs는 CUDA Tile IR을 이용해 타일 단위로 커널을 표현한다. 컴파일러가 타일을 실제 GPU 스레드에 배치하는 구조라 개발자가 스레드 인덱스와 일부 메모리 제어를 직접 작성하는 부담을 줄인다. 이 경로는 CUDA 13.3, Rust 1.89 이상과 컴퓨트 능력 8.0 이상 GPU를 요구한다.
두 프로젝트는 Rust의 소유권과 대여 규칙을 GPU 메모리 접근에 적용해, 같은 버퍼를 읽기와 쓰기에 동시에 사용하는 등 경쟁 상태로 이어질 수 있는 코드를 컴파일 단계에서 걸러내는 것을 목표로 한다. NVIDIA는 cuda-oxide가 초기 알파 단계이고 cutile-rs도 API와 기능 범위가 계속 바뀔 수 있는 초기 프로젝트라고 밝혔다.
AI 추론 엔진과 서빙 인프라에서 Rust 사용이 늘어나는 가운데, GPU 커널까지 같은 언어로 다루려는 시도는 시스템 소프트웨어 개발 흐름과 맞닿아 있다. 다만 두 도구 모두 프로덕션 준비가 끝난 상태는 아니어서, 실제 도입에서는 지원 GPU·CUDA 버전과 필요한 저수준 제어 범위를 함께 검토해야 한다.
출처: NVIDIA Technical Blog https://developer.nvidia.com/blog/introducing-cuda-rust-two-tracks-for-writing-gpu-kernels/
NVlabs cuda-oxide https://github.com/NVlabs/cuda-oxide
NVlabs cutile-rs https://github.com/NVlabs/cutile-rs