今天写一个程序,cuda的kernel竟然阻塞呢,什么情况?
后来胡思乱想了一大堆,为什么会阻塞?结果。。
,错误程序如下
for (int i=tid; i<col_size; tid+=32)
...
原来是写错程序遇到死循环了,一写程序一堆错。。哎,正确的如下
for (int i=tid; i<col_size; i+=32)
...
程序出错的时候,
建议在分配任务的时候画图,把block,thread的图示画出来比较好理解,这样更容易理解也更容易分清各个block,各个thread里所拥有的数据。