OpenCL - 释放平台对象

时间:2013-07-17 22:31:02

标签: opencl

我正在研究OpenCL发布函数(clRelease(objectName)),对我来说很有趣的是没有函数来发布Platform(更具体地说,cl_platform_id)对象。 有人知道原因吗?

1 个答案:

答案 0 :(得分:1)

这是因为您使用常规malloc而不是clCreateObjectName()函数创建平台对象。因此,您使用常规free发布它们。我想这就是因为平台是主机资源  请注意,对于设备对象,它是相同的。

编辑:为了澄清一点,感谢@chippies的评论:clGetPlatformIDs()函数有两个用途。首先查询系统中可用的平台数量。其次,填充您为具有您决定使用的实际平台的平台分配的内存空间。您将这些平台存储在首先 malloc 的内存空间中。因此,当您完成这些平台后,可以使用 free 释放它们 malloc-ed 的内存。