memCUDA与自适应行大小缓存技术解析
1. memCUDA技术介绍
在GPU CUDA编程环境下,数据在主机内存和设备内存之间的移动给程序员带来了很大负担。memCUDA高级语言通过源到源编译和运行时库技术的结合得以实现,旨在减轻这一负担。
1.1 映射表结构
由于目前CUDA框架不支持两个内核的并发执行,且主机内存通常比设备内存大很多,因此内存映射被设计为主机地址空间和设备地址空间之间的一对一映射。映射信息由一个表状结构mmTable维护,该表主要用于查找和转换操作。mmTable的每一行包含以下四个映射机制属性:
- BASE_H :主机内存地址空间中数据块的基地址,是表的关键属性。
- BASE_D :设备内存地址空间中对应数据块的基地址。
- SIZE :数据块的大小。
- STATE :当前映射操作的状态,用于确定数据从主机内存到设备内存或反之的下一个移动方向。
| 主机内存 | 设备内存 | mmTable |
|---|---|---|
| r1, r2… | _d_r1, _d_r2… | BASE_H, BASE_D, SIZE, STATE |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



