【问题标题】:clCreateContext succeeds, but clCreateCommandQueue fails with -33clCreateContext 成功,但 clCreateCommandQueue 失败并显示 -33
【发布时间】:2016-07-07 23:38:55
【问题描述】:

我在一台带有集成英特尔卡的机器上遇到了一个有趣的问题。

clCreateContext() 使用我要在其上创建上下文的设备返回一个有效的上下文。返回的错误是CL_SUCCESS。但是,将上下文传递给clCreateCommandQueueWithProperties() 会导致错误代码-33 或CL_INVALID_DEVICE。我做了双重检查,并确保我正在正确检查错误。为什么我可以在设备上创建上下文,但不能在命令队列上创建?

【问题讨论】:

  • 您可以将所有代码发布为 MCVE 吗?可能只是您没有将正确的上下文设备传递给clCreateCommandQueue()

标签: c++ c opencl


【解决方案1】:

尝试使用clCreateCommandQueue() (OpenCL 1.0) 而不是 clCreateCommandQueueWithProperties() (OpenCL 2.0)。

后者在 Intel(专有)和 NVIDIA 运行时都失败了。不过不知道为什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 2021-01-22
    • 1970-01-01
    • 2022-08-06
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多