关于block和thread

我知道block的范围是 0~65535
而thread的范围是 0~512

。但是我有一个问题就是,我们通常在写程序中把thread 写成 256.

我可不可以把block 设置成60000,thread 设置成 256,或者说把block设置成10000.
这样的话对程序有没有什么影响?

或者说最好把block设置成多少比较好呢?

这个,要实验确定!

如果你的block设置的太多,切换这些block还是需要资源以及时间的。我感觉在gtx260+上block数能达到sm数的10倍以上就可以了,这可以让你的任务在sm上充分的并行起来。我实际测试过,过多的block会影响速度。其实block只是一种任务划分的方式,block少了无非就是任务块分的粗了点,不影响的。而且可以在block内使用循环啊,这都是很灵活的。

就是一般情况 ,应该设置成多少比较合适?

SM数的三四倍