首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以并行访问HBM2?

是否可以并行访问HBM2?
EN

Stack Overflow用户
提问于 2020-10-16 22:51:28
回答 1查看 39关注 0票数 0

我有一个连续访问~4GB内存的代码,它在所有4GB的内存中随机访问每个请求1024位.我有一个16 VII HBM2的RADEON,4096位总线。

可能优化1: 4GB和4x数据每mem请求!(因为第一个请求告诉我这4GB的第二个请求,所以第二个请求可能在内存中很远)可能优化2: 4+4+4+4GB和每mem请求1x数据!(没有提高性能,因为每个对4GB组的请求都会将其他请求延迟到0.25x性能,因此我得到了4个线程,每个线程的性能为0.25x )

问题:

用于优化1的

-是否可以拆分4096位总线,这样我就可以以一种非阻塞的方式并行地获取1024位内存的不同区域?对于优化2-是否可以并行地处理4GB的“块”,使每个块是独立的,而对于其他块则是非阻塞的?

PS -我知道这取决于内存控制器,所以如果你知道一个不同的硬件可以做到这一点,请告诉我也。

EN

回答 1

Stack Overflow用户

发布于 2020-10-17 08:47:53

可以并行访问HBM2吗?

是的,HBM2总是并行访问的,但这并不取决于您。

两种建议的优化都不起作用。OpenCL没有为您提供如何使用内存总线或在何处分配内存的控制权;这取决于驱动程序。如果分配4GB,这4GB不是仅在4个HBM2内存死亡中的一个上分配的,而是自动在所有4个死掉上分配,以最大限度地扩大带宽。

您所能做的最好的就是确保您已经合并了内存访问(结构数组、数据布局),并将GPU填充到了enouth /工作组中。Radeon (我也用了一堆)的理论带宽为1024 in /s,但在实际中不要期望超过800 in/s。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64397376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档