我是CUDA的新手,我只是想制作一个利用了很多GPU的程序。唯一的问题是我也在使用该卡进行显示,这冻结了我的屏幕并要求我重新启动。
__global__ void cuda_burn(int* sum)
{
int x = 0;
for(int i = 0; i < 1000000000; i++)
{
x += i;
}
atomicAdd(sum, x);
}
我最初像cuda_burn<<<1024, 1024>>>(sum_d);
一样启动了它,它杀死了我的显示器。这对我来说很有意义,因为我有足够的块和线程来充分利用我的gpu,没有时间用于图形。
接下来我尝试像这样cuda_burn<<<1, 1024>>>(sum_d);
启动它我认为因为我只使用一个块,所以它无法充分利用GPU资源而不会冻结我的显示器。不幸的是它仍然存在。为什么呢?
还有什么奇怪的是鼠标不会冻结?
还有一种更好的解冻显示方式而不是重启吗?
答案 0 :(得分:4)
目前,CUDA和显示任务无法同时运行。在CUDA内核运行时,无论使用GPU多少或多少,显示任务都将被“冻结”。