【问题标题】:Is it possible to reset or restart the GPU是否可以重置或重新启动 GPU
【发布时间】:2017-09-19 04:12:25
【问题描述】:

我正在使用 cuda 进行一些编程。我以某种方式搞砸了 GPU 内存,以下是我在屏幕上看到的内容,这让我发疯了!以前有没有人遇到过类似的问题。除了重新启动计算机之外,还有其他方法可以解决此问题吗?

在调试时,我不想每次启动程序时都重新启动计算机。我会很感激你能提供的任何建议。

顺便说一句,黑白点像星星一样闪烁!这让我很头晕!!

【问题讨论】:

  • 我从来没有尝试过这个,但是因为你在windows上,如果你没有禁用看门狗超时机制,你应该能够编写一个永远旋转的CUDA程序(例如一会儿永远不会退出的循环)。将其编译为可执行文件。在桌面上创建该可执行文件的快捷方式。每当您的显示器像这样损坏时,请尝试运行该可执行文件。它应该会导致显示冻结,这将触发 Windows TDR 机制,这将导致 GPU 重置和驱动程序重新加载。就像我说的,我从未尝试过。我不知道如何在 Windows 中重置 GPU。
  • 您使用的是哪个 GPU?我认为这个问题可能只出现在计算能力
  • 尝试下载最新的 GPU 驱动程序,用于 CUDA 编程模块的驱动程序(Nvidia 为每张卡提供多种类型的驱动程序)
  • @YuchenZhong,Quadro FX 4800 是一款计算能力为 1.3 的设备,因此您可能需要尝试升级到 >= 2.0 来解决此问题。

标签: cuda gpu gpgpu


【解决方案1】:

在一般情况下,windows下是没有普通用户访问GPU复位或重启的机制。

但是,如果您没有修改您机器上的 windows vista/7/8 TDR 机制,您可以在这种情况下利用它来强制操作系统重置 GPU。

您应该能够编写一个永远旋转的 CUDA 程序(例如,一个永远不会退出的 while 循环)。将其编译为可执行文件。在桌面上创建该可执行文件的快捷方式。每当您的显示器像这样损坏时,请尝试运行该可执行文件。它应该会导致显示冻结,这将触发 Windows TDR 机制,这将导致 GPU 重置和驱动程序重新加载。

【讨论】:

    【解决方案2】:

    我今天在 Linux 下遇到了类似的问题。由于在不终止当前图形会话的情况下找不到正确执行此操作的方法,因此我只是让计算机进入睡眠状态并重新启动。它可以工作,并且无论操作系统如何,都应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 2013-01-08
      • 2012-05-09
      • 1970-01-01
      相关资源
      最近更新 更多