可能重复:
为什么 CUDA 中的常量内存大小受到限制?
我知道__constant__
内存有缓存,但我不清楚是否所有__constant__
内存都被缓存了。
看起来好像__constant__
数据不会直接进入缓存。文献:只有在被内核读取时才会进入缓存。这意味着缓存大小小于__constant__
内存大小。我的猜测是__constant__
mem 只是具有缓存支持的全局内存。(真的?)
如果我的 deviceProp.totalConstMem = 64KB。这是否意味着我有一个支持它的 64KB 缓存?这是 L1 还是 L2 缓存?这个缓存是否与 deviceProp.l2CacheSize 相关?