0

有没有办法在每次运行时通过 arrayfire 重置 GPU 而无需重新启动 Python 控制台?

我有一个 python 脚本,它使用 arrayfire 调用许多要在 GPU 上执行的函数。该脚本在运行一次时会给出预期的结果,但如果第二次运行而不更改任何参数,它会返回NaN值。一旦我重新启动 Python 控制台,或者等效地运行以下命令,这就会停止:

import arrayfire as af
af.device.free_device(af.device.device_mem_info()['alloc']['bytes'])

清除所有分配的设备内存后重新启动控制台。

我很难看出这里可能出了什么问题;该程序第一次运行良好,所以我认为它很可能是我在我丢失的文档中找不到的命令。

我已经尝试了文档中看起来很有希望的大多数功能(device_gc, free_device, free_pinned,device.init等),但运气不佳。我也尝试过使用reload(arrayfire)

这可能是一个错误吗?任何意见,将不胜感激。

我正在使用:nvidia quadro M4000、Python 2.7、Windows 7、Spyder 3

4

0 回答 0