Python OpenCL从RAM中删除数据

Python OpenCL从RAM中删除数据,python,memory-management,opencl,Python,Memory Management,Opencl,我正在使用图形卡上的OpenCL处理python中的数据。这里有一个内核,它用n个线程处理数据。 在这一步之后,我将结果复制回python并放在一个新内核中。(数据非常大,900MB,结果是100MB)根据结果,我需要计算大约200MB的三角形。所有数据都超出了我图形卡上的内存 在第一个内核完成工作后,我不再需要第一个900MB 我的问题是,如何从图形卡中删除第一个数据集(存储在一个数组中) 下面是一些代码: #Write self.gridBuf = cl.Buffer(self.contex

我正在使用图形卡上的OpenCL处理python中的数据。这里有一个内核,它用n个线程处理数据。 在这一步之后,我将结果复制回python并放在一个新内核中。(数据非常大,900MB,结果是100MB)根据结果,我需要计算大约200MB的三角形。所有数据都超出了我图形卡上的内存

在第一个内核完成工作后,我不再需要第一个900MB

我的问题是,如何从图形卡中删除第一个数据集(存储在一个数组中)

下面是一些代码:

#Write
self.gridBuf = cl.Buffer(self.context, cl.mem_flags.READ_ONLY | cl.mem_flags.COPY_HOST_PTR, hostbuf=self.grid)
#DO PART 1
...
#Read result
cl.enqueue_read_buffer(self.queue, self.indexBuf,index).wait()
您需要使用通过调用clCreateBuffer创建的mem对象进行调用。如果此调用的引用计数变为零,则实现将释放底层设备/共享内存