Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在研究 OpenCL 发布函数( clRelease(objectName) ),有趣的是没有发布平台(更具体地说,cl_platform_id)对象的函数。有人知道原因吗?
这是因为您使用常规malloc而不是clCreateObjectName()函数创建平台对象。所以你用一个常规的free. 我想是这样的,因为平台是主机资源。 请注意,设备对象也是如此。
malloc
clCreateObjectName()
free
编辑:澄清一下,感谢@chippies 的评论: clGetPlatformIDs() 函数有两个用途。首先查询系统中可用的平台数量。其次,用您决定使用的实际平台填充您为平台分配的内存空间。您将这些平台存储在您首先malloc的内存空间中。因此,当您完成这些平台时,您可以释放它们并释放您malloc -ed的内存。