mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Hardware (https://www.mersenneforum.org/forumdisplay.php?f=9)
-   -   How to find out CPU speed (https://www.mersenneforum.org/showthread.php?t=10398)

roger 2008-06-15 10:04

How to find out CPU speed
 
How do you find out the speed of your computer, not the MHz/GHz, but operations per second?

roger

xilman 2008-06-15 11:04

[QUOTE=roger;135949]How do you find out the speed of your computer, not the MHz/GHz, but operations per second?

roger[/QUOTE]You write a program that executes a specified number of operations and time how long it takes to run.

The speed is critically dependent on many factors, including precisely which operations you wish to measure, their pattern of memory accesses, the order in which the operations are excuted and many more.


Pau

ATH 2008-06-15 11:53

You can get a "Prime95 measurement" using the formulas for how many GFLOP an LL test is and divide with your average iteration time:
[url]http://www.mersenneforum.org/showthread.php?t=10309[/url]

Exponent 10.18M to 12.65M: 0.06747706 GFLOP/iteration
Exponent 12.65M to 15.07M: 0.08216965 GFLOP/iteration
Exponent 15.07M to 17.55M: 0.09722501 GFLOP/iteration
Exponent 17.55M to 20.05M: 0.10883397 GFLOP/iteration
Exponent 20.05M to 24.93M: 0.14075860 GFLOP/iteration
Exponent 24.93M to 29.69M: 0.16941821 GFLOP/iteration
Exponent 29.69M to 34.56M: 0.20188702 GFLOP/iteration
Exponent 34.56M to 39.50M: 0.22238408 GFLOP/iteration
Exponent 39.50M to 49.10M: 0.29747952 GFLOP/iteration
Exponent 49.10M to 58.52M: 0.36096600 GFLOP/iteration

Close all other programs, put UsePrimenet=0 and StressTester=1 in prime.txt/prime.ini and choose an exponent and put on worktodo.ini/worktodo.txt, for example:
AdvancedTest=37033333

Let it run for 10-15min and check the average iteration time, for example 57ms, you get your GFLOPs: 0.22238408(GFLOP/ite) / 0.057(sec/ite) = 3.90 GFLOP/s. You can try 2-3 different exponent from different ranges to see if its consistent. For example for my P4 Prescott 3.4Ghz I got between 3.70 and 3.96 GFLOP/s, so its not super accurate but it gives you a hint.

Mini-Geek 2008-06-15 12:43

[quote=ATH;135953]You can get a "Prime95 measurement" using the formulas for how many GFLOP an LL test is and divide with your average iteration time:
[URL]http://www.mersenneforum.org/showthread.php?t=10309[/URL]

Exponent 10.18M to 12.65M: 0.06747706 GFLOP/iteration
Exponent 12.65M to 15.07M: 0.08216965 GFLOP/iteration
Exponent 15.07M to 17.55M: 0.09722501 GFLOP/iteration
Exponent 17.55M to 20.05M: 0.10883397 GFLOP/iteration
Exponent 20.05M to 24.93M: 0.14075860 GFLOP/iteration
Exponent 24.93M to 29.69M: 0.16941821 GFLOP/iteration
Exponent 29.69M to 34.56M: 0.20188702 GFLOP/iteration
Exponent 34.56M to 39.50M: 0.22238408 GFLOP/iteration
Exponent 39.50M to 49.10M: 0.29747952 GFLOP/iteration
Exponent 49.10M to 58.52M: 0.36096600 GFLOP/iteration

Close all other programs, put UsePrimenet=0 and StressTester=1 in prime.txt/prime.ini and choose an exponent and put on worktodo.ini/worktodo.txt, for example:
AdvancedTest=37033333

Let it run for 10-15min and check the average iteration time, for example 57ms, you get your GFLOPs: 0.22238408(GFLOP/ite) / 0.057(sec/ite) = 3.90 GFLOP/s. You can try 2-3 different exponent from different ranges to see if its consistent. For example for my P4 Prescott 3.4Ghz I got between 3.70 and 3.96 GFLOP/s, so its not super accurate but it gives you a hint.[/quote]
Athlons always do worse than P4s of similar power for Prime95/LLR. I'm getting about 2.6 GFLOPS on one core, but I think it's an underestimate because of the Athlon/P4 difference. I'm using a 2.5 GHz Athlon X2 4800+.

ixfd64 2008-06-15 22:15

You need a benchmarking program, such as [url=http://www.sisoftware.net]Sandra[/url].

R.D. Silverman 2008-06-15 23:46

[QUOTE=roger;135949]How do you find out the speed of your computer, not the MHz/GHz, but operations per second?

roger[/QUOTE]

Read R. Silverman "Exposing the Mythical MIPS Year", IEEE Computer.

The short answer is: you CAN'T. #ops/sec is highly variable; it depends
on the instruction mix. You can have two machines, A & B, and two
piecs of code X & Y. You can make machine A look faster when running X
and machine B look faster when running Y.

henryzz 2008-06-16 06:32

[quote=R.D. Silverman;135980]Read R. Silverman "Exposing the Mythical MIPS Year", IEEE Computer.

The short answer is: you CAN'T. #ops/sec is highly variable; it depends
on the instruction mix. You can have two machines, A & B, and two
piecs of code X & Y. You can make machine A look faster when running X
and machine B look faster when running Y.[/quote]
what about when using an equal number of every instruction

xilman 2008-06-16 07:27

[QUOTE=henryzz;135985]what about when using an equal number of every instruction[/QUOTE]You can but:

a) it's not clear that this measure gives much guidance on how fast a machine is when doing useful work and

b) as I noted earlier, the order of the instructions and their memory usage pattern can have a profound effect on the time taken to be executed. It's certainly possible to have times varying by a factor of 2 or more purely by re-arranging exactly the same instructions ito the optimal and pessimal ordering.


Paul]


All times are UTC. The time now is 22:38.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.