为什么这个 cuda 程序会冻结我的显示?
Why does this cuda program freeze my display?
我是 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 资源并且不会冻结我的显示。不幸的是,它仍然如此。为什么?
奇怪的是鼠标不卡顿?
还有比重启更好的解冻显示的方法吗?
目前CUDA和显示任务不能同时运行。虽然 CUDA 内核是 运行ning,但无论它使用多少 GPU,显示任务都将是 "frozen"。
我是 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 资源并且不会冻结我的显示。不幸的是,它仍然如此。为什么?
奇怪的是鼠标不卡顿?
还有比重启更好的解冻显示的方法吗?
目前CUDA和显示任务不能同时运行。虽然 CUDA 内核是 运行ning,但无论它使用多少 GPU,显示任务都将是 "frozen"。