過(guò)去寫 cuda 代碼,必須要使用 C++ 編寫,有一定門檻。
現(xiàn)在好了,英偉達(dá)發(fā)布了 cuda-oxide v0.1.0,它本質(zhì)上是一個(gè)編譯器,可以將 Rust 代碼直接編譯為 PTX,后者相當(dāng)于運(yùn)行 GPU 的機(jī)器語(yǔ)言。
有了 cuda-oxide,不用再使用 C++,也無(wú)需特定 DSL,或依賴外部語(yǔ)言綁定,就可以將 Rust 編寫的代碼直接轉(zhuǎn)換為 PTX。而且主機(jī)端、設(shè)備端的代碼可以在同一份 Rust 代碼中。
當(dāng)然不僅僅是換了一個(gè)語(yǔ)言,還可以充分利用 Rust 語(yǔ)言的特性,比如 Rust 的類型系統(tǒng)、所有權(quán)模型、泛型和閉包等都可以使用。
不過(guò) cuda-oxide 并不是為了替代 CUDA C 工具鏈,它只是通過(guò)編譯器轉(zhuǎn)換,核心還是 CUDA C,選擇 Rust,原有更多是考慮其安全性。
感興趣的小伙伴可以去試試。
- ? 終于來(lái)了,CUDA 工具包將原生支持Python語(yǔ)言
- ? 不修改一行代碼,Zluda支持在非英偉達(dá)GPU上跑CUDA代碼
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.