是否有可能杀死正在运行的CUDA内核?

时间:2013-09-29 02:28:10

标签: cuda gpgpu nvidia

让我们说我有许多CUDA内核,我可以要求GPU执行。我不想以任何方式修改内核代码(例如包括陷阱)。

有没有办法杀死这样一个正在运行的内核?

我打算自动生成内核(遗传编程)。这些内核可能会有很长时间才能完成的行为。如果我可以在运行时杀死内核,我可以维护一个计时器并在需要时终止。

1 个答案:

答案 0 :(得分:5)

cudaDeviceReset()会杀死任何正在运行的内核。

它还会消除在设备上完成的任何分配,因此如果您打算再次使用它们,则需要重新分配任何数据区域。

请注意,cudaDeviceReset()本身不足以将GPU恢复到正常的功能行为。为了实现这一点,“拥有”过程也必须终止。见here