This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

OpenCL中使用map/unmap是如何进行CPU和GPU内存同步的?

你好。

我正在使用mali—T720做opencl开发。

正如mali opencl developer guide中描述的,使用ALLOC_HOST_PTR可以避免CPU和GPU间的内存拷贝。通过map和unmap,CPU和GPU访问同一块内存区域。

我在使用的时候发现,map和unmap操作会产生额外的时间消耗和性能消耗(CPU测量结果)。如果map/unmap调用过于频繁,mali—renderer的CPU占用率会上升,并且相对于kernel的执行时间,map/unmap操作也会消耗一部分时间。

我开始理解CPU和GPU使用的内存是同一个,所以map/unmap操作应该会很快,或者可以忽略不计的。但实际使用并不是这样,请问是我使用的方式有问题吗?还是有其他更高效的同步方式?