【发布时间】:2011-07-25 15:48:55
【问题描述】:
我有一些未知大小的矩阵在两个方向上从 10 到 20.000 不等。
我设计了一个带有 (x;y) 块和 (x;y) 线程的 CUDA 内核。
由于矩阵的宽度/高度不是我的维度的倍数,所以让事情工作起来非常痛苦,而且代码变得越来越复杂以获取合并内存读取。
除此之外,内核的大小还在增长,使用越来越多的寄存器来检查正确性......所以我认为这不是我应该采用的方式。
我的问题是:如果我完全消除块并创建一个 x;y 线程网格怎么办? SM单元没有很多块会不会有问题?
我可以消除块并使用大量线程还是需要块细分?
【问题讨论】: