2

我想为 Chromium 添加一些 OpenCL 支持,所以我使用了类似的 API clCreateCommandQueue(),但我在 Chromium 中找不到合适的地方进行清理。

那么,如果我不调用类似的 API clReleaseCommandQueue(),操作系统会在进程终止后回收内存吗?或者我需要在流程的出口点调用它吗?

PS,在进程的整个生命周期中都需要commandqueue,所以我只是想确保它不会在进程终止后导致内存泄漏。

谢谢你的帮助。

4

2 回答 2

2

由于所有 OpenCL 对象最终都由设备驱动程序持有,因此您不能期望它们在应用程序终止后自动释放。这永远是你的工作。

于 2013-05-22T13:12:44.890 回答
0

如果您使用 OpenCL C++ 包装器 (cl.hpp),那么编译器将找出清理对象的位置(当引用对象超出范围时)。

于 2013-06-02T15:52:15.833 回答