OpenCL内存体系结构之间是否有任何直接关系:
本地/全局/常量/专用memory
以及物理GPU的内存和缓存。例如具有1 1GB内存/L1高速缓存/L2高速缓存的GPU卡。这些是否与本地/全局相关。记忆?
或者是从全局内存分配的本地/常量/私有内存?-Thanks
发布于 2012-04-15 15:42:03
OpenCL实际上并没有讨论内存缓存。大多数现代显卡确实具有某种用于全局内存的缓存协议,但在较旧的显卡中不能保证这些协议。然而,这里是不同记忆的概述。
私有内存-此内存作为每个工作项的寄存器保存。GPU的每个计算单元都有非常大的寄存器堆。但是,如果需要,此内存可以溢出到本地内存中。创建变量时,默认情况下会分配私有内存。
本地内存-工作组的本地内存和共享内存。该存储系统通常位于计算单元本身上,并且不能被其他工作组读取或写入。这种内存在GPU架构上的延迟通常非常低(在CPU架构上,这种内存只是系统内存的一部分)。此内存通常用作全局内存的手动缓存。本地内存由__local属性指定。
Constant Memory -全局内存的一部分,但只读,因此可以积极缓存。__constant用于定义这种类型的内存。
全局内存-这是图形处理器的主内存。__global用于将内存放入全局内存空间。
https://stackoverflow.com/questions/10156966
复制相似问题