CUDA - 确定共享内存中的银行数量
Posted
技术标签:
【中文标题】CUDA - 确定共享内存中的银行数量【英文标题】:CUDA - determine number of banks in shared memory 【发布时间】:2013-06-06 07:15:29 【问题描述】:共享内存被“条带化”成组。众所周知,这会导致整个银行冲突问题。
问题: 但是您如何确定共享内存中存在 多少 个银行(“条带”)?
(在 NVIDIA “devtalk” 论坛上一探究竟,似乎每块共享内存被“条带化”成 16 个库。但我们怎么知道这一点?暗示这一点的线程已有几年历史了。事情是否发生了变化?是它固定在所有支持 NVIDIA CUDA 的卡上?有没有办法从运行时 API 中确定这一点(我在那里看不到它,例如在 cudaDeviceProp 下)?是有在运行时手动确定它的方法吗?)
【问题讨论】:
This post 说费米是 32 个银行。您是否尝试过查看 CUDA 编程指南?那是张贴者说他得到这些信息的地方。 【参考方案1】:正如@RobertHarvey 所说,它已记录在案。编程指南指出 compute capability 1.x 有 16 个库,compute capability 2.x 和 3.x 有 32 个库。因此,您可以根据设备属性中返回的计算能力(主要版本)做出任何决定。
cuda 在线文档的一般链接包含在 cuda 标签的 info link 中。
【讨论】:
以上是关于CUDA - 确定共享内存中的银行数量的主要内容,如果未能解决你的问题,请参考以下文章