cuda - 使用 Nvidia 平台为 OpenCL 配置本地(共享)内存

标签 cuda opencl nvidia gpu-shared-memory

我想在我的 OpenCL 内核中优化我的本地内存访问模式。我在某处阅读了有关可配置本地内存的信息。例如。我们应该能够配置哪些数量用于本地内存,哪些数量用于自动缓存。

我还读到可以在此处为最新的 (Kepler) Nvidia 硬件选择存储体大小: http://www.acceleware.com/blog/maximizing-shared-memory-bandwidth-nvidia-kepler-gpus .这一点对于在本地内存中存储 double 值似乎非常关键。

Nvidia是否提供CUDA用户专属设置本地内存的功能?我找不到适用于 OpenCL 的类似方法。那么这可能是以不同的方式调用还是它真的不存在?

最佳答案

不幸的是,在使用 OpenCL 时无法控制 L1 缓存/本地内存配置。此功能仅由 CUDA 运行时提供(通过 cudaDeviceSetCacheConfigcudaFuncSetCacheConfig)。

关于cuda - 使用 Nvidia 平台为 OpenCL 配置本地(共享)内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25869334/

相关文章:

cuda - Fermi L2 缓存命中延迟?

cuda - 如何将 NVidia Visual Profiler 与 OpenCL(在 Linux 上)一起使用?

optimization - 在 OpenCL 中构建偏移邻域操作的更快方法

c++ - Cuda 中的多个 GPU - 以前可以工作的代码,但现在不行了

c++ - CUDA TCC 驱动程序是否适用于 Windows 上的 geforce 卡?

c++ - 从全局 cuda 函数返回数据?

testing - CUDA,测试吞吐量的小程序

c - 多次启动代码时处理时间减少

docker - 在docker中不提示安装cuda

c++ - 为什么 CUDA 在访问类成员时崩溃?