OS X上的AMD GPU上的OpenCL clBuildProgram失败,带有非描述性构建日志

时间:2015-12-11 11:30:01

标签: macos opencl

我试图在OS X El Capitan 10.11.2上的C ++项目中编译一组OpenCL内核。

使用的机器是iMac(Retina 5K,27英寸,2015年末),包含AMD Radeon R9 M395X 4096 MB,被选为OpenCL设备。我正在使用操作系统附带的OpenCL框架。

在特定内核上,使用此CL_PROGRAM_BUILD_LOG,OpenCL程序构建失败:

  

SC失败了。没有理由。

在选择与OpenCL设备相同的机器的CPU或具有Nvidia GPU的类似机器时,相同的内核编译正常。

1 个答案:

答案 0 :(得分:3)

有问题的内核源可以归结为以下内容:

kernel void sampleKernel (bool param) {}

OpenCL C规范不支持使用bool作为OpenCL内核的参数,请参阅例如https://stackoverflow.com/a/4441865/463796

char替换参数的类型可以解决问题。