【问题标题】:Regarding 2D Array in OpenCl kernels关于 OpenCl 内核中的二维数组
【发布时间】:2012-05-25 20:43:11
【问题描述】:

如何找出可以在 OpenCL 内核中创建的最大二维数组的大小?

例如
int anArray[1000][1000];在内核内部工作正常。 但是当我为更大的场景重写它时 int anArray[5000][5000] 表示运行失败。

想知道究竟是什么因素决定了可以成功运行的最大数组大小。

【问题讨论】:

  • 能贴出内核代码吗?它是在单个工作组中运行 5k x 5k,还是跨多个组运行?你用的是花车还是双打?你具体在什么设备上运行? (GPU/CPU、品牌、型号#)

标签: opencl


【解决方案1】:

您可以使用 clGetDeviceInfo 检索此类信息。

以下参数应该对您有所帮助(取决于您编写内核的方式):

  • CL_DEVICE_GLOBAL_MEM_CACHE_SIZE
  • CL_DEVICE_LOCAL_MEM_SIZE

参考:http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/clGetDeviceInfo.html

【讨论】:

    猜你喜欢
    • 2016-05-28
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2016-05-08
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多