This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Infering the GPU Active cycles in Mali T-628

Hi ,

I have the following questions regarding Mali T-628 GPU.

 I am running a 3D convolution OpenCL kernel in Mali T-628 GPU (set of 4 cores device).  I obtain the GPU cycles counter using Streamline

The GPU Vertex-Tiling-Compute:Activity counter shows 100% utilization . So this translates to 100% GPU utilization.

Then the GPU active cycles should match the runtime right?

In a sampling interval of 1s , the GPU active cycles should be 600*10^6 whereas the GPU active cycles reported by streamline is 3141810

Why this discrepancy?

Please help me understand this.

Thanks

Parents
  • I've just spotted that in this data you do have data points correctly reporting 599M cycles reporting 100% utilization, which looks correct to me. This is very different to the 3M cycles you reported in your first comment ...

    In terms of some data points reporting low, it's entirely possible that the platform is adjusting frequency and voltage based on idle periods or thermal load if it's overheating due to sustained workloads while running an overclock.

    maasa said:
    7.479424875 seconds but the actual runtime is 8.222271 seconds.

    Software isn't zero cycles - there is some driver load to setup and complete the work.

Reply
  • I've just spotted that in this data you do have data points correctly reporting 599M cycles reporting 100% utilization, which looks correct to me. This is very different to the 3M cycles you reported in your first comment ...

    In terms of some data points reporting low, it's entirely possible that the platform is adjusting frequency and voltage based on idle periods or thermal load if it's overheating due to sustained workloads while running an overclock.

    maasa said:
    7.479424875 seconds but the actual runtime is 8.222271 seconds.

    Software isn't zero cycles - there is some driver load to setup and complete the work.

Children
  • Hi ,

    Thank you for your inputs. But my question is 

    In the following data,

    Time Index    GPU Vertex-Tiling-Compute:Activity    Mali Job Manager Cycles:GPU cycles    Mali Job Manager Cycles:JS1 cycles    Mali Core Cycles:Tripipe cycles    Mali Core Cycles:Compute cycles

    6    99.55%    597264018    597099182    385657069    385661788
    7    99.52%    597069905    596896010    385843125    385848021
    8    99.64%    476883765    476739306    307584997    307589073
    9    99.36%    327274357    327183748    211693189    211696096
    10    99.52%    597066566    596880847    385265405    385270772

    Even though GPU Vertex-Tiling-Compute:Activity   is 99.64% why streamline reports 476M gpu cycles instead of 599M ? I checked the temperature of GPU , it is only ~55 C for the above case.

    99.64% activity means idle periods are not there. Also temperature of GPU  is only ~55 C. So overheating also is not happening. Then why discrepancy arises. I am unable to understand.

  • Hi massa, 

    I'm not sure I can give you a better answer. 

    The "Activity" counter is a software metric reported by the kernel driver; i.e. how busy does the driver think the hardware is.

    The other counters are hardware counters reported by the GPU while work is running; i.e. how busy does the hardware think it is.

    The only conclusion I can draw is that your platform BSP is down-clocking the GPU to ~300Mhz for some reason. The frequency management is outside of the Mali driver / hardware and is provided by the chipset manufacturer, so I can't explain why it's decided to do this.

    HTH, 
    Pete