<?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: GPU profiling - shader utilisation at 200+% in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1333443#M179456</link>
    <description>&lt;P&gt;Thanks for getting back to me on this!&lt;/P&gt;&lt;P&gt;Below is a typical frame with details of the vertex count and primitive count. Both are reasonably stable across frames, except for a few frames where the input primitives are '12' and the 'trivially reject count' is zero. Either way, the counts are much, much lower than 300-500k.&lt;/P&gt;&lt;P&gt;However, I don't know how to see the bytes per vertex; is it possible that that is very high for some reason?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SnipImage(1).JPG" style="width: 358px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/154827iDA8C466DD68168CE/image-size/large?v=v2&amp;amp;px=999" role="button" title="SnipImage(1).JPG" alt="SnipImage(1).JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With respect to 'CPU-side culling', do you know how I could check that? We aren't doing any graphics programming directly - we are drawing using Qt controls. Do you know anything we should check about our use of Qt?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Tony&lt;/P&gt;</description>
    <pubDate>Wed, 01 Sep 2021 17:22:20 GMT</pubDate>
    <dc:creator>ATPark</dc:creator>
    <dc:date>2021-09-01T17:22:20Z</dc:date>
    <item>
      <title>GPU profiling - shader utilisation at 200+%</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1332634#M179402</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm profiling a Qt app for an iMX6 IoT device to try to diagnose low frame rate.&lt;/P&gt;&lt;P&gt;I'm thinking we are probably limited by CPU not GPU, but I have one thing from vAnalyser that worries me and that I don't understand. The shader utilisation is very high.&lt;/P&gt;&lt;P&gt;Below is a screenshot of the frame analysis for a typical frame. I see that driver utilisation and GPU utilisation are both really low, which is fine. But the shader utilisation is at over 200%, and this is the same for ALL frames.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SnipImage.JPG" style="width: 279px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/154692i67FAE6B581823704/image-size/large?v=v2&amp;amp;px=999" role="button" title="SnipImage.JPG" alt="SnipImage.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Can anyone explain in basic terms what it means for the shader utilisation to be above 200% consistently, and what effect that is likely to have on our application performance?&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 31 Aug 2021 16:02:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1332634#M179402</guid>
      <dc:creator>ATPark</dc:creator>
      <dc:date>2021-08-31T16:02:39Z</dc:date>
    </item>
    <item>
      <title>Re: GPU profiling - shader utilisation at 200+%</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1333259#M179449</link>
      <description>&lt;P&gt;Hello ATPark,&lt;/P&gt;
&lt;P&gt;That part of the advice is local to the shader core - load/store is the highest pipeline load, so that's the critical path for shader execution (ignoring external memory effects).&lt;/P&gt;
&lt;P&gt;In addition to compute, load/store is used for reading and writing vertex data. Check your complexity (primitive count, vertex count, and number of bytes per vertex) and CPU-side culling to make sure you are not processing more geometry that the GPU can cope with.&lt;/P&gt;
&lt;P&gt;In general for mobile aim for &amp;lt; 300-500K input vertices per frame, and ~32 bytes per vertex.&lt;/P&gt;
&lt;P&gt;The driver is utilization 1% so not worry about the DRAM effects.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Wed, 01 Sep 2021 13:00:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1333259#M179449</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2021-09-01T13:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: GPU profiling - shader utilisation at 200+%</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1333443#M179456</link>
      <description>&lt;P&gt;Thanks for getting back to me on this!&lt;/P&gt;&lt;P&gt;Below is a typical frame with details of the vertex count and primitive count. Both are reasonably stable across frames, except for a few frames where the input primitives are '12' and the 'trivially reject count' is zero. Either way, the counts are much, much lower than 300-500k.&lt;/P&gt;&lt;P&gt;However, I don't know how to see the bytes per vertex; is it possible that that is very high for some reason?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SnipImage(1).JPG" style="width: 358px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/154827iDA8C466DD68168CE/image-size/large?v=v2&amp;amp;px=999" role="button" title="SnipImage(1).JPG" alt="SnipImage(1).JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With respect to 'CPU-side culling', do you know how I could check that? We aren't doing any graphics programming directly - we are drawing using Qt controls. Do you know anything we should check about our use of Qt?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Tony&lt;/P&gt;</description>
      <pubDate>Wed, 01 Sep 2021 17:22:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1333443#M179456</guid>
      <dc:creator>ATPark</dc:creator>
      <dc:date>2021-09-01T17:22:20Z</dc:date>
    </item>
    <item>
      <title>Re: GPU profiling - shader utilisation at 200+%</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1334887#M179555</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;There is no way to see how many bytes per vertex is used, and for CPU culling you may be able to see this blog:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://bruop.github.io/frustum_culling/" target="_blank"&gt;https://bruop.github.io/frustum_culling/&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Fri, 03 Sep 2021 14:05:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/GPU-profiling-shader-utilisation-at-200/m-p/1334887#M179555</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2021-09-03T14:05:33Z</dc:date>
    </item>
  </channel>
</rss>

