<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: IMX GPU Opencl memory copy in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170022#M5344</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sri, I solved memory() in s/w bottleneck by using IPU unit as a 1:1 scale. It won't work if you don't specify at least one thing change in the destination so I chose to enable horizontal flip. You can undo it if you do 2 such copies. One to a temp buffer and a second one to your desired destination. If your input size buffer is more than 1024 pixels x 1024 lines you have to brake it into multiple steps of sizes not more than 1024x1024. Make sure that horizontal and vertical resolutions are divisible by 8.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 13 May 2013 17:16:51 GMT</pubDate>
    <dc:creator>DraganOstojic</dc:creator>
    <dc:date>2013-05-13T17:16:51Z</dc:date>
    <item>
      <title>IMX GPU Opencl memory copy</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170020#M5342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV class="lia-message-body" id="messagebodydisplay"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently I am using the &lt;SPAN class="lia-search-match-lithium"&gt;GPU&lt;/SPAN&gt; present in the IMX6x processor to do open cl computation. The data which I work is on an image of&amp;nbsp; size more than VGA resolution. The image needs to be copied to &lt;SPAN class="lia-search-match-lithium"&gt;GPU&lt;/SPAN&gt; memory and later sent back to host processor.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When measured for computation duration, the time taken for memory copy is almost taking the maximum band widht. The open cl kernel is not taking much bandwidth. So for our application, the memory transfer is the bottleneck.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently I am using opencl calls like, read_imageui and write_imageui.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any smarter or better way of doing this memory copy? Does the &lt;SPAN class="lia-search-match-lithium"&gt;GPU&lt;/SPAN&gt; use some sort of DMA to do any copy to and from the host memory. Is this possible to make it background when the compution is happening?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also is there any compution performance or memory bandwidth benchmark available?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;TNS&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2012 05:32:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170020#M5342</guid>
      <dc:creator>TNS</dc:creator>
      <dc:date>2012-06-26T05:32:00Z</dc:date>
    </item>
    <item>
      <title>Re: IMX GPU Opencl memory copy</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170021#M5343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is an older question but since there is as of yet no response I would be curious to see if you ever got a response from Freescale on this.&amp;nbsp; Specifically the write_imageui portion in our case.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 May 2013 03:26:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170021#M5343</guid>
      <dc:creator>sebastient</dc:creator>
      <dc:date>2013-05-13T03:26:16Z</dc:date>
    </item>
    <item>
      <title>Re: IMX GPU Opencl memory copy</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170022#M5344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sri, I solved memory() in s/w bottleneck by using IPU unit as a 1:1 scale. It won't work if you don't specify at least one thing change in the destination so I chose to enable horizontal flip. You can undo it if you do 2 such copies. One to a temp buffer and a second one to your desired destination. If your input size buffer is more than 1024 pixels x 1024 lines you have to brake it into multiple steps of sizes not more than 1024x1024. Make sure that horizontal and vertical resolutions are divisible by 8.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 May 2013 17:16:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170022#M5344</guid>
      <dc:creator>DraganOstojic</dc:creator>
      <dc:date>2013-05-13T17:16:51Z</dc:date>
    </item>
    <item>
      <title>Re: IMX GPU Opencl memory copy</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170023#M5345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't quite understand how you're using the IPU to DMA into the GPU memory.&amp;nbsp; Are you still using clCreateImage2d?&amp;nbsp; Is there a way to backdoor this and access an IPU buffer from CL with read/write_image?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 23:43:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170023#M5345</guid>
      <dc:creator>sebastient</dc:creator>
      <dc:date>2013-06-03T23:43:52Z</dc:date>
    </item>
    <item>
      <title>Re: IMX GPU Opencl memory copy</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170024#M5346</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It turns out that there is a solution in OpenGL. Vivante has a neat function glTexDirectVIVMap() that directly maps memory into GPU space so no copy operation is needed. I don't know if there is a version of the function in OpenCL but perhaps you could use OpenGL to accomplish your task instead?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2013 06:53:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170024#M5346</guid>
      <dc:creator>DraganOstojic</dc:creator>
      <dc:date>2013-08-02T06:53:29Z</dc:date>
    </item>
    <item>
      <title>Re: IMX GPU Opencl memory copy</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170025#M5347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since the Vivante drivers are missing the cl_khr_gl_sharing extension there is no way (that I am aware of) to share textures between the two.&amp;nbsp; I am not away of any equivalent call supported by the Vivante OpenCL drivers either.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Aug 2013 18:20:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX-GPU-Opencl-memory-copy/m-p/170025#M5347</guid>
      <dc:creator>sebastient</dc:creator>
      <dc:date>2013-08-15T18:20:14Z</dc:date>
    </item>
  </channel>
</rss>

