Monitoring FPU usage under Windows?

  • Thread starter Borek
  • Start date
  • #1
Borek
Mentor
29,206
3,880
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.
 

Answers and Replies

  • #2
Borg
Science Advisor
Gold Member
2,073
3,505
FPU - Floating Point Units?
 
  • #3
Borek
Mentor
29,206
3,880
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?
 
  • #4
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,809
1,670
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.
 
  • #5
Borek
Mentor
29,206
3,880
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.
 
  • #6
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,809
1,670
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.
 
  • #7
Borek
Mentor
29,206
3,880
I know of these applications.

Can we please stay on topic?
 
  • #8
rootone
3,393
946
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.
 
  • #9
Vanadium 50
Staff Emeritus
Science Advisor
Education Advisor
29,935
15,616
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
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,809
1,670
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
Vanadium 50
Staff Emeritus
Science Advisor
Education Advisor
29,935
15,616
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.
 

Suggested for: Monitoring FPU usage under Windows?

  • Last Post
Replies
30
Views
954
Replies
5
Views
373
Replies
22
Views
490
Replies
10
Views
730
  • Last Post
Replies
5
Views
678
  • Last Post
Replies
3
Views
697
Replies
3
Views
503
Replies
7
Views
712
Replies
9
Views
730
Replies
15
Views
945
Top