我甚至无法使用CUDA SDK中的simpleStreams示例实现重叠的memcpy和内核执行,更不用说在我自己的程序中了。这些线程认为它是Windows中WDDM驱动程序的一个问题:
并建议:
cudaEventQuery()
或cudaEventQuery()
刷新WDDM队列。 (不起作用)。这个帖子认为这是费米的一个错误:
这个主题:
提出了一种解决方案,以缓解Windows上WDDM的问题。但是,它仅适用于特斯拉卡,并且需要额外的视频卡来控制显示器,因为建议的驱动程序是仅计算驱动程序。
但是,这些线程都没有提供真正的解决方案。我很感激,如果NVIDIA可以对此问题发表评论并提出解决方案,因为显然很多人都遇到了这个问题。
答案 0 :(得分:1)
TL; DR:问题是由Nsight Monitor中的WDDM TDR延迟选项引起的!设置为false时,会出现问题。相反,如果你设置了 TDR延迟值为非常高的数字,并且“启用”选项为 是的,问题就消失了。
请阅读下面的其他(较旧)步骤,直到我找到上述解决方案,以及其他一些可能的原因。
我最近才能解决这个问题!我认为它特定于windows和aero。请尝试这些步骤并发布结果以帮助其他人!我在GTX 650和GT 640上尝试过它。
在您执行任何操作之前,请考虑using both onboard gpu(as display) and the discrete gpu (for computations),因为nvidia驱动程序已经验证了Windows的问题!当你使用板载gpu时,说驱动程序没有满载,所以很多bug都被规避了。此外,在工作时保持系统响应能力!
这将禁用空气动力学和几乎所有视觉效果。如果此配置有效,您可以尝试逐个启用视觉效果框,直到找到导致问题的精确框!
或者,您可以:
这也可以如上所述,但启用了更多可视化选项。对于我的两个设备,此设置也有效,所以我保留了它。
当您尝试这些解决方案时,请回到此处并发布您的发现!
对我来说,它的的解决了大多数情况下的问题(平铺DGEMM我做了)的,但需要注意的是我仍然无法运行“simpleStreams”正确和实现并发......
更新 <问题通过新的Windows安装完全解决 !!前面的步骤改进了某些情况下的行为,但是全新安装解决了所有问题!
我会尝试找一种解决这个问题的不那么激进的方法,也许只需恢复注册表即可。