read-only cache 和L1缓存 在kernel怎么使用呢?

大家好,问题如题

楼主您好,

L1 cache将是被自动使用的,您可以当作它不存在。当您的global memory读取(2.x,但无3.x)或者local memory读写(2.x和3.x)需要它的时候,它将自动发挥作用。

read-only cache在3.0上只有通过texutre或者surface读取的时候,才能发挥作用,在3.0上您可以将它当作texture cache来看待,用法和1.x或者2.x时代的Texture cache一样。

如果您使用了3.5, 则除了上个段落的方式,还可以通过__ldg(你的指针)来完成一次读取,或者对您的指针加上:const 元素类型 * restrict 贵指针;,这样这2种将自动通过SMX内部的read-only cache进行读取。

你可以看出,3.5的用法是如此的方便,所以建议你购买或者升级到3.5计算能力的卡。

感谢您的来访。