Problems on making buffer object, created by <span style="line-height: 16.7999992370605px;">CL_MEM_USE_HOST_PTR, work correctly.</span><div><span style="line-height: 16.7999992370605px;"><br></span></div><div><span style="line-height: 16.7999992370605px;">1. The memory in host memory must be aligned 64 bytes.</span></div><div><span style="line-height: 16.7999992370605px;"><br></span></div><div><span style="line-height: 16.7999992370605px;">2. libdrm-dev >= 2.4.58</span></div><div><span style="line-height: 16.7999992370605px;"> In Ubuntu 14.04.2, by "sudo apt-get install libdrm-dev", the version is 2.4.56, doesn't satisfy. And I try to compile by myself, but failed. So, in the end, I add an PPA, </span><strong class="ppa-reference" style="white-space: nowrap; color: rgb(51, 51, 51); font-family: Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 18px; background-color: rgb(255, 255, 0);">ppa:oibaf/graphics-drivers</strong><span style="color: rgb(51, 51, 51); font-family: Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 18px;">  from </span><span style="line-height: 16.7999992370605px;"> </span>https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers/,</div><div>Then it's easy to install libdrm 2.4.60 just by apt-get.</div><div><br></div><div>Now: Ubuntu 14.04.2    Kernel 3.18.12</div><div><br>Thanks for all helpers!! :-></div><div><br><blockquote name="replyContent" class="ReferenceQuote" style="padding-left:5px;margin-left:5px;border-left:#b6b6b6 2px solid;margin-right:0">-----原始邮件-----<br>
<b>发件人:</b><span id="rc_from">"Guo, Yejun" <yejun.guo@intel.com></span><br>
<b>发送时间:</b><span id="rc_senttime">2015-05-06 09:49:56 (星期三)</span><br>
<b>收件人:</b> "Gao, Sanshan" <gss@mail.ustc.edu.cn><br>
<b>抄送:</b> <br>
<b>主题:</b> RE: RE: [Beignet] Shared Host Memory but not Share<br><br>



<style></style>


<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Looks like ubuntu 15.04 meets the requirement for both libdrm and linux kernel, any issue here?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">To verify the libdrm version, you can check:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1">
<!--[if !supportLists]--><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><!--[endif]--><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The output of cmake contains “Enable userptr support”<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">…<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-- checking for module 'libdrm'<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--   found libdrm, version 2.4.58<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-- Looking for DRM - found at /usr/local 2.4.58<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-- checking for module 'libdrm_intel>=2.4.52'<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--   found libdrm_intel, version 2.4.58<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-- Looking for DRM Intel - found at /usr/local 2.4.58<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-- Enable userptr support<o:p></o:p></span></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">…<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1">
<!--[if !supportLists]--><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">         
</span></span></span><!--[endif]--><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">ldd your example<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:36.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">if it does not link against the correct version of libdrm (that you built from source code), please set
</span><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:black">LD_LIBRARY_PATH.</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Yejun<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Gao, Sanshan [mailto:<a href="mailto:gss@mail.ustc.edu.cn" target="_blank">gss@mail.ustc.edu.cn</a>]
<br>
<b>Sent:</b> Tuesday, May 05, 2015 4:50 PM<br>
<b>To:</b> Guo, Yejun<br>
<b>Subject:</b> Re: RE: [Beignet] Shared Host Memory but not Share<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi, Yejun,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">After trying to compile and install libdrm 2.4.60 from source code, I think it's not installed successfully. Then I change to Ubuntu 15.04 (<span style="background:yellow;mso-highlight:yellow">kernel version 3.19.6), and by "apt-get install
 libdrm-dev", the version is 2.4.60-2</span>.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><b>1. </b>Recompile kernel 4.0.1 from <a href="http://www.kernel.org" target="_blank">
