让我们说我有很多CUDA内核,我可以要求GPU执行。无论如何,我都不想修改内核代码(包括一个陷阱)。
有没有办法杀死这样一个正在运行的内核?
我打算自动生成内核(遗传编程)。这些内核可能具有需要很长时间才能完成的行为。如果我可以在内核运行时杀死它,那么我可以维护一个计时器并根据需要杀死它。
cudaDeviceReset()将杀死所有正在运行的内核。
它还将清除设备上完成的所有分配,因此,如果您打算再次使用它们,则需要重新分配所有数据区域。
请注意,cudaDeviceReset()
仅凭其本身不足以将GPU恢复为正常的功能行为。为此,“拥有”过程也必须终止。看这里。
归档时间: |
|
查看次数: |
963 次 |
最近记录: |