如何在CUDA中使用L2缓存

时间:2012-09-09 11:39:53

标签: cuda nvidia

我已经在CUDA中搜索了其他使用L2缓存的线程。但是,无法找到解决方案。我如何使用L2缓存?是否有任何调用函数或声明供其使用?就像使用共享内存一样,我们使用__device__ __shared__。 L2 Cache是​​否有类似的内容?

1 个答案:

答案 0 :(得分:3)

L2缓存对设备代码是透明的。对未在L1中命中的内存(全局,局部,表面,纹理,常量和指令)的所有访问都转到L2。所有写入都通过L2。

CUDA C编程指南F.4.2:全局记忆

本节提供了有关L2的更多详细信息。

编译器标志-dlcm = cg可用于使全局访问在L1中缓存并缓存在L2中。

CUDA C编程指南B.5:记忆围栏功能

函数__threadfence()可用于确保所有对全局内存的写入在L2中都可见。

函数__threadfence_system()可用于确保对主机线程的所有对全局内存的写入都是可见的。