LLVM Clang 初步支持 SPIR-V 工具鏈
作為對即將成為主線的 LLVM SPIR-V 后端工作的補(bǔ)充,Clang 現(xiàn)已合并初步的 SPIR-V 工具鏈支持。此功能用于從 Clang 轉(zhuǎn)換為符合 OpenCL 環(huán)境規(guī)范的 SPIR-V 中間表示 (Intermediate Representation) —— 例如將 OpenCL 內(nèi)核編譯為 SPIR-V。
在尚未合并 LLVM SPIR-V 后端的情況下,Clang SPIR-V 工具鏈依賴于外部 LLVM 到 SPIR-V 轉(zhuǎn)換器 (llvm-spirv) 完成轉(zhuǎn)換過程。一旦這個大的 SPIR-V 后端被合并,并保持良好狀態(tài),它就可以過渡到在 LLVM 代碼庫中使用,而無需外部的 llvm-spirv 工具。
此工具鏈支持為 32 位或 64 位目標(biāo)生成 SPIR-V 二進(jìn)制文件。SPIR-V 生成的目標(biāo)是針對 OpenCL 的環(huán)境規(guī)范,同時支持?jǐn)U展到 Vulkan 等平臺。
由于外部 llvm-spirv 承擔(dān)了大部分繁重的工作,Clang 工具鏈支持的實現(xiàn)只有 200 多行代碼,并且自 10 月以來一直在接受審查,預(yù)計將成為明年 LLVM 14.0 的一部分。
隨著 HIPSPV 代碼也在本月合并,從 AMD HIP 到 SPIR-V,到目前為止,12 月對于開源 LLVM 堆棧來說是一個偉大的月份。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:LLVM Clang 初步支持 SPIR-V 工具鏈
本文地址:https://www.oschina.net/news/175484/clang-spir-v-toolchain-lands