Monitoring FPU usage under Windows?

  • Thread starter Thread starter Borek
  • Start date Start date
  • Tags Tags
    Windows
AI Thread Summary
Monitoring FPU usage under Windows presents challenges due to the integration of FPUs within CPUs, particularly in Intel processors, making it difficult to isolate FPU performance. Current monitoring tools primarily focus on CPU usage rather than specific FPU metrics, and real-time monitoring of FPU performance is largely unavailable. The discussion highlights the evolution of gaming graphics from simple designs to complex, realistic visuals, driven by increased FLOPS capabilities. Additionally, while GPUs have become powerful for various computations beyond graphics, the distinction between FLOPS and MIPS remains relevant. Ultimately, the lack of dedicated software for monitoring individual FPU usage complicates efforts to gather specific performance data.
Borek
Mentor
Messages
29,132
Reaction score
4,556
Does anyone know how to monitor FPU usage under Windows? There are plenty of monitors (even the built one) that will show CPU usage, but I am interested just in FPU and I can't find anything. Does it mean there is no way of checking?

Perhaps profilers could help gather some data, but in my (dated) experience they are perfect when you have a source code, and I need to collect some general FPU usage data.
 
Computer science news on Phys.org
FPU - Floating Point Units?
 
Yes.

This is related to this thread: https://www.physicsforums.com/threads/computer-games-based-on-physics-engines.803658/ I have problems finding good information. I tried to contact developers and producers, but so far to no avail.

More or less the question at the moment is: how did the games change with more and more FLOPS available? How many FLOPS do the games use?
 
Borek said:
Yes.

This is related to this thread: https://www.physicsforums.com/threads/computer-games-based-on-physics-engines.803658/ I have problems finding good information. I tried to contact developers and producers, but so far to no avail.

More or less the question at the moment is: how did the games change with more and more FLOPS available? How many FLOPS do the games use?
Well, as CPUs got faster and able to execute more FLOPS, games changed from cartoons like Mario Bros. to more realistic graphics like DOOM and others.

It's hard to separate out the performance of the FPU from the CPU, because the FPU is integrated into the overall design of the processor, especially in the Intel family. The need for more raw processing power for the most realistic games has outstripped what the CPU-FPU combinations can provide, which is why graphics cards have separate memory and multiple FPU chips which are capable of executing parallel code.

http://en.wikipedia.org/wiki/Graphics_processing_unit

Most FPU testing of which I am aware is performance on one or more computation benchmarks. I'm not aware of any real-time monitoring of FPU performance.
 
SteamKing said:
Well, as CPUs got faster and able to execute more FLOPS, games changed from cartoons like Mario Bros. to more realistic graphics like DOOM and others.

And that's what I want to write about.

It's hard to separate out the performance of the FPU from the CPU, because the FPU is integrated into the overall design of the processor, especially in the Intel family.

Which doesn't make the distinction between FLOPS and MIPS obsolete (#include all necessary disclaimers and caveats here.

The need for more raw processing power for the most realistic games has outstripped what the CPU-FPU combinations can provide, which is why graphics cards have separate memory and multiple FPU chips which are capable of executing parallel code.

IMHO you are mixing two things here, and I want to keep them separate. Floating power on the graphic card is (mostly) used for graphics generation. Around DOOM time everything (including graphics generation) was done by the CPU, around Quake things has changed (thanks to Quake using some subset of OpenGL) as the first consumer graphic cards with accelerated 3D rendering appeared (Voodoo and so on). But that's not what I am looking after. As far as I know GPU is not used for the physics behind the world. This is the domain of CPU and engines like Havok, Open Dynamics Engine or Box2D. I am interested in FLOPS used by these engines.
 
Borek said:
Which doesn't make the distinction between FLOPS and MIPS obsolete (#include all necessary disclaimers and caveats here.
No one ever said that this distinction is obsolete.
IMHO you are mixing two things here, and I want to keep them separate. Floating power on the graphic card is (mostly) used for graphics generation. Around DOOM time everything (including graphics generation) was done by the CPU, around Quake things has changed (thanks to Quake using some subset of OpenGL) as the first consumer graphic cards with accelerated 3D rendering appeared (Voodoo and so on). But that's not what I am looking after. As far as I know GPU is not used for the physics behind the world. This is the domain of CPU and engines like Havok, Open Dynamics Engine or Box2D. I am interested in FLOPS used by these engines.

Normally, you would be right, but with high-end graphics cards coming down in price, their capabilities are being used for more that "just" graphics. In many cases, the raw processing power of many graphics cards outstrips that of the computer's CPU.

Here is a page from one GPU vendor, nVidia:

http://www.nvidia.com/page/products.html#GPUAccelerated

Clicking on "GPU Computing" under the section "GPU Accelerated Software Applications" will show about 20 pages of all sorts of software where the actual number crunching, not just the graphics, is accelerated by use of this brand of GPU.

Here is one sample application, under the heading of "Computational Chemistry" for nVidia Tesla GPU Accelerators:

http://www.nvidia.com/object/computational_chemistry.html

There are other applications for structural mechanics, computational fluid dynamics, etc.

With advanced GPUs having parallel architectures, it's almost like having a personal supercomputer in your desktop.
 
I know of these applications.

Can we please stay on topic?
 
Since FPUs are now integrated multiple times both within CPU's and GPU's I doubt there would be any off the shelf software for Windows that monitors the use of individual units within the chips.
Possibly the manufacturers of the chips might have something which does this as part of their R&D effort.
 
There hasn't been a separate FPU on Intel chips for a very long time - maybe 25 years. Today there are multiple FPUs on a single CPU, with some able to execute some instructions and some able to execute others. I'm not even sure FPU usage is even well defined - if FPU0 is used 100% of the time, but FPU1 is idle, is this 100% usage? 50% usage? Some other number? It's probably impossible to keep them all busy simultaneously.
 
  • #10
Vanadium 50 said:
There hasn't been a separate FPU on Intel chips for a very long time - maybe 25 years. Today there are multiple FPUs on a single CPU, with some able to execute some instructions and some able to execute others. I'm not even sure FPU usage is even well defined - if FPU0 is used 100% of the time, but FPU1 is idle, is this 100% usage? 50% usage? Some other number? It's probably impossible to keep them all busy simultaneously.
While there may no longer be separate physical chips, there are special instruction codes which are executed by the FPU which perform the floating point operations.

As the internal architecture of the Intel family has gotten more complicated, the instruction set has complexified quite a bit over the years, and the floating point instructions are but one aspect of this.
 
  • #11
I'm not sure how that helps Borek, though. Because of the superscalar nature of modern chips, even things like "time spent executing FMUL" are not simple.
 
Back
Top