在浏览尼古拉斯·威尔特( Nicholas )的“数据自动化系统手册”( CUDA )时,我注意到,显然1字节和2字节的内存事务并没有合并。然而,我的理解是费米和开普勒(SM2+)架构获取满足内存所需的高速缓存行数。对我来说,这听起来就像是团结起来。
我的应用程序,为了节省空间,大量使用了1字节和2字节的数据字段(在大的2D间距线阵中)和锤击全局内存。
我继续对我的应用程序进行了更改,使线程一次获取4个条目,只需将一个无符号整数与四个无符号字符合并,并获取该联合。
根据我的测试数据,我看到开普勒笔记本电脑卡(750米,SM3.5)和特斯拉C2075 (SM2.0)的性能分别提高了32%和45%