将 ArrayFire 与 OpenCL 配合使用时出错



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

/****

ArrayFire Exception (Internal error:998):
In function __cdecl opencl::DeviceManager::DeviceManager(void)
In file srcbackendopenclplatform.cpp:329
OpenCL Error (-2): Device Not Available when calling clCreateContext
In function void __cdecl af::setDevice(const int)
In file srcapicppdevice.cpp:91

/****

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

-2 是CL_DEVICE_NOT_AVAILABLE,它发生在"如果设备中的设备当前不可用,即使该设备由 clGetDeviceID 返回"。您可以在Google上搜索错误的名称,并找到许多描述可能发生这种情况的网页;两种常见的方法是在较旧的芯片上使用英特尔 CPU 驱动程序(最新的英特尔 OpenCL SDK 需要 SSE 4.2),或者在 OpenCL/OpenGL 互操作不可用时请求该互操作。

相关内容

  • 没有找到相关文章

最新更新