[Beignet] CL_MEM_USE_HOST_PTR involve extra copy?
spring_wind
spring_wind at yeah.net
Tue Dec 2 18:01:58 PST 2014
You mean if I use CL_MEM_USE_HOST_PTR and host ptr is page aligned, I change the data pointed by host ptr from CPU side, I don't have to do any flush opertaion or I should still call clMapxx function?
在 2014-12-03 08:37:15,"Guo, Yejun" <yejun.guo at intel.com> 写道:
Hi,
please check the latest code of beignet, there is no copy needed between CPU and GPU if the host_ptr provided by application is page aligned, and the page align limitation is expected to be removed some days later. You can also try CL_MEM_ALLOC_HOST_PTR to avoid the extra copy without align limitation.
Btw, this zero-copy is supported starting from linux kernel 3.16 and libdrm 2.4.58.
From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of spring_wind
Sent: Tuesday, December 02, 2014 8:38 PM
To:beignet at lists.freedesktop.org
Subject: [Beignet] CL_MEM_USE_HOST_PTR involve extra copy?
Hi:
Intel opencl optimization guide said using CL_MEM_USE_HOST_PTR can avoid extra copy between CPU and GPU, but I noticed that in beignet's implementation source it was not like that:
/* Copy the data if required */
if (flags & CL_MEM_COPY_HOST_PTR || flags & CL_MEM_USE_HOST_PTR)
cl_buffer_subdata(mem->bo, 0, sz, data);
Could someone give me an answer?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/beignet/attachments/20141203/619534ba/attachment-0001.html>
More information about the Beignet
mailing list