我正在使用matrixMulCUBLAS示例代码,并尝试将默认矩阵大小更改为更有趣的值rows=5k x cols=2.5k,然后示例失败,并在第#377行出现错误Failed to synchronize on the stop event (error code unknown error)!,此时所有计算都已完成,显然它正在清理cublas。这是什么意思?那么如何修复呢?
我已经安装了CUDA5.0,带有2 2GB内存的EVGA FTW nVidia GeForce GTX 670。驱动程序的最新版本是今天的314.22。
发布于 2013-07-23 21:41:26
一般来说,在windows上使用CUDA时,需要确保单个内核的执行时间不超过2秒左右。如果执行时间变长,您可能会遇到windows TDR事件。这是一个windows watchdog计时器,如果GPU驱动程序在特定时间段内没有响应,它将重置该计时器。这样的重置会暂停内核的执行,并生成虚假的结果,通常还会在系统托盘中显示一个短暂的“黑色”和一条简短的消息。如果您的内核执行触发了windows watchdog计时器,您有几个选择:
nvidia-smi.exe工具将给定GPU的设置从WDDM修改为TCC。使用windows文件搜索功能查找nvidia-smi.exe,然后使用nvidia-smi --help获取命令行帮助,了解如何从WDDM切换到TCC模式。关于TCC支持的声明是一般性的。并非所有Quadro GPU都受支持。在特定的图形处理器上支持(或不支持) TCC的最终决定因素是nvidia-smi工具。这里的任何东西都不应被解释为在您的特定GPU上支持TCC的保证。
https://stackoverflow.com/questions/16317505
复制相似问题