NVIDIA-ს მკვლევართა ჯგუფმა წარმოადგინა cuTile Rust — სისტემა, რომელიც მიზნად ისახავს GPU-ზე დაფუძნებული გამოთვლების რადიკალურ გაუმჯობესებას. პროექტი დეველოპერებს აძლევს საშუალებას, დაწერონ უსაფრთხო და მონაცემთა შეჯახებისგან (data-race) დაცული კოდი Rust-ის ენის პრინციპების გამოყენებით.

როგორ მუშაობს cuTile Rust?

სისტემის მთავარი სიახლე Rust-ის მფლობელობის (ownership) მოდელის გაფართოებაა GPU-ს არქიტექტურაზე. კოდის გაშვებამდე სისტემა ავტომატურად ანაწილებს მუტაბელურ ტენზორებს დამოუკიდებელ ნაწილებად, ხოლო უცვლელი მონაცემები რჩება საერთო წვდომაში. ეს მიდგომა უზრუნველყოფს, რომ GPU-ს მუშაობის დროს მეხსიერებასთან დაკავშირებული შეცდომები მინიმუმამდეა დაყვანილი.

#[cutile::module] მაკრო გამოიყენება Rust-ის კოდის CUDA Tile IR-ად გარდასაქმნელად. ეს პროცესი ხდება JIT-კომპილაციის (Just-In-Time) გზით, რაც საშუალებას იძლევა, კოდი პირდაპირ GPU-ს მანქანურ კოდზე (cubin) გადავიდეს.

შესრულების მაჩვენებლები და ეფექტურობა

კვლევის თანახმად, NVIDIA B200-ზე cuTile Rust-მა აჩვენა შთამბეჭდავი შედეგები: ელემენტარულ ოპერაციებში მან 7 TB/s გამტარუნარიანობას მიაღწია, ხოლო GEMM (General Matrix Multiply) ოპერაციებში 2 PFlop/s-ს. ეს მაჩვენებლები უტოლდება და ზოგჯერ აღემატება ტრადიციულ cuBLAS ბიბლიოთეკას.

სისტემის უსაფრთხოება არ მოდის წარმადობის ხარჯზე. მიკრობენჩმარკების მიხედვით, cuTile Rust-ის მიერ დამატებული უსაფრთხოების ფენა პრაქტიკულად არ ქმნის დამატებით დაყოვნებას (overhead), რაც მას იდეალურს ხდის მაღალი დატვირთვის მქონე სისტემებისთვის.

Grout: Qwen3-ის ინფრასტრუქტურა

პროექტის ფარგლებში შექმნილია Grout — Qwen3-ის ინფერენსის ძრავა, რომელიც Hugging Face-თან თანამშრომლობით შეიქმნა. ტესტებმა აჩვენა, რომ Qwen3-4B მოდელი NVIDIA RTX 5090-ზე 171 ტოკენს/წმ-ში ამუშავებს, რაც ადასტურებს სისტემის ვარგისიანობას თანამედროვე AI მოდელების ეფექტურად გაშვებისთვის.

ტექნიკური მოთხოვნები

პროექტის გამოსაყენებლად აუცილებელია:

  • NVIDIA GPU sm_80 ან უფრო მაღალი არქიტექტურით.
  • CUDA 13.3 და Rust 1.89+ ვერსიები.
  • Linux ოპერაციული სისტემა (რეკომენდებულია Ubuntu 24.04).

მიუხედავად იმისა, რომ პროექტი ჯერ კიდევ ადრეულ ეტაპზეა, ის ღიაა წვლილის შეტანისთვის. დეველოპერებს შეუძლიათ გამოიყენონ Nix flake-ი გარემოს სწრაფი კონფიგურაციისთვის.