我需要在SPIR中编译OpenCL内核才能与Vulkan一起使用,我尝试过使用Google https://github.com/google/clspv,但是问题出现在矢量化中,像vload8这样的函数无法工作。所以我需要使用clang在SPIR中编译OpenCL内核。
发布于 2018-09-18 16:45:35
我是克莱夫的项目负责人。杰西总体上是对的。
目前,对长度为8和16的向量缺乏支持是故意超出范围的。
那是因为Vulkan本身不支持这一点。
我们还没有添加支持来模仿这种支持,甚至在中期内也没有这样做的计划。
有更多关于一个旧的封闭性问题的信息:
发布于 2018-09-18 15:13:57
Clspv是我知道的唯一将OpenCL C编译成与Vulkan兼容的SPIR的工具链。您需要针对Clspv提交一个问题;附加一个无法正确编译的内核将有很大帮助。
发布于 2019-12-20 03:07:12
https://github.com/KhronosGroup/SPIR/tree/spirv-1.1
你可以跟踪这个赫罗诺斯项目。
clang -cc1 -emit spirv=spir-未知-cl= C++ -I包含kernel.cl -o kernel.spv #For OpenCL C++ clang -cc1 -emit spirv=spir-未知-cl=cl2.0 -include opencl.h kernel.cl -o kernel.spv #For OpenCL C
https://stackoverflow.com/questions/52388836
复制相似问题