gpt4 book ai didi

c - OpenCL 我需要释放主机指针吗

转载 作者:行者123 更新时间:2023-12-02 01:28:06 25 4
gpt4 key购买 nike

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

最佳答案

您必须释放内存本身。

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

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

关于c - OpenCL 我需要释放主机指针吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35905767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com