Welcome back to the OpenVINO channel
Yes, Intel has an integrated GPU
Yes, it is very likely that you have one and you are not using it
Most Intel Atom and Core CPUs have an integrated graphics.
Let's talk about:
1) The structure and capabilities of the Intel integrated GPU
2) How do I know if I have a GPU? which one is it?
where to look for the spec?
3) How to use this GPU for inference
On Video 43 and 44 I'll talk about how to use the integrated GPU for Video processing,
decode and encode.. And for image processing..
On Video 45 I'll show you a simple tool for measuring real time performance
and utilization of the integrated GPU..
Let's look at Core Gen 6, what Intel calls Skylake..
It is a full system. it has 2 Cores and other components.. let's ignore them
This version of the Chip has the smallest integrated GPU
it has 24 execution units
And still you see how big the size of the silicon it takes...
almost Half the chip
A bigger version, GT3, has 2x the number of execution units..
And this version of the chip has 4 cores and 3 times the execution units..
So there are difference flavors and different capabilities to each version of the intel integrated graphics
These execution units are great for 3D graphic rendering,
And you could program them using OpenGL, DirectX, , OpenCL or others
But, we can also use them for inference with OpenVINO,
And it is easier than ever.
First of all, do I have an integrated GPU?
in Linux.. Ubuntu, I just type this line,
and this is the GPU I have in the system
Few ways to do it in Windows..
First, Right click on the screen..
Get to display, setting, and present the display adapter properties..
My laptop has an HD graphics 530
Another way is to look for system information.. this is my chip
And I go look for it at ark.intel.com which is a great site for HardWare information..
and you can see that my integrated GPU is HD graphics 530.
Now we can go to this site, Or many others, to check for the spec of my GPU,
Mine is Skylake.. GT2.. Called HD graphics 530
Here is the max frequency, and so on..
The various integrated GPUs has different brand names,
And they are pretty much ordered here,
so If I want a Skylake machine, You see the numbers from 510 going up to bigger and bigger GPUs up to 580
And the names from HD graphics to Iris, to Iris-Pro
In order to run inference on the integrated GPU you do not need to know OpenCL or almost anything..
The same code that you used to run inference on the CPU will do the job
All you have to do is change the target device
So for the inference-engine samples, just use -d GPU instead of CPU
I'll start the environment
Go to the demo directory And run the security barrier demo..
At default it runs on CPU.. And it give us 100 FPS..
This is a good i7 machine..
Now let's run the same demo on the GPU.. Just type -d (device) GPU..
And it's running..
This model can only do 60 FPS,
but it can now free up the CPU.. As the GPU was doing nothing before..
If I open the classification sample, you can see that the FLAGS_d flag is pointing to the device
and should be set to GPU instead of CPU.. That's all..
Another very useful fact.
Intel integrated GPUs has also fixed functions for video and image processing..
You can see here in the chart the 24 execution units, but also the VDBOX and the VEBOX
These are pieces of silicon that you could use to accelerate video decode and encode and image processing.
We'll talk about it on Video 43 and 44
So we saw how to detect if I have an integrated GPU, how to find the spec and how to use it for inference..
Some of these GPUs are pretty powerful and they are for free !!!
They are in the system, you already paid for them and you are not using it..
Take a model and use the benchmark_app to check the performance on your integrated GPU..
check Video 32.
On Video 44, I'll show you how to measure the GPU utilization using a simple tool..
Thank you.