CUDA代码100%的GPU使用率使屏幕滞后

时间:2018-03-10 23:56:02

标签: cuda gpu pycuda

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

1 个答案:

答案 0 :(得分:3)

  

有没有办法限制我的程序的GPU使用,或者可能会改变   屏幕的优先级?

总之,没有。

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

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