【问题标题】:OpenCL Error Code -13 (Only on AMD)OpenCL 错误代码 -13(仅在 AMD 上)
【发布时间】:2018-06-10 01:20:12
【问题描述】:

我有一个只在 AMD 而不是 NVIDIA 上失败的 opencl 内核。它失败并显示错误代码 -13

在线,它给出了这样的解释:“如果将子缓冲区对象指定为作为缓冲区对象的参数的值,并且在创建子缓冲区对象时指定的偏移量未与设备的 CL_DEVICE_MEM_BASE_ADDR_ALIGN 值对齐与队列相关联。”

我无法弄清楚这是什么意思。什么是 CL_DEVICE_MEM_BASE_ADDR_ALIGN。这个例程只有在我调用 createSubBuffer 时才会失败。

【问题讨论】:

    标签: opencl


    【解决方案1】:

    CL_DEVICE_MEM_BASE_ADDR_ALIGN 是 clGetDeviceInfo 的参数(有关文档,请参阅 https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/clGetDeviceInfo.html,有关详细说明,请参阅 https://forums.khronos.org/showthread.php/9134-Looking-for-a-better-explanation-of-CL_DEVICE_MEM_BASE_ADDR_ALIGN)。您需要查看该值以确定您的子缓冲区对齐方式。

    【讨论】:

    • 看起来我可以在任何我想为 nvidia 切片的地方进行切片,但对于 amd 则不行。如果偏移量可被对齐整除,我只能切片。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2023-03-20
    • 2012-04-08
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    相关资源
    最近更新 更多