如何找出可以在 OpenCL 内核中创建的最大二维数组的大小?
例如
int anArray[1000][1000]; 在内核内部工作正常。但是当我为更大的场景(如 int anArray[5000][5000] )重写它时,它显示运行失败。
想知道决定可以成功运行的最大数组大小的因素到底是什么。
如何找出可以在 OpenCL 内核中创建的最大二维数组的大小?
例如
int anArray[1000][1000]; 在内核内部工作正常。但是当我为更大的场景(如 int anArray[5000][5000] )重写它时,它显示运行失败。
想知道决定可以成功运行的最大数组大小的因素到底是什么。
您可以使用 clGetDeviceInfo 检索此类信息。
以下参数应该对您有所帮助(取决于您编写内核的方式):
参考:http ://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/clGetDeviceInfo.html