기타 Hacker News · 4시간 전

엔비디아, 마침내 Rust로 직접 짜는 공식 GPU 프로그래밍 지원 발표

핵심 요약
  • 엔비디아가 GPU 커널을 외부 래퍼 없이 Rust 언어로 직접 작성해 PTX로 네이티브 컴파일하는 CUDA Rust 지원을 공식 발표했습니다.
  • SIMT 방식을 지원하는 'cuda-oxide'와 컴파일러가 스레드 매핑을 최적화해 주는 타일 기반의 'cutile-rs' 두 가지 경로를 제공합니다.
  • Rust의 메모리 안전성을 유지하면서도 기존 CUDA C++ 및 Python과의 상호 운용성을 지원해 언어 장벽을 낮출 계획입니다.
요약 엔비디아가 2026년 9월, Rust 언어로 GPU 커널을 직접 작성할 수 있는 네이티브 프로그래밍 지원 계획을 발표했습니다. 그동안 AI 인프라, 서빙 엔진, 런타임 등 시스템 레이어 전반에서 컴파일 타임 메모리 안전성과 고성능을 겸비한 Rust 도입이 꾸준히 늘어났지만, 정작 GPU 커널 자체는 C++나 다른 언어로 작성해야만 하는 한계가 있었습니다. 이번 발표를 통해 별도의 외부 래퍼 없이 Rust로 직접 PTX 코드를 생성할 수 있게 되었습니다. 엔비디아가 제시한 CUDA Rust 경로는 크게 두 가지입니다. 첫 번째는 기존 CUDA C++나 numba-cuda처럼 스레드 단위로 직접 하드웨어를 제어하는 전통적 SIMT 모델인 'cuda-oxide'입니다. 커스텀 rustc 코드젠 백엔드를 활용하며, 컴파일 단계에서 DisjointSlice 및 론칭 계약을 통해 메모리 에일리어싱을 방지합니다. 다만 현재 초기 알파 단계로, 나이틀리 툴체인과 LLVM 등을 요구합니다. 두 번째는 엔비디아가 기본으로 권장하는 타일(Tile) 기반 프로그래밍 모델인 'cutile-rs'입니다. 개발자가 데이터 타일 단위 연산을 정의하면 컴파일러가 각 아키텍처에 맞게 스레드 매핑과 메모리 배치를 알아서 최적화해 주는 방식입니다. cutile-rs는 이미 crates.io에 배포되어 있으며, 안정(Stable) Rust 1.89 이상 및 CUDA 13.3 환경에서 바로 사용할 수 있습니다. 허깅페이스의 Grout 추론 엔진이나 mistral.rs 등 실제 프로젝트에서도 이미 적용 중입니다. 엔비디아는 앞으로 CUDA Rust와 기존 CUDA C++, CUDA Python 간의 상호 운용성을 적극 지원하여 특정 언어 생태계에 갇히지 않도록 하겠다고 밝혔습니다. 이번 조치를 통해 시스템 전체를 Rust 단일 언어 생태계로 통합하려는 개발자들의 GPU 커널 프로그래밍 장벽이 크게 낮아질 것으로 보입니다.
Sponsored · 광고