Mai*_*iss 3 memory opencl gpu-programming
OpenCL内存架构之间是否有任何直接关系:
本地/全局/常量/专用内存
而物理GPU的内存和缓存.例如,具有1GB内存/ L1缓存/ L2缓存的GPU卡.这些与本地/全球......记忆有关吗?
或者是从全局内存分配的本地/常量/专用内存?-谢谢
OpenCL并没有真正讨论缓存内存.大多数现代显卡都有一些用于全局内存的缓存协议,但在旧卡中无法保证这些协议.然而,这里是不同记忆的概述.
专用内存 - 该内存作为每个工作项的寄存器保存.GPU每个计算单元具有非常大的寄存器文件.但是,如果需要,此内存可能会溢出到本地内存中.创建变量时,默认情况下会分配专用内存.
本地内存 - 工作组本地和共享的内存.此内存系统通常位于计算单元本身上,无法由其他工作组读取或写入.这种内存通常在GPU架构上具有非常低的延迟(在CPU架构上,这个内存只是系统内存的一部分).此内存通常用作全局内存的手动缓存.本地内存由__local属性指定.
常量内存 - 全局内存的一部分,但只读,因此可以积极缓存. __constant用于定义此类型的内存.
全局内存 - 这是GPU的主要内存. __global用于将内存放入全局内存空间.
| 归档时间: |
|
| 查看次数: |
1119 次 |
| 最近记录: |