If I have a system with an integrated and discrete Intel GPU, how to I tell System Analyzer to monitor them? It seems to pick one (integrated) with no option to monitor the other.
I'm running OpenCL so have the ability to control where the compute executes.
System info: System Analyzer 2020 R3, 20.3.1601968646.
Windows 10 Version 2004 (Build 19041.630)
Architecture x84, 9 cores.
GPU Info: Intel UHD Graphics for GPU#1, Intel Iris Xe Graphics for GPU#2
Visual Studio 2019.
I have Vtune on the system, but I'm using System Analyzer independent of it as fair as I can tell.
I have used Vtune and the new GPU analysis tools, but that is a separate activity from what I can tell.
I guess I have the same question for Vtune as well as it doesn't seem to have an obvious method to me for selecting which GPU, integrated or discrete to profile.
Small world - we meet again. I am the GPA TCE now.
For VTune you should open a separate ticket (I think where you originally filed this): https://community.intel.com/t5/Analyzers/bd-p/analyzers
As for GPUs being detected with GPA, that should be automatic, unless you have a GPU disabled.
When you have System Analyzer open, please click the i button (i in a square) at the top right of the tool. Click the copy button and paste it here or send it to me. It will show what GPUs were detected. Or . . . is that where you got the system info you included in your original message?
Hi - I clicked the link and the info screen is showing two GPUs:
GPU #1 Information
Name : Intel(R) UHD Graphics
Vendor id: 0x8086
Product id: 0x4905
Driver Version 188.8.131.5225
Driver Date: 8-26-2020
GPU #2 Information:
Name: Intel(R) Iris(R) Xe Graphics
Vendor id: 0x8086
Product id: 0x9A49
Driver Version: 184.108.40.20626
Driver Date: 11-12-2020
In my opinion, there should be a menu option to select which GPU to monitor. Long term, it'd be good to see them both (which you mentioned your team is planning).
Is there a command line at startup where the specific GPU could be selected? The General settings button has no options to configure GPU.
Yes, that's coming. It's not available yet.
I assume you are using the GPA GUI tools - Graphics Monitor/System Analyzer/Trace Analyzer/Frame Analyzer . . . and not GPA Framework? In Framework you would use command line. Though in Graphics Monitor there is some semblance of command line, to say, specify whether you want to invoke an app with Vulkan vs. DX12. I'm not sure yet whether we will be able to specify the GPU there.
Thanks. Yes, I'm using System Analyzer and the GUI for it.
I understand there is no way to select or specify the GPU to monitor.
Could there perhaps be a workaround? How does System Analyzer determine what to use? Is there a registry setting or a Windows OS setting that could be changed that System Analzyer uses?
Surely, there must be some logic based upon the actual user configuration and hopefully it's a bit more than 'pick the lowest GPU number in your system info and ignore all others.' Why list the other GPUs if it can't do anything about it?
Oh my gosh. I just found out there is a secret button that will allow you to choose your playback GPU in Frame Analyzer . . .
So, Graphics Monitor does not have a capture option. It will capture everything that it is able to . . . meaning all the Intel GPU metrics as well as any non-Intel metrics that it is aware of and able to capture.
THEN, for playback in Frame Analyzer, click the GPU name in top left corner that doesn't look like a button, and it should show the list of your GPUs for which data was captured/capturable. You can then select the one you want to play back.
Also, if you want to use GPA Framework, there is a device override layer. Let me know if you want more info about this.
Thanks. Is there something similar in Graphics Grace Analyzer?
I see that it has info for 3D for both integrated and discrete. However, it only seems to have EU Active, EU Stall, GPU Frequency for one of them.
I'm trying to analyze frequency throttling when both the integrated and discrete are working together in a program that uses compute APIs like OpenCL and DX12 Compute, thus I don't believe Frame Analyzer is the right tool for it.
Hmm . . . on a properly configured machine with the right drivers, metrics for both GPUs should be available in GPA monitor. Try running and connecting System Analyzer to your application and try to subscribe to metrics there and then capture a trace.