엔비디아(NVIDIA) 연구소(NVlabs)에서 러스트(Rust) 언어를 활용해 GPU 커널을 개발할 수 있는 새로운 시스템 'cuTile Rust'를 발표했습니다. 이 프로젝트는 러스트의 핵심 강점인 메모리 안전성(memory-safety)과 데이터 경쟁(data-race) 방지 기능을 GPU 프로그래밍 영역으로 확장하여, 개발자들이 보다 안정적이고 효율적인 고성능 GPU 애플리케이션을 구축할 수 있도록 지원합니다.
cuTile Rust는 러스트의 소유권(ownership) 개념을 GPU 실행 경계 너머까지 적용합니다. 가변 텐서(mutable tensors)는 GPU 실행 전에 분리된 조각으로 나뉘고, 불변 텐서(immutable tensors)는 공유됩니다. 이를 통해 GPU 작업이 진행되는 동안에도 소유권이 보존되어 데이터 경쟁을 원천적으로 차단합니다. 특히, `#[cutile::module]` 매크로를 통해 러스트 AST(추상 구문 트리)를 호스트 바이너리에 임베드하고, 필요할 때 CUDA Tile IR을 거쳐 GPU cubin으로 JIT 컴파일하는 방식을 사용합니다. 이 시스템은 동기식 실행은 물론 비동기 파이프라인, CUDA 그래프 리플레이까지 지원하며, 엔비디아 B200 GPU에서 요소별 연산 시 7TB/s, GEMM 연산 시 2PFlop/s에 달하는 성능을 기록하며 cuBLAS와 견줄 만한 경쟁력을 입증했습니다.
cuTile Rust의 등장은 GPU 프로그래밍 생태계에 중요한 변화를 가져올 수 있습니다. 기존 CUDA C++에 비해 러스트는 개발자에게 더 높은 수준의 안전성과 생산성을 제공하며, 이는 복잡한 GPU 코드를 작성할 때 발생할 수 있는 버그와 오류를 줄이는 데 크게 기여할 것입니다. 특히, 허깅페이스(Hugging Face)와 협력하여 cuTile Rust로 구축된 Qwen3 추론 엔진 'Grout'가 최첨단 성능을 보여준 사례는, 이 기술이 실제 AI 추론(inference)과 같은 메모리 집약적인 작업에서 큰 잠재력을 가지고 있음을 시사합니다. 비록 아직 초기 연구 단계에 있지만, 러스트 기반의 안전한 GPU 커널 개발 환경은 향후 AI 및 고성능 컴퓨팅 분야의 혁신을 가속화할 핵심 도구가 될 것으로 기대됩니다.