使用带显示器的AMD Vega 64(OpenCL)并行计算时进程5-6秒终止的问题咨询
关于AMD Radeon Vega 64 OpenCL并行计算进程自动关闭的问题
我之前帮朋友排查过几乎一模一样的问题——他用的也是Vega 64,跑OpenCL并行任务时只要显卡连了显示器,进程必然在5-6秒左右挂掉,后来确实是通过修改注册表解决的。
这类问题在AMD OpenCL用户群体里其实挺常见的,核心原因是:当GPU同时承担显示输出和并行计算任务时,Windows的显示驱动超时检测(TDR)机制会因为计算任务长时间占用GPU资源,无法及时响应系统的屏幕刷新请求,误判驱动无响应,进而强制终止计算进程。
具体的注册表修复步骤:
- 按下
Win+R组合键,输入regedit打开注册表编辑器 - 导航到路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers - 右键点击空白处,选择「新建」→「DWORD(32位)值」,命名为
TdrDelay,将数值数据改为8(十进制,默认是2秒,延长超时检测时间) - 同样新建一个DWORD值,命名为
TdrDdiDelay,数值数据也设为8 - 重启电脑后生效
补充说明:
如果修改后还是出现进程关闭的情况,可以尝试把数值调到10或者12,但不建议设得过大——毕竟TDR机制是为了避免驱动无响应时系统卡死,数值太高会削弱这个保护作用。
另外,我在AMD社区和OpenCL相关讨论区看到不少Vega系列用户反馈过类似场景的问题,注册表修改是目前最普遍、最直接的解决方式,比拆分计算任务或者调整OpenCL队列优先级要高效得多。
内容的提问来源于stack exchange,提问作者Fresto
相关产品推荐
相关产品推荐

