【发布时间】:2018-09-07 10:25:22
【问题描述】:
我是 cuda 新手,有几个关于共享内存的问题:
每个 SM 在同一个 GPU 中是否拥有相同数量的共享内存?
SM 如何在块之间划分共享内存?是平均分配(例如,如果有 2 个块,那么无论实际使用多少,每个块都获得 SM 内一半的共享内存),还是根据需要?
我对共享内存bank的理解是:共享内存分为32个同样大的内存bank。那么这意味着每个区块(即每个区块都有自己的 32 个银行)还是每个 SM?
如果我从/到多个单词的共享内存中执行 CudaMemcpy,这算作单个事务还是多个事务?这会导致银行冲突吗?
谢谢!
【问题讨论】:
-
关于这方面的教程和文档太多了……你可以用谷歌搜索一下。你也一次问了4个问题,你不应该做什么。此外,它并不是真正的编程特定的。
标签: cuda