Kambani yeNvidia yakabudiswa kuburitswa kwekutanga kwetoolkit CUDA-oxide, iyo inokutendera kuti ugadzire ma GPU kernels akafanana mumutauro weRust CUDA SIMT (Murayiridzo Mumwe Chete, Mativi Akawanda). Chirongwa ichi chinokutendera kuti uunganidze kodhi yeRust uchishandisa system yemhando yakajairika uye modhi yemuridzi Rust, zvakananga mumirairo yekuitwa muCUDA virtual machine PTX (nvidia.com) (Parallel Thread Execution) pasina kushandisa mitauro yepakati pedomain (DSLs) uye zvisungo.
Kodhi yetoolkit yakanyorwa muRust uye inoparadzirwa ne pasi perezinesi reApache 2.0. Kuburitswa kwekutanga kwakaiswa sevhezheni yekutanga yealpha.
Chishandiso ichi chinosanganisira:
- Kugadzira kodhi yekumashure kwemugadziri werustc iyo inokutendera kuti uunganidze mabasa ne "#[pfungwa]" mu parallel GPU kernels muCUDA PTX representation. Compilation inoshandisa standard rustc framework-based transformation chain. Pliron: Ngura → MIR → Pliron IR → LLVM IR → PTX.
- Sisitimu yakabatana yekuunganidza zvikamu zvinomhanya pasystem yehost uye paGPU, iyo inotangira pakuita mirairo yekuti "cargo oxide build" uye "cargo oxide run".
- Seti yeRust abstractions inogona kushandiswa muGPU-side kernels. Semuenzaniso, mabasa anowanikwa ekunyora indexing, shared memory uye barrier use, atomic operations, uye thread group synchronization. TMA (nvlabs.github.io) (Tensor Memory Accelerator). Zvinokwanisika kudana ma bindings emirairo yakaderera yakanangana neBlackwell architecture (semuenzaniso, extended matrix operations).
- Gadzira mapakeji ane zvikamu zveCUDA zvekushandisa panguva yekumhanya zvinogonesa manejimendi yekurangarira, kushandisa kernels paGPU, uye kushanda nemabasa eGPU achishanda pamwe chete.
- Muunganidzwa wemienzaniso yekernel inoratidza zvinhu zvakaita sekushandura vector, kuwanda kwematrix (GEMM), mashandiro eatomu, kuita asynchronous, uye kubatanidzwa kweraibhurari. MathDx, vachishandisa magenerics neclosures, vachidyidzana neCUDA cores muC++/CCCL.
Makenduru eGPU anogadzirwa muRust yakajairika (kwete mutauro), asi anoitwa munharaunda hapana_std uye inogona kushandisa mabasa kubva kuraibhurari chete libcore uye maRust abstractions ataurwa kare, asina mukana wekupinda muRust standard library (libstd). Marudzi anotsigirwa anosanganisira primitive types (u8..u64, f32, f64, bool), structures, enumerations, tuples, arrays ([T; N]) uye slices (&[T]), match / if / if let operators, for and while loops, iterators (.iter(), .enumerate(), closures, uye generics. Hazvitsigirwi maString, Vec, uye Box types, format!, panic!, uye println! macros, Trait objects, uye standard library functions dzinoitwa kuburikidza ne operating system calls (file handling, I/O, uye network operations).
Inowanikwa Matanho matatu ekuchengetedza CUDA core muRust: type system protection (yakachengeteka), kushandiswa kwemablocks asina njodzi, uye mukana wekushandisa mirairo yehardware yakaderera. Kushanda kweCUDA-oxide-based matrix multiplication implementation (GEMM SoL) paB200 GPU kunosvika 868 trillion operations pasekondi, inova 58% yekushanda kweraibhurari yakagadziriswa. cubas.
Source: linux.org.ru
