C++ CUDA-确定共享内存中的银行数量

C++ CUDA-确定共享内存中的银行数量,c++,cuda,gpu,shared-memory,bank-conflict,C++,Cuda,Gpu,Shared Memory,Bank Conflict,共享内存被“条带化”到银行中。众所周知,这导致了整个银行冲突问题 问题: 但是,您如何确定共享内存中存在多少银行(“条纹”)呢 (在NVIDIA的“devtalk”论坛上,每个块共享内存似乎被“条带化”为16个存储库。但我们怎么知道呢?暗示这一点的线程已经存在了几年。情况发生了变化吗?它是否固定在所有支持NVIDIA CUDA的卡上?有没有办法从运行时API确定这一点(我在那里看不到它,例如在cudaDeviceProp下)?是否有一种在运行时手动确定它的方法?正如@RobertHarvey所说

共享内存被“条带化”到银行中。众所周知,这导致了整个银行冲突问题

问题: 但是,您如何确定共享内存中存在多少银行(“条纹”)呢


(在NVIDIA的“devtalk”论坛上,每个块共享内存似乎被“条带化”为16个存储库。但我们怎么知道呢?暗示这一点的线程已经存在了几年。情况发生了变化吗?它是否固定在所有支持NVIDIA CUDA的卡上?有没有办法从运行时API确定这一点(我在那里看不到它,例如在cudaDeviceProp下)?是否有一种在运行时手动确定它的方法?

正如@RobertHarvey所说,它是有文档记录的。编程指南指出16个用于,32个用于和。因此,您可以根据设备属性中返回的计算能力(主要版本)做出任何决定

cuda在线文档的一般链接包含在cuda标签的中。

说Fermi是32家银行。你试过看cuda编程指南吗?海报上说他从中获得了这些信息。