我有一些 pyCUDA 代码可以使 GPU 保持 100% 的使用率,并且似乎将 GPU 占用到我的屏幕仅每秒更新一次的程度。
更改块和网格大小无济于事。
网格中的每个线程经过大约 130 万次循环,并且只有大约 6 个 16 个线程的块。如果我把它做成一个小循环就没有问题,但不幸的是它必须那么大,而且我认为没有好的方法可以将工作分配到更多的块中。
有没有办法限制我的程序的 GPU 使用,或者改变屏幕的优先级?
Windows 上的 GTX 1060。
有没有办法限制我的程序的 GPU 使用,或者改变屏幕的优先级?
一句话,没有。
GPU 无法同时运行计算作业和刷新显示。没有优先级的概念。如果您有长时间运行的计算代码,它将阻止刷新显示,并且该块的持续时间由计算代码决定。驱动程序只有一种抢占机制,即看门狗定时器,它将终止显示设备上长时间运行的计算活动。
如果您在计算操作期间需要屏幕响应,要么大大减少单个内核启动的运行时间,要么获得第二个 GPU,其中一个专用于计算工作,一个用于显示。
归档时间: |
|
查看次数: |
1497 次 |
最近记录: |