Hello Team,We need to understand that how to get value of %GPU utilization for individual processes running on target because there are lot of parameter include such as GPU active, Non-Fragment queue active etc, By which factor we can achieve the overall GPU performance for our application Please find the below attached image as you can see the highlight portion of MALI GPU Utilization :
Is there any calculation we need to do to achieve the overall GPU performance?And also the GPU utilization is in mega-cycle how can we achieve it in percentage?
Hello Team,We urgently need to understand the above questions so it would be helpful if you provide input on this thread ASAP.
Thank You.
Hi there, I have moved your question to the Graphics, Gaming and VR forum. Many thanks.
Rohit Khatal said:We need to understand that how to get value of %GPU utilization for individual processes running on target because there are lot of parameter include such as GPU active, Non-Fragment queue active etc, By which factor we can achieve the overall GPU performance for our application
GPU active is the overall time where "something" is running on one of the hardware queues. Non-fragment / fragment active are the two queues, and can run in parallel (including for different processes). Generally GPU Active is the main metric for hardware utilization, btu you want to make sure the two sub queues are pipelining well and not running serially.
The GPU data we get from the hardware counters is global data - it is not process aware and cannot be filtered by process.
Rohit Khatal said:And also the GPU utilization is in mega-cycle how can we achieve it in percentage?
Modify the Streamline expression to divide cycles by your target frequency for that device. The $ZOOM macro can be used to provide scaling - it is the current bin size in seconds and so can be used to scale a frequency constant so it remains usable at all UI zoom levels.HTH, Pete
Hello Peter,
Peter Harris said:? Modify the Streamline expression to divide cycles by your target frequency for that device. The $ZOOM macro can be used to provide scaling - it is the current bin size in seconds and so can be used to scale a frequency constant so it remains usable at all UI zoom levels.
?
Modify the Streamline expression to divide cycles by your target frequency for that device. The $ZOOM macro can be used to provide scaling - it is the current bin size in seconds and so can be used to scale a frequency constant so it remains usable at all UI zoom levels.
We are using Mali G51, we haven't found any frequency related information so could you please provide the information regarding frequency or some official document, we need to find in urgent basis.
And just for confirmation to get the GPU in (%)
GPU % =( clock speed got from streamline / clock speed of MALI G51)x 100%Is my understanding correct?
Best Regards,
Rohit
Hi Rohit,
Rohit Khatal said:could you please provide the information regarding frequency
Maximum frequency depends on the device - different vendors can use different silicon implementations, and choose to use different design constraints. I'd suggest talking to the chipset manufacturer.
Empirically you can run a heavy load and look at the GPU performance over 1 second. If you see a sustained region where GPU Active cycles stays level that is a good region to measure.
Rohit Khatal said:GPU % =( clock speed got from streamline / clock speed of MALI G51)x 100%
Assuming the GPU has a 1GHz sustainable top frequency, the following Streamline expression gives you a percentage relative to max load:
($MaliGPUCyclesGPUActive/(1000000000*$ZOOM)) * 100
HTH, Pete
Peter Harris said:Assuming the GPU has a 1GHz sustainable top frequency, the following Streamline expression gives you a percentage relative to max load:
Just for confirmation Assuming my chipset max frequency is 700 MHz and from streamline max load I am getting over 1s is 520 MHz,
So according to that my GPU load in % will be 520/700 = 74%Is my Understanding correct ?
Yes