<?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>i.MX ProcessorsのトピックRe: GPU-accelerated edge detection with i.MX6D</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408572#M60969</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matteo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are rigth, there are some issues in Vivante gpu driver 5.0.11p5 and previous version, some test case has no expected processing effect such as gaussian filter, median filter, erode and dilate. As workaround the issue was resolved by disabling shader I-cache, however we strongly recommend to upgrade to GPU driver upgraded to Vivante v5.0.11p6 o later drivers version that also include some OpenCL performance related tests such as hevc test, kmens and so on. If you are running yocto official Freescale release, please wait to the next gpu driver and next bsp release that will include OpenCL 1.2 support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jul 2015 13:58:13 GMT</pubDate>
    <dc:creator>Bio_TICFSL</dc:creator>
    <dc:date>2015-07-15T13:58:13Z</dc:date>
    <item>
      <title>GPU-accelerated edge detection with i.MX6D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408571#M60968</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;we are using a dual-core i.MX6 in an application based on computer vision. We&lt;/P&gt;&lt;P&gt;receive a stream of images from a camera, with a frame rate of about 14 fps.&lt;/P&gt;&lt;P&gt;Each frame is 2592 x 1944 (5 megapixels), with 8 bits per pixel.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We need to process those images to detect the edges.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please notice that our application is &lt;EM&gt;not&lt;/EM&gt; concerned with the visualization of&lt;/P&gt;&lt;P&gt;those images (actually we do not even have any display connected to our custom&lt;/P&gt;&lt;P&gt;board). We have the frames loaded into main memory by the IPU, and we have to&lt;/P&gt;&lt;P&gt;process them to obtain the edge points represented in main memory too (as a list&lt;/P&gt;&lt;P&gt;of points, or as a binary image).&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Performances are important: using a standard Canny edge detector with the OpenCV&lt;/P&gt;&lt;P&gt;libraries, processing a 5Mpx-8bpp-frame takes about 500 ms, which is far too&lt;/P&gt;&lt;P&gt;long. We have to use the GPU horse-power to boost the edge detection.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This should be a typical "GPGPU" application, so OpenCL seems to be the right&lt;/P&gt;&lt;P&gt;way. Unfortunately, our first tries with it were not so good: a simple 3x3&lt;/P&gt;&lt;P&gt;gaussian-blur filter --which is the first step for the canny algorithm-- appears&lt;/P&gt;&lt;P&gt;to take about 240 ms.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So our question is: how can we optimize the OpenCL in order to achieve better&lt;/P&gt;&lt;P&gt;performances? Those should be possible, given that Vivante GC2000 is assigned a&lt;/P&gt;&lt;P&gt;bandwidth of 16 Gflops, and a 3x3 gaussian filter on 5 MB should take more or&lt;/P&gt;&lt;P&gt;less 50 millions operations.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I attach some OpenCL code we are using.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Being this issue crucial for our application, any help or hint on it would be&lt;/P&gt;&lt;P&gt;greatly appreciated :-)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Matteo&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336699"&gt;conv05.c.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336699"&gt;conv05.cl.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-336699"&gt;Makefile.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2015 08:08:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408571#M60968</guid>
      <dc:creator>matteobattaggia</dc:creator>
      <dc:date>2015-07-14T08:08:06Z</dc:date>
    </item>
    <item>
      <title>Re: GPU-accelerated edge detection with i.MX6D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408572#M60969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Matteo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are rigth, there are some issues in Vivante gpu driver 5.0.11p5 and previous version, some test case has no expected processing effect such as gaussian filter, median filter, erode and dilate. As workaround the issue was resolved by disabling shader I-cache, however we strongly recommend to upgrade to GPU driver upgraded to Vivante v5.0.11p6 o later drivers version that also include some OpenCL performance related tests such as hevc test, kmens and so on. If you are running yocto official Freescale release, please wait to the next gpu driver and next bsp release that will include OpenCL 1.2 support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 13:58:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408572#M60969</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2015-07-15T13:58:13Z</dc:date>
    </item>
    <item>
      <title>Re: GPU-accelerated edge detection with i.MX6D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408573#M60970</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi and thanks for the answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; If you are running yocto official Freescale release&lt;/P&gt;&lt;P&gt;Yes , I am working with Freescale's Yocto, with kernel version 3.10.17-1.0.1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; please wait to the next gpu driver and next bsp release that will include OpenCL 1.2 support.&lt;/P&gt;&lt;P&gt;Could you tell me when are these releases expected to happen?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again,&lt;/P&gt;&lt;P&gt;Matteo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 14:17:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408573#M60970</guid>
      <dc:creator>matteobattaggia</dc:creator>
      <dc:date>2015-07-15T14:17:33Z</dc:date>
    </item>
    <item>
      <title>Re: GPU-accelerated edge detection with i.MX6D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408574#M60971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;In kernel version 3.14.52_1.1.0-ga GPU driver (Vivante v5.0.11p7.4.) is updated. After this how much time it will take for&amp;nbsp; processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Mar 2016 08:22:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GPU-accelerated-edge-detection-with-i-MX6D/m-p/408574#M60971</guid>
      <dc:creator>umashankergupta</dc:creator>
      <dc:date>2016-03-15T08:22:25Z</dc:date>
    </item>
  </channel>
</rss>

