0

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

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

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

4

1 回答 1

0

您可以使用 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

于 2012-05-25T12:43:11.330 回答