gpt4 book ai didi

memory - OpenCL 内存架构和 GPU 物理内存/缓存(L1/L2...)之间的关系?

转载 作者:行者123 更新时间:2023-12-02 09:40:27 25 4
gpt4 key购买 nike

OpenCL内存架构之间有什么直接关系吗:

本地/全局/常量/私有(private)memory

以及物理 GPU 的内存和缓存。例如具有 1GB 内存/L1 缓存/L2 缓存的 GPU 卡。这些与本地/全局内存有关吗?

或者本地/常量/私有(private)内存是从全局内存中分配的吗?-谢谢

最佳答案

OpenCL 并没有真正讨论内存缓存。大多数现代显卡确实具有某种全局内存缓存协议(protocol),但在旧显卡中并不能保证这些协议(protocol)。不过,这里是不同内存的概述。

私有(private)内存 - 此内存作为每个工作项的寄存器保存。 GPU 的每个计算单元都有非常大的寄存器文件。然而,如果需要的话,该内存可以溢出到本地内存中。创建变量时默认分配私有(private)内存。

本地内存 - 工作组本地并共享的内存。该存储系统通常位于计算单元本身上,并且不能被其他工作组读取或写入。该内存在 GPU 架构上通常具有非常低的延迟(在 CPU 架构上,该内存只是系统内存的一部分)。该内存通常用作全局内存的手动缓存。本地内存由 __local 属性指定。

恒定内存 - 全局内存的一部分,但只读,因此可以积极缓存。 __constant 用于定义这种类型的内存。

全局内存 - 这是 GPU 的主内存。 __global 用于将内存放入全局内存空间。

关于memory - OpenCL 内存架构和 GPU 物理内存/缓存(L1/L2...)之间的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10156966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com