CUDA常量内存总结

1. 常量内存只是全局内存的虚拟地址形式,硬件上并没有特殊的常量内存块。

2. 常量内存使用16位地址进行访问,这能使访问更快,但也限制了其大小为64KB。

2. 常量内存具有高速缓存,在计算能力为1.x的设备上全局内存没有高速缓存,而常量内存具有。更高级的设备上两者都有高速缓存。

3. 常量内存支持将单个值广播到线程束中每个线程。

4. 分析虚拟汇编代码可知,常量内存在编译后被字面值代替,因此对常量内存的访问实际上并没有读内存这个动作,而是直接代替  以字面值,因此访问常量内存比全局内存快。以数组形式声明变量可防止编译后常量被字面值代替,此时与全局内存的访问速度是相同的。

5. 在计算能力为1.x的设备上,对于数据不太集中或数据重用率不高的情况,尽量不要使用常量内存。因为缓存击中率不高反而会减慢速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值