www.kernel.org</a> with default configuration and Beignet patch, then run command "<span style="font-size:10.0pt;font-family:"Courier New";color:#2E1A05"># echo 0 > /sys/module/i915/parameters/enable_cmd_parser</span>". However, when run utest_run<span lang="ZH-CN" style="font-family:宋体">,</span>I
 get these information. Should I change some kernel default settings. or change and configure other things?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Before use kernel 4.0.1, but with default kernel 3.19.6, utest_run is ok, except some test units which depending on provided patch, like atomic functions.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">gss@GPU-GIGA1:~/files/beignet/build/utests$ . setenv.sh<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">gss@GPU-GIGA1:~/files/beignet/build/utests$ ./utest_run<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Invalid MIT-MAGIC-COOKIE-1 keyDevice open failed, aborting...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">platform number 1<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">platform_profile "FULL_PROFILE"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">platform_name "Intel Gen OCL Driver"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">platform_vendor "Intel"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">platform_version "OpenCL 1.2 beignet 1.1 (git-83f8739)"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">platform_extensions "cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_khr_icd"<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Invalid MIT-MAGIC-COOKIE-1 keyDevice open failed, aborting...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">cl_get_gt_device(): error, unknown device: ffffffff<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">error calling clGetDeviceIDs<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Failed to initialize cl device.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">summary:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">----------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  total: 731<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  run: 0<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  pass: 0<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  fail: 0<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  pass rate: 0.000000<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
2. On Ubuntu 14.04.2, by "sudo apt-get install libdrm-dev", the version of libdrm is 2.4.56. I have wanted to install from source code, but it's depending on many packets and I failed.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> I find version 2.4.60 in link: <a href="https://launchpad.net/ubuntu/trusty/+package/libdrm-dev" target="_blank">
https://launchpad.net/ubuntu/trusty/+package/libdrm-dev</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> What should I do to make "sudo apt-get install libdrm-dev" can install the latest libdrm?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thank you very much!! <br>
<br>
<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">-----<span lang="ZH-CN" style="font-family:宋体">原始邮件</span>-----<br>
<b><span lang="ZH-CN" style="font-family:宋体">发件人</span>:</b>"Guo, Yejun" <<a href="mailto:yejun.guo@intel.com" target="_blank">yejun.guo@intel.com</a>><br>
<b><span lang="ZH-CN" style="font-family:宋体">发送时间</span>:</b>2015-05-05 09:52:26 (<span lang="ZH-CN" style="font-family:宋体">星期二</span>)<br>
<b><span lang="ZH-CN" style="font-family:宋体">收件人</span>:</b> "Gao, Sanshan" <<a href="mailto:gss@mail.ustc.edu.cn" target="_blank">gss@mail.ustc.edu.cn</a>><br>
<b><span lang="ZH-CN" style="font-family:宋体">抄送</span>:</b> "<a href="mailto:beignet@lists.freedesktop.org" target="_blank">beignet@lists.freedesktop.org</a>" <<a href="mailto:beignet@lists.freedesktop.org" target="_blank">beignet@lists.freedesktop.org</a>><br>
<b><span lang="ZH-CN" style="font-family:宋体">主题</span>:</b> RE: [Beignet] Shared Host Memory but not Share<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">the seg fault issue did not reproduce at my side.  Maybe you can try:</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span><span style="font-size:7.0pt;color:#1F497D">         
</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Beignet/utest also invokes clGetDeviceIDs() and successful to run, just compare it with your simple example step by step to check the difference.</span><o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">-</span><span style="font-size:7.0pt;color:#1F497D">         
</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Run your simple example within gdb, to check the crash point inside beignet (built with Debug version)</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Beignet [mailto:<a href="mailto:beignet-bounces@lists.freedesktop.org" target="_blank">beignet-bounces@lists.freedesktop.org</a>]
<b>On Behalf Of </b>Gao, Sanshan<br>
<b>Sent:</b> Monday, May 04, 2015 6:05 PM<br>
<b>To:</b> Guo, Yejun<br>
<b>Cc:</b> <a href="mailto:beignet@lists.freedesktop.org" target="_blank">beignet@lists.freedesktop.org</a><br>
<b>Subject:</b> Re: [Beignet] Shared Host Memory but not Share</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks for your guidance!!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Now: <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">My kernel version==4.0.0 libdrc-dev version==2.4.56<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">And after reading sample code, I realize that may be the reason is host memory should be aligned 64.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">So:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I "sudo apt-get remove libdrm-dev" and install libdrm 2.4.60.2 (link:    <a href="https://launchpad.net/ubuntu/+archive/primary/+files/libdrm_2.4.60.orig.tar.gz" target="_blank">https://launchpad.net/ubuntu/+archive/primary/+files/libdrm_2.4.60.orig.tar.gz</a>)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">It depends "sudo apt-get install libpciaccess-dev".<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">But:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">After all of this, the run test in Beignet is OK, but one of my previous simple example has "Segmentation fault (core dumped)" when run, although compiling is OK. Error function
 is clGetDeviceIDs().<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">After rebuild and install the latest Beignet, problem is still.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I don't know why? Could you give me some guidance? (attachments are: log file and simple code)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">769  summary:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">770  ----------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">771   total: 681<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">772   run: 680<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">773   pass: 680<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">774   fail: 0<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">775   pass rate: 1.000000<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><br>
