我试图在我的MacBook Pro上调用Nvidia GT 650M GPU,其索引为1
,集成GPU的索引为0
。 (从运行$ clinfo
)
正如this StackOverflow question中提到的那样:
在OpenCV 3.0.0 beta [或更高版本]中,只检测到一个设备:
context.ndevices() // returns 1 instead of 2
当我在上面的答案中运行代码时,尽管设置cv::ocl::Device(context.device(1));
讨论主题in the OpenCV forum说这可能是由于平台上Nvidia GPU的兼容性(1.1),但对我来说情况并非如此。
我写了一个简单的OpenCL程序来在Nvidia GPU上创建一个上下文并运行内核,并且它成功了。因此,它不是OpenCL硬件兼容性问题(Apple支持article也证实了这一点)。
我尝试过但似乎没有帮助: