Caching opencl是否在进程终止后释放所有设备内存?

Caching opencl是否在进程终止后释放所有设备内存?,caching,memory-leaks,opencl,Caching,Memory Leaks,Opencl,在Linux上,我曾经确保无论进程分配什么资源,它们都会在进程终止后释放。内存被释放,打开的文件描述符被关闭。当我多次循环启动和终止一个进程时,没有内存泄漏 最近我开始与opencl合作。 我知道opencl编译器将编译后的内核保存在缓存中。因此,当我运行一个使用与前一次运行相同内核的程序(甚至可能是来自另一个运行相同内核的进程的程序)时,它们不需要再次编译。我猜缓存在设备上 从这一行为来看,我怀疑,如果在终止之前没有显式释放,可能分配的设备内存也会被缓存(可能与供以后重用的魔法cookie或类

在Linux上,我曾经确保无论进程分配什么资源,它们都会在进程终止后释放。内存被释放,打开的文件描述符被关闭。当我多次循环启动和终止一个进程时,没有内存泄漏

最近我开始与opencl合作。 我知道opencl编译器将编译后的内核保存在缓存中。因此,当我运行一个使用与前一次运行相同内核的程序(甚至可能是来自另一个运行相同内核的进程的程序)时,它们不需要再次编译。我猜缓存在设备上

从这一行为来看,我怀疑,如果在终止之前没有显式释放,可能分配的设备内存也会被缓存(可能与供以后重用的魔法cookie或类似的东西相关联)

所以我提出这个问题是为了排除这种怀疑


内核在chache中存活=>其他内存分配以某种方式存活???

基于此工具,我的简短回答是肯定的 我正在调查我的设备上的内存泄漏,我注意到当进程终止时内存被释放。。。大多数时候。如果你有像我一样的内存泄漏,它可能会在进程结束后仍然存在。 另一个可能有用的工具是 但它真的有问题,所以明智地使用它