共享内存被“条带化”到银行中。正如我们所知,这导致了整个银行冲突问题。
问题: 但是,如何确定共享内存中多个库(“条带”)的存在方式?
(围绕NVIDIA“devtalk”论坛,似乎每块共享内存被“条带化”到16家银行。但我们怎么知道呢?线程暗示这已经有几年了。有变化吗?是它修复了所有支持NVIDIA CUDA的卡吗?有没有办法从运行时API中确定这一点(我没有在那里看到它,例如在 cudaDeviceProp 下)?有一种手动方式在运行时确定它吗?)
答案 0 :(得分:8)
正如@RobertHarvey所说,它是有记录的。节目指南指出了compute capability 1.x的16个银行,以及compute capability 2.x和3.x的32个银行。因此,您可以根据设备属性中返回的计算能力(主要版本)做出任何决策。
cuda在线文档的一般链接包含在cuda标记的info link中。