OpenCL设备信息,本地内存数量

4

我有一个关于使用CL_DEVICE_LOCAL_MEM_SIZE作为参数调用opencl的clGetDeviceInfo函数的问题。

它返回每个工作组的本地内存量,还是设备上可用的本地内存总量?或者其他什么?

我的GPU是Nvidia GeForce 9800 GT,以上调用返回的值为16K。

谢谢!

2个回答

6

这是每个计算单元的限制。所有运行在计算单元上的工作组都使用本地内存。一个单独的工作组不能超过这个大小,因为它必须在单个计算单元上执行。

例如,在您的情况下,如果每个工作组需要8K的本地内存,则最多可以同时安排两个工作组在每个计算单元上执行。


2

CL_DEVICE_LOCAL_MEM_SIZE指的是每个工作组可用的最大本地内存量。在您的NVIDIA卡上下文中,它是每个多处理器上的芯片内共享内存的数量-在这种情况下为16kb,可以被一个或多个运行在多处理器上的工作组所使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接