<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://blueirissoftware.com/forum/app.php/feed/topic/3141" />

	<title>Blue Iris</title>
	<subtitle>Blue Iris User Group</subtitle>
	<link href="https://blueirissoftware.com/forum/index.php" />
	<updated>2022-02-23T00:19:04+00:00</updated>

	<author><name><![CDATA[Blue Iris]]></name></author>
	<id>https://blueirissoftware.com/forum/app.php/feed/topic/3141</id>

		<entry>
		<author><name><![CDATA[varghesesa]]></name></author>
		<updated>2022-02-23T00:19:04+00:00</updated>

		<published>2022-02-23T00:19:04+00:00</published>
		<id>https://blueirissoftware.com/forum/viewtopic.php?p=12722#p12722</id>
		<link href="https://blueirissoftware.com/forum/viewtopic.php?p=12722#p12722"/>
		<title type="html"><![CDATA[Hardware acceleration (GPUs)]]></title>

		
		<content type="html" xml:base="https://blueirissoftware.com/forum/viewtopic.php?p=12722#p12722"><![CDATA[
<strong class="text-strong"><span style="font-size:150%;line-height:116%">Introduction</span></strong><div style="margin-left:3em"><br>Hardware acceleration is one lever that can be used to optimize your BI server.  This article provides clarity on leveraging GPUs when available in BI.<br><br>If you are interested in determining hardware specifications for a new server, see <a href="viewtopic.php?f=20&amp;t=2463#Server%20Recommendations" class="postlink">server recommendations</a>.<br><br>If you need to know how to activate GPUs on your BI server, see the <a href="viewtopic.php?f=22&amp;t=2778#Video%20tab" class="postlink">video tab</a>.<br><br><br></div><span style="font-size:150%;line-height:116%"><strong class="text-strong">iGPU vs GPU</strong></span><br><br><strong class="text-strong">Performance tab of Windows Task Manager.</strong><br><br><div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=2575" class="postimage" alt="HA_task manager.png" onclick="viewableArea(this);" /></dt></dl></div><br><div style="margin-left:3em"><strong class="text-strong">Integrated GPU</strong><br>An iGPU stands for Integrated GPU.  In image above, GPU 0 is the iGPU.   Integrated means the display circuitry in the chipset resides on the motherboard or on the same chip as the CPU.  An integrated GPU shares memory with the CPU and provides a more economical alternative to a stand-alone card.<br><br>When a computer states QuickSync support, the hardware implementation resides on the iGPU.<br><br><strong class="text-strong">Dedicated GPU</strong><br>A dedicated GPU is generally much more powerful than an iGPU and often used with video editing or gaming software.  Dedicated GPUs are also valuable when running AI solutions such as DeepStack.  In the image above, GPU 1 is the dedicated GPU.  In this case, it is an nVidia GTX 1070 Ti.<br><br><br></div><span style="font-size:150%;line-height:116%"><strong class="text-strong">GPU utilization</strong></span><div style="margin-left:3em"><br>Users often ask how do I know whether the GPU is being used.  The below example illustrates how to do so.  My system only has (4) 2 MP cameras, not a huge decoding load for today's chips. <br><br><div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=2576" class="postimage" alt="hardware recommendations_GPU stats.png" onclick="viewableArea(this);" /></dt></dl></div><br><strong class="text-strong">No streaming</strong><br>The no streaming section shows zero activity.  I had BI set to the Inactive profile and the inactive profile is set to NOT stream any cameras.  This test is just to level set.  It is clear that the hardware decoder is not utilized at all when cameras are not streaming.<br><br><div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=2577" class="postimage" alt="hardware recommendations_no streaming.png" onclick="viewableArea(this);" /></dt></dl></div><br><strong class="text-strong">Group view</strong><br>I then show the load when streaming in mosaic view (I have dual streams set for all my cameras).  Thus each stream from the camera is the sub stream (856 x 480).  You notice a bump in the decode usage.  With more cameras and higher resolutions the bump will be more pronounced but you get the idea.<br><br><div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=2578" class="postimage" alt="hardware-recommendations_streaming_optimized.png" onclick="viewableArea(this);" /></dt></dl></div><br><strong class="text-strong">Single camera view</strong><br>Finally, I go to single camera view, i.e. stream one camera in high resolution (2 MP).  Notice another slight bump in usage.<br><br><div class="inline-attachment"><dl class="file"><dt class="attach-image"><img src="https://blueirissoftware.com/forum/download/file.php?id=2579" class="postimage" alt="hardware-recommendations_single-camera_optimized.png" onclick="viewableArea(this);" /></dt></dl></div><br></div><span style="font-size:150%;line-height:116%"><strong class="text-strong">Gotchas</strong></span><br>This section provides learnings from past tickets.<div style="margin-left:3em"><br><strong class="text-strong">Gotcha 1: GPU overloaded</strong><br>Customer ticket<div style="margin-left:3em"><br>Symptoms: With 25 cameras displayed on the screen in a 5x5 grid of thumbnails, we find your app becomes lethargic and the CPU is almost always running 99 to 100% and the GPU is lightly loaded at maybe 5-10 %.  We see delays on the cameras approaching 2 mins on the display. <br><br>Server: <br>Win 10 Pro<br>Intel i5-7500 3.4 ghz<br>8 gb ram<br>NVidia GeForce GT 1030 PCI Express X4 Gen 3 (driver version 451.48)<br><br>From engineering<div style="margin-left:3em">With 25 cameras, your server may be spending more time switching between feeds than actually decoding.<br>Engineering stated one telltale sign the GPU is overloaded is FPS drops on the camera.<br>An easy test is to disable some of the other cameras and see if FPS bumps back up for the problem camera.<br><br></div></div><strong class="text-strong">Gotcha 2: iGPU &amp; dGPU</strong><br>If your computer has multiple GPUs like above, make sure the bios is set appropriately.  I would recommend enabling the iGPU.  In below ticket, the user decided to choose the dGPU.<div style="margin-left:3em"><br>Customer ticket<div style="margin-left:3em">The moment Ive sent this mail, I have realized the Igpu and Dgpu were both enabled.  Deactivating the Igpu in the bios freed up the CPU.</div></div></div><p>Statistics: Posted by <a href="https://blueirissoftware.com/forum/memberlist.php?mode=viewprofile&amp;u=521">varghesesa</a> — Wed Feb 23, 2022 12:19 am</p><hr />
]]></content>
	</entry>
	</feed>
