Cuda C 最大线程数

GPU一个线程块中的最大线程数是65535.

从线程硬件原理中得知,为了能通过按位与的哈希算法来定位segments数组的索引,必须保证segments数组的长度是2的N次方(power-of two size),所以必须计算出一个大于或等于concurrencyLevel的最小的2的N次方值作为segments数组的长度。假如concurrencyLevel等于14,,15或16,ssize都会等于16,即容器里锁的个数也是16.注意concurrencyLevel的最大大小是65535,意味着segments数组的长度最大为65536,对应的二进制是16位。

另外一个问题:为啥是65536要减去1,才是最大线程数?答:举个例子,十进制,满10要进1,这里如果是65536,则需要进1,但是容器锁的个数是16,不能进了。

你可能感兴趣的:(DNN)