https://bugs.kde.org/show_bug.cgi?id=444042

--- Comment #4 from Tvrtko Ursulin <tvrtko.ursu...@linux.intel.com> ---
Cool - do you have a screenshot at hand? :)

"Total GPU usage" is a good question which I think doesn't have a good answer.
Neither max or normalized is correct when looked across different GPU engine
"classes" (types?). To an extent it is possible to draw a parallel with the CPU
world, where there are multiple engine instances of the same class. But not
fully because whereas CPU cores are (for our practical purpose) functionally
identical, GPU engines are not.

So if you go for normalized usage then user might see 25% load but the GPU
could be truly be maxed out on the only engine which can run the workload in
question. Parallel with CPU world is that user can see 25% CPU (quad-core
example) when running a single threaded program, so it just can't go any faster
despite 25%. If we look at it like that we can perhaps justify it.

If you go for max then of course the opposite goes - GPU can be 100% busy
encoding a video stream but render engine might have plenty capacity to run
users game/UI/whatever.

For me best answer could be to forgo "Total GPU usage" and show multiple engine
classes - "GPU Render", "GPU video", etc. If you have a single graphing widget
then you can overlay separate graphs on a single canvas.

What does KDE do here for other vendors?

For a discussion point, I have recently made a quick and dirty RFC against
xosview:
https://github.com/tursulin/xosview/commit/c9cca738aeade15d3f46d182a9ca956a88effe72

There I did what I described above, apart that I did begrudgingly go for "max"
for the numeric representation.

For your actual implementation two things stand out which will need improving.
First is support for multiple GPUs (it's a thing since Intel entered discrete
market with laptops containing both integrated and discrete Intel GPUs already
on the market) and also support for more than a single engine of a class  (for
instance the zero in i915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_VIDEO, 0) is only
the first instance of this engine while some platforms have more than one).

Again, you can have a peek at my xosview prototype to see how I enumerate GPUs
(class GPUList) and count engines on each  (class GPU).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to