Ang isyu napublikar na CUDA-Oxide 0.2.0 — usa ka eksperimental nga NVIDIA Labs compiler nga nagtugot kanimo sa pagsulat og code para sa mga CUDA kernels sa puro nga taya ug i-compile kini direkta ngadto sa PTXAng proyekto naggamit sa kaugalingon nga backend para sa rustc ug nagsuporta sa modelo. SIMT ug gitukod gamit ang cargo oxide command, diin ang host ug device code mahimong anaa sa samang source tree. Nahitabo ang pagpagawas. 5 Hunyo 2026 ka tuig ug ginganlan nga unang "community release": human sa pag-abli sa 0.1.0 branch, ang proyekto midawat og 37 ka pull request gikan sa 23 ka partisipante.
Ang pangunang kausaban sa CUDA-Oxide 0.2.0 mao ang pagbalhin ngadto sa usa ka self-contained executable. Ang mga namugna nga GPU artifacts—PTX, NVVM-IR, LTOIR, ug cubin—mahimo na nga direktang i-embed sa host binary pinaagi sa bag-ong oxide-artifacts format. Kini nagpasabot nga ang usa ka Rust program nga adunay CUDA cores dili na kinahanglan nga magdala og managlahing .ptx files, ug ang mga cores direktang gikarga gikan sa nagdagan nga executable.
Panguna nga mga pagbag-o:
Pag-embed sa mga GPU core ngadto sa host binary. Ang bag-ong mekanismo nga #[cuda_module] makamugna og typed kernel launch interface ug magtago sa low-level module loading. Para sa developer, kini mas duol sa standard nga Rust API: ang mga slice ug buffer gi-map sa CUDA buffers, ug ang paglusad mas kusog nga gi-type.
Suporta sa padayon nga memorya sa CUDA. Gidugang ang #[constant] ug Constant uban sa pagmugna og host setter. Sa lebel sa PTX, kini katumbas sa .const ug address space 4. Importante kini para sa datos nga kinahanglan nga ma-access sa mga kernel isip constant values sa device.
Dugang matematika sa aparato. Ang f32::max, f32::min, ingon man ang atan ug atan2 para sa f32 ug f64, gidugang pinaagi sa libdevice. Kini nagpalapad sa hugpong sa tinuod nga mga computing kernel nga mahimong ipahayag nga dili mogamit sa C++/CUDA.
Hilom nga mga pag-ayo sa sayop nga pag-compile. Daghang hilom nga mga sayop nga pag-compile karon miresulta sa usa ka build-time failure imbes nga makamugna og sayop nga PTX (natipon ang nawala nga wgmma, wala gilakip ang mga destructor, natulon ang mga operator).
Gipauswag nga oras sa pagdagan sa host. Usa ka kontrata sa seguridad sa DeviceCopy ang gidugang para sa pagbalhin sa datos ngadto sa device, uban sa mga pinned host buffer nga adunay stream-ordered transfers, asynchronous error forwarding, ug low-level access sa raw CUmodule para sa integrasyon sa CUDA Driver API. Usa ka mismatch sa DeviceBuffer allocator ang naayo na usab, ug ang pagkaangay sa CUDA 12.8/13 ug aarch64 ang gidugang.
Pag-integra sa CUDA Tile. Ang pagpagawas nagdugang og ehemplo sa cuTile ↔ SIMT interaction: ang CUDA-Oxide Tile core ug SIMT PTX core mahimong modagan sa usa ka CUDA stream nga adunay gipaambit nga mga device tensor. Kini nagpakita sa lugar sa CUDA-Oxide sa mas lapad nga estratehiya sa Rust/CUDA sa NVIDIA: ang proyekto wala mopuli sa Tile DSL, apan nagsira sa kal-ang alang sa klaro nga SIMT programming sa Rust.
Panagtagbo uban sa ibabaw nga bahin sa Pliron/LLVM. Ang internal nga dialect-llvm gipulihan na sa external nga pliron-llvm gikan sa komunidad sa pliron-org, ug ang local component giilisan na og ngalan ngadto sa llvm-export. Kini nagpamenos sa sanga sa proyekto sa imprastraktura ug nagpahiuyon niini nga mas duol sa upstream development.
Pagpasimple sa pag-assemble ug pagsulod sa usa ka proyekto. Girespeto na karon sa Cargo Oxide ang RUSTFLAGS, ang CUDA_HOME, ang nvcc host compiler, makapangita sa llc gikan sa Rust toolchain, awtomatikong makamatikod sa target nga GPU, ug maka-reset sa karaan nga backend cache human sa usa ka update. Gidugang ang devcontainer ug Nix flake para sa usa ka reproducible development environment.
Ang CUDA-Oxide usa pa ka sayo nga alpha nga bersyon: ang proyekto giapod-apod pinaagi sa git, wala pa mapublikar sa crates.io ug nagsuporta lamang LinuxAng README klaro usab nga nagpasidaan nga ang API mahimong madaot, ug nga ang mga bug ug wala nahuman nga mga bahin gilauman.
Adunay usa ka nuance sa paglilisensya: ang pangunang bahin sa workspace giapod-apod ubos sa Lisensya sa Apache 2.0, apan ang crate cuda-bindings naggamit Lisensya sa Software sa NVIDIABusa, ang CUDA-Oxide dili mahulagway nga usa ka hingpit nga homogenous nga proyekto sa Apache; kini usa ka open-source nga kalamboan sa NVIDIA Labs palibot sa CUDA ecosystem, nga adunay lahi nga lisensya alang sa low-level CUDA bindings.
Source: linux.org.ru
