我在寻找为什么我的内核会产生奇怪的错误消息或者只有"0"结果的答案,我在SO上找到了这个answer,提到在nvidia gpu上运行的内核有5秒的超时时间?我搜索了超时时间,但是没有找到确认的来源或更多信息。 你对此有什么了解吗? 长时间运行的内核会因为超时而导致奇怪的行为吗? 谢谢!
进一步搜索在CUDA_Toolkit_Release_Notes_Linux.txt(已知问题)中发现:# 单个GPU程序启动的运行时间限制为小于5秒,如果超过此时间限制,则通常会通过CUDA驱动程序或CUDA运行时报告启动失败。没有连接显示器的GPU不受5秒运行时限制。因此,建议在未连接到显示器并且Windows桌面未扩展到其中的GPU上运行CUDA。在这种情况下,系统必须包含至少一个NVIDIA GPU,该GPU作为主要图形适配器。[更新] 看起来这个功能的官方名称是“看门狗”。
如果您正在使用Windows Vista或更高版本,则WDDM驱动程序堆栈将在大约两秒后自动重置设备,除非您调整TDR超时时间。(Windows无法区分运行漫长内核的GPU和被锁定的GPU之间的差异。)以TCC模式运行的Tesla品牌卡不受常规显示适配器限制,因此可以运行更长的内核。