繁体   English   中英

OpenCL我需要释放主机指针

[英]OpenCL do I need to free host pointer

如果我使用选项CL_MEM_USE_HOST_PTR创建一个OpenCL缓冲区,然后在使用它之后在缓冲区上调用clReleaseMemObject,我仍然需要在动态分配的内存上调用free。 另外,如果内核写入缓冲区,它会在调用clReleaseMemObject之后与主机指针同步,以便我可以读取结果吗?

你必须释放记忆本身。

想一想 - OpenCL如何知道为您释放内存的正确方法? 也许它来自malloc ,或者它来自alloca ,或者它来自VirtualAlloc (在Windows上)或sbrk (在Linux上),或者它可能是一个全局变量,或者它可能是一个内存映射文件,或者它可能是字符串字面量。 也许你可以想到更多。

OpenCL不知道哪些是真的,即使它确实如此,它甚至不知道你想要释放内存。 (取消映射该文件只是因为你已经完成了对它的使用OpenCL?也许你想在相同的数据上运行一些非OpenCL代码!)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM