OpenCL清除RAM中的数据

2024-04-23 17:36:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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()

Tags: 数据内存代码selfcl数组线程mem