gpt4 book ai didi

opencl - 如何将 "stream"数据传入和传到全局内存?

转载 作者:行者123 更新时间:2023-11-30 23:47:24 28 4
gpt4 key购买 nike

codeproject.com 展示 Part 2: OpenCL™ – Memory Spaces声明 Global memory should be considered as streaming memory [...] 和 that the best performance will be achieved when streaming contiguous memory addresses or memory access patterns that can exploit the full bandwidth of the memory subsystem.
我对这句话的理解是,为了获得最佳性能,应该在 GPU 处理内核时不断填充和读取全局内存。但我不知道如何实现这样的概念,而且我无法在我读过的(相当简单的)示例和教程中识别它。

知道一个很好的例子或可以链接到一个吗?

额外问题:这是 CUDA 框架中的模拟吗?

最佳答案

我同意他对这一指导方针的解释:顺序内存访问速度最快。很明显(对于任何具有 OpenCL 能力的开发人员)顺序内存访问是最快的,所以有趣的是 NVidia 明确地把它拼写成这样。

你的解释,虽然不是那个文件所说的,也是正确的。如果您的算法允许,最好异步上传合理大小的块,以便它可以更快地开始计算,重叠计算与 DMA 传输到/从系统 RAM。

拥有多个波前/扭曲也很有帮助,因此设备可以将它们交错以隐藏内存延迟。好的 GPU 经过大量优化,能够以极快的速度进行这种切换,从而在内存阻塞的情况下保持忙碌。

关于opencl - 如何将 "stream"数据传入和传到全局内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6506997/

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