--disregard! - OSX OpenCL - 超过10.8.5的驱动程序无法构建以前工作的内核:编译服务器错误

时间:2017-03-16 17:09:41

标签: xcode macos opencl

{无视;请参阅下面的答案}

我有一个内核已经在苹果公司提供的os 10.7.4和10.8.5的驱动程序下工作了多年。我最终决定将我的macbook pro 2012更新,并使用XCode和我的项目。

Apple与El Capitan(10.10)和Sierra(10.11)一起提供的驱动程序现在在调用clCreateProgramWithSource时会出现可怕的Compile Server错误。我已经尝试为这些操作系统下载nVidia新发布的驱动程序并获得同样的失败。

我认为这是由于复杂性(another question中也提到过)。我的内核可能是没有注释的2000行,如果没有未使用的#ifs,可能会减少几百行。

真正的踢球者是习惯工作!

这是驱动程序的功能,对,而不是操作系统? nVidia是否减少了堆大小,允许编译更少的逻辑堆栈?是否有一个参数我可以传递给它一个更大的堆,或者其他什么;显然硬件能够做到这一点。我是否尝试使用nVidia提交错误报告?与Apple?

(clCreateProgramWithSource仍在CPU上工作。我在Pro中有一张AMD卡,我很好奇新系统是否也破坏了该编译器;它仍在运行10.8.5。)

[编辑:我不得不说我先前错过了。 clCreateProgramWithSource几乎立即返回,没有错误。编译时间约为2分钟后,问题出现在clBuildProgram中....]

1 个答案:

答案 0 :(得分:0)

请忽略!!!!

错误的来源完全是另一回事:

在较旧的操作系统下,独立GPU显示为第二个device_id。至少从10.10开始,它被列为第一个设备。我的代码试图为dev_id [1]构建,现在产生了Intel集成GPU。

我仍然不知道为什么它不会为那个构建,但这不是我们需要的东西,而且在正确询问时它实际上正确地为nVidia 650m构建。

抱歉浪费了任何人的带宽。 。 。 !