AMD 在 LLVM 中支持供应商风格的 SPIR-V

OpenGL、OpenCL 和 Vulkan 等使用的 SPIR-V 是一种通用的中间表示(IR)/中间语言,供设备驱动程序使用。随着代码被并入 LLVM,AMD 引入了供应商 “风格 “SPIR-V 的概念,以包含与目标 GPU 设备/驱动程序相关的额外信息。

AMD ROCm 团队的 Alex Voicu 在 LLVM 中引入了供应商风格 SPIR-V 概念,并实现了 AMDGCN 风格SPIR-V,供 LLVM AMDGPU 编译器后端使用。这种 SPIR-V 故意针对特定设备/后端,并有意 “放弃绝对通用性,以获得更强的目标特性表现力”。

合并提交消息澄清:

“这仍然是 SPIRV,尽管在先决条件方面有所放宽,在后置条件方面有所限制,并且只保证可以在 AMDGCN 目标上使用(不过,仍然可以通过使用调味目标来获得原始的便携式 SPIRV)。”

有了 AMDGCN 特色的 SPIR-V,内联 AMDGCN 汇编可与 SPV_INTEL_inline_assembly 扩展一起使用,AMDGCN 目标机特定的内置程序也可得到支持,SPIR-V 功能集也能更好地匹配特定的 AMDGCN 目标机。目前,正在开发更多的供应商版 SPIR-V 补丁。让我们拭目以待,看看 AMD 最终打算如何利用这种有特色的 SPIR-V,以及不受限于默认 SPIR-V 限制而获得更佳性能和功能的最终净收益。

更多详细信息请参见合并到 LLVM 19 代码库中的 LLVM 拉取请求

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/49209.html

(0)

相关推荐

发表回复

登录后才能评论