问题举例如下:
int bX=128;
int gX=100;
dim3 blockdim(bX,gX,1);
dim3 griddim(1,1,1);
fun<<<griddim,blockdim>>>(...);
CUT_CHECK_ERROR("failed");
程序执行到CUT_CHECK_ERROR("failed")检测到错误返回退出。但代码改为下面则能正常通过
int bX=128;
int gX=100;
dim3 blockdim(bX,1,1);
dim3 griddim(gX,1,1);
fun<<<griddim,blockdim>>>(...);
CUT_CHECK_ERROR("failed");
很是迷惑,请教高手这是因为什么??
另外griddim和blockdim如何设置更为合理???
2 个解决方案
#1
bx*gx=12800 >> 每个block的最大线程数512,请参看CUDA编程手册!
#2
ok!感谢
#1
bx*gx=12800 >> 每个block的最大线程数512,请参看CUDA编程手册!
#2
ok!感谢