在长时间运行的内核中,CUDA同步功能失败

时间:2018-05-16 05:46:12

标签: cuda pycuda

我正在使用PyCuda来运行一个预计需要至少两个小时才能完成的内核,但是在大约一个小时之后它会失败并出现以下简单错误:

pycuda._driver.Error: cuCtxSynchronize failed: unknown error

我正在使用Windows,我添加了注册表项TdrDelay并将其设置为120000000,以确保Windows不会超时我的内核。

当我调整内核的参数时,不会发生此错误,因此预计在大约30分钟内完成。为什么在内核运行很长时间之后同步调用会失败?

我的显卡是否会过热并抢先终止内核?如果运行时间过长,是否会有一个终止内核的CUDA设置?可以在NVidia Visual Profiler中运行内核帮助找出问题所在吗?

1 个答案:

答案 0 :(得分:1)

通过添加注册表项" TdrLevel"我能够无错误地完成长时间运行的内核。和#34; TdrDelay"并将其值设置为0。

相关问题