Nvidia, geliştiricilerin GPU çekirdeklerini doğrudan Rust ile yazmasını sağlayan yeni bir araç zinciri olan CUDA Rust'i duyurdu — daha önce var olmayan bir yetenek. Artık Rust mevcut CUDA bağlamaları aracılığıyla GPU çekirdeklerini başlatabilirdi, ancak geliştiriciler çekirdeklerin kendilerini Rust ile yazamıyordu. CUDA Rust bu boşluğu kapatıyor.

Girişim, her biri Rust-native GPU programlama için farklı bir yaklaşım izleyen iki projeyi kapsıyor. Erken alpha aşamasında olduğu belirtilen cuda-oxide, CUDA C++ ve numba-cuda tarafından kullanılan SIMT modelini uyguluyor. GPU çekirdeklerini doğrudan PTX'e çeviren kendi rustc codegen arka ucudur.

cutile-rs daha üst düzey bir yaklaşımda, geliştiricilerin tekli skalerler yerine tile üzerinde işlem tanımladığı, derleyicinin ise iş parçacığı eşleştirmesini ve bellek düzenini kararlaştırdığı bir yol izliyor. Nvidia, çoğu geliştirici için tercih edilen yol olarak cutile-rs'yi öneriyor.

Her iki proje de compile zamanında bellek güvenliğini zorunlu kılıyor — GPU bağlamalarında bellek hatalarının tanımlanmasının zor ve tehlikeli olabildiği CUDA C++'a göre önemli bir avantaj. cutile-rs, tensör bölümlemesi ve sahiplilik kullanarak tile bloğu başına münhasır yazma erişimi garantiliyor.

cutile-rs, ikisinin en olgun projesi. Zaten crates.io'da yayınlanmış ve Hugging Face'in Grout ile Mistral AI'nin mistral.rs olmak üzere iki dikkat çekici çıkarım motorunda producciónda kullanılıyor.