首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows环境下用clBuildProgram加载SPIR二进制文件

在Windows环境下用clBuildProgram加载SPIR二进制文件
EN

Stack Overflow用户
提问于 2018-09-14 14:34:22
回答 1查看 245关注 0票数 0

我正在尝试加载我用clang+llvm 6.0.1创建的SPIR二进制文件。

创建了几个不同的文件:

代码语言:javascript
复制
clang -target spir-unknown-unknown -cl-std=CL1.2 -c -emit-llvm -Xclang -finclude-default-header OCLkernel.cl  
clang -target amdgcn-amd-amdhsa -cl-std=CL1.2 -c -emit-llvm -Xclang -finclude-default-header OCLkernel.cl  
clang -cc1 -emit-llvm-bc -triple spir-unknown-unknown -cl-std=CL1.2 -include "include\opencl-c.h" OCLkernel.cl

这一切都发生在windows上,安装了AMD应用SDK 3和肾上腺素18.6.1驱动程序。

在此之后,我尝试从二进制文件创建一个程序:

代码语言:javascript
复制
clCreateProgramWithBinary(context, 1, &device, &programSrcSize, (const unsigned char**)&programSrc, 0 , &status)

这一切都进行得很好,我在这里没有任何错误,但是当我尝试构建它之后:

代码语言:javascript
复制
clBuildProgram(program, 1, &device, " –x spir -spir-std=1.2", NULL, NULL);

我得到的错误是:

调用错误CL_INVALID_COMPILER_OPTIONS时clBuildProgram

我试过不用"-x spir.“也是,但我只得到了一个:

错误:无效值(生产者:'LLVM6.0.1‘阅读器:'LLVM 3.9.0svn')

编辑:

CL_DEVICE_NAME: gfx900

CL_DEVICE_VERSION: OpenCL 2.0AMD-APP (2580.6)

CL_DEVICE_OPENCL_C_VERSION: OpenCL C2.0

CL_DRIVER_VERSION: 2580.6 (PAL,HSAIL)

CL_DEVICE_SPIR_VERSIONS: 1.2

运行clCreateProgramWithBinary后,我使用clGetProgramBuildInfo查询设备并获取:

CL_PROGRAM_BINARY_TYPE = CL_PROGRAM_BINARY_TYPE_INTERMEDIATE

所以这应该意味着二进制被识别,否则我猜它会返回CL_PROGRAM_BINARY_TYPE_NONE。

EDIT2:

我认为clang并不是在创建一个“好”二进制,而是如何创建它呢?

感谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2019-04-06 09:25:37

不幸的是,对SPIR的支持已从AMD驱动程序中悄然移除,请参阅AMD社区论坛的这个线程中的dipak答案:

https://community.amd.com/thread/232093

关于您的第二个问题:通用clang+LLVM (不是由AMD调优的秘密版本,并包含在它们的专有驱动程序中)仍然不能产生与通用Windows驱动程序兼容的二进制文件,但是对于Linux:所有新的AMD的ROCm,AMD和Mesa3D运行时都包括在内来说是可能的。

LLVM AMDGPU后端开发人员为什么不优先为Windows驱动程序生成二进制文件,这对我来说是个谜,因为有几个GCN汇编程序项目通过Windows OpenCL接口提供了这样的功能:CLRadeonExtenderASM4GCNHepPas等等。此外,我知道一个clang+LLVM的无证叉 (正如它的作者所述)会生成这样的OpenCL二进制文件!“霍雷肖,天地万物比你的哲学所梦想的还要多。”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52334122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档