显卡是M2090,计算能力2.0,有个核函数只有1个block,线程维度(128,3,1)时就能正常发射,但(256,3,1)时就不行,核函数直接发射失败。我记得2.0的极限好像是1024个线程吧,(256,3,1)没超过1024,为啥会失败呢?
LZ您好:
1:根据CUDA C Programming Guide Appendix F的内容指出,在SM 2.0的设备上,每个block包含最大的thread数量为1024,每个SM最大的resident thread的数量是1536.
2:1:中限制仅是kernel能够发射的一个限制条件,但并非是全部的限制条件。其他限制条件细则依然请见CUDA C Programming Guide Appendix F。
3:以及您还需要您启动kernel的其他参数等是正确的。
大致如上,供您参考。
祝您好运~