cuda线程循环

时间:2013-01-10 15:15:59

标签: multithreading loops cuda

这是一个非常普遍的问题,如果有人有这方面的经验会很棒。

每次(在内核中)我想在while循环中使用线程,例如:

tidx = threadIdx.x + blockIdx.x * blockDim.x;
tidy = threadIdx.y + blockIdx.y * blockDim.y;

while(i<70) {
    if (tidx<640 && tidy<480){
        //calculations to get a desired array
    }
}

我的节目冻结了。

我尝试了几件事,比如改变,但似乎没什么用。

我开始认为使用这样的线程是不可能的。 是真的,如果不是,先决条件是什么? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

所有版本的CUDA和所有CUDA设备都应该能够进行循环。确保你没有编程无限循环或计算时间只需要延长继电器。