<br>
<br>
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt">-----<span lang="ZH-CN" style="font-family:宋体">原始邮件</span>-----<br>
<b><span lang="ZH-CN" style="font-family:宋体">发件人</span>:</b>"Guo, Yejun" <<a href="mailto:yejun.guo@intel.com" target="_blank">yejun.guo@intel.com</a>><br>
<b><span lang="ZH-CN" style="font-family:宋体">发送时间</span>:</b>2015-05-04 09:58:24 (<span lang="ZH-CN" style="font-family:宋体">星期一</span>)<br>
<b><span lang="ZH-CN" style="font-family:宋体">收件人</span>:</b> "Gao, Sanshan" <<a href="mailto:gss@mail.ustc.edu.cn" target="_blank">gss@mail.ustc.edu.cn</a>>, "<a href="mailto:beignet@lists.freedesktop.org" target="_blank">beignet@lists.freedesktop.org</a>"
 <<a href="mailto:beignet@lists.freedesktop.org" target="_blank">beignet@lists.freedesktop.org</a>><br>
<b><span lang="ZH-CN" style="font-family:宋体">抄送</span>:</b> <br>
<b><span lang="ZH-CN" style="font-family:宋体">主题</span>:</b> RE: [Beignet] Shared Host Memory but not Share<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Please refer to the sample code in utests/runtime_use_host_ptr_buffer.cpp and  kernels/runtime_use_host_ptr_buffer.cl</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">To avoid internal copy, it requires libdrm version >= 2.4.58 and linux kernel version >= 3.16</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Beignet [mailto:<a href="mailto:beignet-bounces@lists.freedesktop.org" target="_blank">beignet-bounces@lists.freedesktop.org</a>]
<b>On Behalf Of </b>Gao, Sanshan<br>
<b>Sent:</b> Sunday, May 03, 2015 3:56 PM<br>
<b>To:</b> <a href="mailto:beignet@lists.freedesktop.org" target="_blank">beignet@lists.freedesktop.org</a><br>
<b>Subject:</b> [Beignet] Shared Host Memory but not Share</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi, alls,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I want to use CL_MEM_USE_HOST_PTR to create a buffer object which shares host memory, so the changes to the elements in kernel can be used by host program.<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">But the result is that, I have changed the element in kernel, but the element in host program has not changed. I don't know why? Does this method still be a copy of host memory,
 so the change is not done to the host memory, but only device memory?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hope for helps!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>Device:</b> GIGA Mini PC with core i7 and Iris Pro, integrated GPU<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>Kernel function:</b><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 47 __kernel void PacketsIndexCalculation(<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 48                          const unsigned int     packets_info_size,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 49                          __global packet_info_t  *packets_info,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 50                          const unsigned int     flow_table_size )<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 51 {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 52     int gid = get_global_id(0);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 53     __global packet_info_t *p = packets_info + gid;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 54<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 55     //calculate hash value<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 56    
<span style="color:red">p->index</span> = ( ((p->flow_id).src_ip & 0xff) | (((p->flow_id).dst_ip & 0xff)<<8) |<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 57                  (((p->flow_id).src_port & 0xff)<<16) | (((p->flow_id).dst_port & 0xff)<<24) )%flow_table_size;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 58    <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> 59 }<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>Problem:</b><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> In host program, the memory pointed by &(p->index) has not changed by kernel function.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>


</blockquote></div>