3

我在 CUDA 中运行了一个带有 N Bounces 的光线追踪器(每条光线会反弹 N 次)。

我使用 openGL 查看结果。

一旦 N 很小(1~4),一切都会很好。一旦我把 N 变大(~10),每个线程(大约 800x1000)必须做大量的计算,当屏幕变黑时,然后重新打开,注意我的 nvidia 崩溃了。

我在网上搜索并认为是什么导致它成为某种看门狗定时器,因为我的显示器和计算使用相同的图形卡(计算需要超过 2 秒,因此驱动程序会自行重置)。

是否有命令让主机(cpu)等待设备(gpu)只要它需要?

我需要做什么?我卡住了:(

谢谢

4

1 回答 1

4

根据您的描述,您在 Windows Vista 或 Windows 7 上运行。正如您所猜测的,Windows 操作系统有一个看门狗计时器。看门狗定时器仅适用于连接了显示器的 GPU。

最简单的解决方案是运行 2 个或更多 GPU,并在不连接显示器的 GPU 上运行 CUDA。

您可以禁用看门狗定时器。有关更多详细信息,请参阅此问题。但是,您应该小心操作——请记住,当您的主显示 GPU 上有一个长时间运行的内核时,您的计算机将完全没有响应(至少您将无法看到它在做什么),直到内核完成。

于 2012-04-22T23:01:31.910 回答