我想在OpenCL内核中优化本地内存访问模式。我在某处读到了可配置的本地内存。例如。我们应该能够配置用于本地mem的金额以及用于自动缓存的金额。
另外我读到银行大小可以选择最新的(开普勒)Nvidia硬件: http://www.acceleware.com/blog/maximizing-shared-memory-bandwidth-nvidia-kepler-gpus。对于本地存储器中的双精度值存储,这一点似乎非常重要。
Nvidia是否提供专为CUDA用户设置本地内存的功能?我无法找到类似OpenCL的方法。那么这可能是以不同的方式调用,还是真的不存在?
答案 0 :(得分:5)
不幸的是,在使用OpenCL时无法控制L1缓存/本地内存配置。此功能仅由CUDA运行时提供(通过cudaDeviceSetCacheConfig
或cudaFuncSetCacheConfig
)。