将ArrayFire与OpenCL一起使用时出错

时间:2016-06-07 07:48:01

标签: opencl arrayfire

我成功安装了ArrayFire,当我选择Visual Studio配置CUDA_x64时,示例helloworld正常工作。但是,当我更改为OpenCL_x64时,编译成功,但我得到如下运行错误:

/ ********************************************** *********************** /

ArrayFire Exception (Internal error:998):
In function __cdecl opencl::DeviceManager::DeviceManager(void)
In file src\backend\opencl\platform.cpp:329
OpenCL Error (-2): Device Not Available when calling clCreateContext

In function void __cdecl af::setDevice(const int)
In file src\api\cpp\device.cpp:91

/ ********************************************** *********************** /

任何答案将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果设备中的设备当前不可用,即使设备是由clGetDeviceIDs"返回的,

-2也是CL_DEVICE_NOT_AVAILABLE。您可以在Google上找到错误的名称,并找到一些网页来描述可能发生这种情况的情况;两个常见的是在较旧的芯片上使用英特尔CPU驱动程序(最新的英特尔OpenCL SDK需要SSE 4.2),或者在不可用时请求OpenCL / OpenGL互操作。