IT资讯 LLVM Clang 初步支持 SPIR-V 工具链

mathew · 2021-12-25 10:30:06 · 热度: 36

作为对即将成为主线的 LLVM SPIR-V 后端工作的补充,Clang 现已合并初步的 SPIR-V 工具链支持。此功能用于从 Clang 转换为符合 OpenCL 环境规范的 SPIR-V 中间表示 (Intermediate Representation) —— 例如将 OpenCL 内核编译为 SPIR-V。

在尚未合并 LLVM SPIR-V 后端的情况下,Clang SPIR-V 工具链依赖于外部 LLVM 到 SPIR-V 转换器 (llvm-spirv) 完成转换过程。一旦这个大的 SPIR-V 后端被合并,并保持良好状态,它就可以过渡到在 LLVM 代码库中使用,而无需外部的 llvm-spirv 工具。

工具 链支持为 32 位或 64 位目标生成 SPIR-V 二进制文件。SPIR-V 生成的目标是针对 OpenCL 的环境规范,同时支持扩展到 Vulkan 等平台。

LLVM Clang 初步支持 SPIR-V 工具链

▲ 现已支持从主线 Clang Targeting SPIR-V

由于外部 llvm-spirv 承担了大部分繁重的工作,Clang 工具链支持的实现只有 200 多行代码,并且自 10 月以来一直在接受审查,预计将成为明年 LLVM 14.0 的一部分。

LLVM Clang 初步支持 SPIR-V 工具链

随着 HIPSPV 代码也在本月合并,从 AMD HIP 到 SPIR-V,到目前为止,12 月对于开源 LLVM 堆栈来说是一个伟大的月份。

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册