CUDA 커널도 Rust로 직접 작성…NVIDIA, 메모리 안전성 갖춘 오픈소스 경로 2종 공개
Rust 코드가 래퍼를 거치지 않고 GPU용 PTX로 직접 향하는 두 경로가 열렸다. NVIDIA의 cuda-oxide와 cutile-rs는 각각 SIMT 제어와 타일 추상화를 택해, AI 인프라의 Rust 전환에서 마지막으로 남았던 커널 경계를 겨냥한다.
원문: Introducing CUDA Rust: Two Tracks for Writing GPU Kernels 원문 보기 →
GPU 커널만 다른 언어로 남겨 두던 Rust 기반 AI 인프라의 경계가 무너진다. NVIDIA가 9월 8일 공개한 CUDA Rust는 Rust로 쓴 커널을 GPU 명령 형식인 PTX로 직접 컴파일한다. 호스트 코드에서 CUDA C++ 커널을 호출하는 얇은 래퍼가 아니라, 커널 본체까지 Rust의 타입과 소유권 검사를 적용하는 방식이다. 공개된 두 프로젝트는 세밀한 스레드 제어가 필요한 SIMT용 cuda-oxide와, 컴파일러가 실행 배치를 맡는 타일 방식의 cutile-rs다.
cuda-oxide는 rustc의 맞춤형 코드 생성 백엔드다. #[kernel] 함수가 Rust MIR, Pliron IR, LLVM IR을 거쳐 PTX로 내려가며 나머지 코드는 표준 백엔드가 처리한다. 개발자는 DisjointSlice로 각 스레드가 출력 배열의 서로 겹치지 않는 원소만 수정하게 만들고, launch_contract로 차원과 블록 크기를 선언한다. 실행 전에 런치 구성이 계약과 실제 GPU 한계를 만족하는지 확인되므로, 잘못된 별칭이나 범위 접근 일부가 런타임 오류가 아니라 컴파일·호출 단계의 문제로 바뀐다.
대신 진입 비용은 아직 높다. cuda-oxide는 Linux, compute capability 8.0 이상 GPU, CUDA 12.x 이상, clang과 고정된 nightly Rust 도구 모음을 요구한다. 프로젝트 상태도 early alpha다. 공유 메모리를 쓰는 핵심 SIMT 경로에는 여전히 unsafe가 필요해, Rust를 택했다고 모든 GPU 메모리 오류가 사라지는 것은 아니다. NVIDIA는 이 안전 경로를 현재 진행 중인 작업으로 명시했다.
cutile-rs는 개발자가 개별 스레드 대신 데이터 타일 하나의 연산을 기술하게 한다. #[cutile::module] 매크로가 커널 구문 트리를 호스트 바이너리에 넣고, 첫 실행 때 CUDA Tile IR을 통해 JIT 컴파일한다. 출력 텐서를 128개 원소 단위로 나누면 각 타일이 독점 쓰기 영역을 소유하고, 1,024개 원소는 8개 타일로 배치된다. 스레드 매핑과 메모리 배치는 컴파일러가 맡기 때문에 소스에 특정 GPU 세대의 선택을 덜 새길 수 있다.
이 경로는 stable Rust 1.89 이상과 CUDA 13.3, compute capability 8.0 이상 GPU에서 작동하며 별도 LLVM 설치가 필요 없다. cutile 패키지는 crates.io에 올라왔고 이미 Hugging Face의 Grout 추론 엔진과 mistral.rs에서 쓰인다. 다만 NVIDIA는 두 프로젝트 모두 아직 프로덕션 준비가 끝나지 않았고 API가 바뀔 수 있다고 선을 그었다. 성능 비교 수치도 이번 글에는 없어, CUDA C++을 대체했다고 단정할 단계는 아니다.
중요한 변화는 AI 시스템의 언어 구성이 단순해질 가능성이다. NVIDIA의 Nova Linux 드라이버와 Dynamo 핵심부처럼 인프라 계층은 이미 Rust를 받아들였지만, 실제 GPU 커널은 C++이나 다른 언어로 갈라지는 경우가 많았다. 커널까지 같은 소유권 모델로 묶이면 언어 경계의 빌드 복잡도와 메모리 안전성 검토 범위를 줄일 수 있다. NVIDIA는 CUDA Rust를 2027년 이후에도 키우고 C++·Python 경로와 상호 운용할 계획이다. 당장은 성숙한 도구의 교체보다, Rust 중심 추론 엔진이 실험할 수 있는 네이티브 선택지가 생긴 사건에 가깝다.
관련 기사
NVIDIA, Hugging Face 129억3030만달러 인수…오픈 모델 플랫폼 독립성 유지
NVIDIA가 Hugging Face를 129억3030만달러에 인수하기로 합의하며 1,800만 개발자와 300만개 모델이 모인 오픈 AI 생태계를 품는다. 양사는 NVIDIA 하드웨어를 강제하지 않고 멀티클라우드·멀티가속기 중립성을 유지하겠다고 약속했으며, 규제 심사가 다음 변수다.
NVIDIA, Hugging Face 모델을 단 두 명령으로 TensorRT 번들로 변환하는 오픈소스 도구 공개
지원되는 Hugging Face 모델을 ONNX 중간 변환 없이 두 명령으로 TensorRT 추론 번들로 만들 수 있게 됐다. NVIDIA의 TensorRT Model Connect는 같은 번들을 네이티브 C++ API에서 실행하며, 전체 프로젝트는 Codex 에이전트와 사람의 검토로 구축됐다.
Nvidia의 HuggingFace 인수, llama.cpp 팀 흡수로 이어질 전망
Nvidia의 HuggingFace 인수가 2026년 2월 HF에 합류한 llama.cpp 핵심 개발팀까지 사실상 흡수할 수 있다는 분석이 LocalLLaMA 커뮤니티에서 나왔다.