从Linux中的OpenCL冻结中恢复

从Linux中的OpenCL冻结中恢复,第1张

概述我在带有NVIDIA卡的Ubuntu机器上编写我的第一个OpenCL内核.偶尔,应用程序完全冻结整个计算机.鼠标不移动,重启的唯一方法是强制按下电源按钮. 我已经意识到冻结的原因是我不小心读过了全局只读浮点数组的最后一个索引.虽然这是我不打算经常做的事情,但它可能仍会在将来发生. 我的问题是 – 如果再次发生这种情况,有没有办法防止计算机完全关闭?我知道,例如,Windows可以关闭坏的GLSL内 我在带有NVIDIA卡的Ubuntu机器上编写我的第一个OpenCL内核.偶尔,应用程序完全冻结整个计算机.鼠标不移动,重启的唯一方法是强制按下电源按钮.

我已经意识到冻结的原因是我不小心读过了全局只读浮点数组的最后一个索引.虽然这是我不打算经常做的事情,但它可能仍会在将来发生.

我的问题是 – 如果再次发生这种情况,有没有办法防止计算机完全关闭?我知道,例如,Windows可以关闭坏的GLSL内核并通过图形驱动程序重启来恢复.类似的东西可能在这里?

解决方法 您可能无法完全恢复,但可以使用SysRq(有时称为System Request或Magic SysRq)更好地恢复.通过执行特定的密钥组合,您可以以一种理智的方式重新启动 Linux(终止进程并卸载文件系统).这个键序列在 http://en.wikipedia.org/wiki/Magic_SysRq_key详细描述,所以我在此不再重复.

在某些情况下,您可能仍然可以通过SSH连接到设备.如果这是你的情况,你可能会更幸运.如果你可以SSH,你可以尝试其他一些选项,例如:卸载/重新加载崩溃的模块,重新启动xserver,或者至少重启正常方式.

虽然我不是“HURD”的专家,但我相信它的目的是更好地处理这种情况.我能想到的唯一其他解决方案是使用两个显卡,一个用于X,一个用于OpenCL.依赖于您正在做的事情,您可能不得不将NVIDIA传递给VM,以便将其完全隔离出主机.

总结

以上是内存溢出为你收集整理的从Linux中的OpenCL冻结中恢复全部内容,希望文章能够帮你解决从Linux中的OpenCL冻结中恢复所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1019643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存