CUDA 代码的 100% GPU 使用率导致屏幕延迟

100% GPU usage from CUDA code makes screen lag

我有一些 pyCUDA 代码可以使 GPU 保持 100% 使用率并且似乎占用了 GPU 以至于我的屏幕每秒左右更新一次。
更改块和网格大小没有帮助。
网格中的每个线程都经过大约 130 万次循环,并且只有大约 6 个块,每块 16 个线程。如果我把它做成一个小循环就没有问题,但不幸的是它必须那么大而且我看不到将工作分配到更多块中的好方法。
有没有办法限制我的程序的 GPU 使用,或者改变屏幕的优先级?
Windows.

上的 GTX 1060

Is there a way to limit the GPU usage of my program, or maybe change the priority of the screen?

一句话,没有。

GPU 无法同时运行 计算作业和刷新显示。没有优先级的概念。如果您有很长的 运行ning 计算代码,它将阻止显示刷新,并且该块的持续时间由计算代码确定。驱动程序只有一种抢占机制,那就是看门狗定时器,它将杀死显示设备上的长时间 运行ning 计算 activity。

如果您在计算操作期间需要屏幕响应,要么大大减少单个内核启动的 运行 时间,要么获得第二个 GPU,一个专用于计算工作,一个用于显示。