Windows 10 x64:英特尔 UHD Graphics 620 第 8 代在 OpenCL 满载时强制关闭

Windows 10 x64:英特尔 UHD Graphics 620 第 8 代在 OpenCL 满载时强制关闭

背景信息:
我有一台第 8 代 Intel UHD Graphics 620,我正在用它进行一些 OpenCL 计算。这些计算非常复杂,最多可以使用 500MB 的视频内存。Windows 报告称该卡有 1,534 MB,我之前进行的一些 Minecraft 视频内存测试证实了这一点。

该计算机总共拥有 8GB 的​​系统内存,其中最多 4GB 可与 GPU 共享。没有专用的 GPU。

我的问题:
但是 OpenCL 的情况是这样的:

  1. 计算开始。光标开始轻微闪烁,但计算机可以使用。
  2. 现在内核已完全加载到内存中(内存使用率不到 50%)并且 GPU 开始使用。GPU-Z 显示使用率为 100%。
  3. 现在电脑死机了。什么都不能用,甚至光标都无法移动。
  4. 几秒钟后,GPU 停止计算并无限期冻结该 OpenCL 程序。

GPU-Z 的先前日志显示,GPU 无法更新光标位置等内容,因为在执行 OpenCL 操作时负载过大。

我的问题:如何告诉特定的可执行文件使用有限的 GPU 能力进行 OpenCL 操作,或者我怎样才能告诉 Windows 停止将光标移动之类的操作放在 GPU 上,并告诉 GPU 当它 100% 用于 OpenCL 时没问题。

PS 温度不是问题。我可以访问 OpenCL 应用程序的源代码,但如果有一个解决方案可以应用,而不必从源代码重建它,那就最好了。

答案1

坦白说,我当时想运行一个加密货币矿工在我的集成 GPU噢,我当时是多么年轻和愚蠢。

不用说,我想这个问题可以理论上得到解决如果您以某种方式告诉 Windows 使用软件(基于 CPU)渲染 GUI 元素,并让 GPU 完全自由。那么 GPU 驱动程序就没有理由停止密集计算,因为如果 Windows 将 GPU 单独用于 OpenCL 以外的所有操作,就不会发生计算时间的争斗。

至少这是我的想法,我们不能查看 Windows 和 Intel 驱动程序源代码来检查是否确实发生了这种情况。(Ubuntu + Mesa咳嗽)

相关内容