ArrayFire CPU,会不会因为 GC 延迟而 运行 内存不足?

ArrayFire CPU, will it run out of memory due to late GC?

我不完全确定 ArrayFire 在使用 CPU 模式时如何管理 RAM 上的内存。根据task manager的观察,RAM上的device memory似乎并没有立即释放,好像有一个GC阶段。

这是真的吗?

如果我想在 GC 尚未释放设备内存 (RAM) 时分配大量 RAM 会怎样?我会 运行 内存不足吗?还是会以某种方式触发 GC?

我在分配主机内存(不是设备内存)时 运行遇到内存问题,我仍在尝试找出问题所在。同时,GC是否真的存在于CPU模式下,如果GC触发得太晚会不会导致内存溢出?我应该如何解决这个问题?

谢谢

ArrayFire 将缓存分配并在以后的操作中重用它们。基于一些启发式方法或者如果分配失败,ArrayFire 将调用垃圾收集器。您可以通过调用 deviceGC 手动 运行 垃圾收集器,这将释放未锁定(未使用)的内存。