Performance: VUPS Procedure

  • astrodanco
  • Topic Author
  • Visitor
  • Visitor
14 years 9 months ago #4689 by astrodanco
Replied by astrodanco on topic RE: Performance: VUPS Procedure
Interestingly enough Bruce, your PI executable seems to run a little bit faster than mine. I'm getting 172 seconds using your PI executable.

Please Log in or Create an account to join the conversation.

  • VolkerHalle
  • Topic Author
  • Visitor
  • Visitor
14 years 8 months ago #4690 by VolkerHalle
Replied by VolkerHalle on topic RE: new CALCULATE_VUPS procedure
Bruce,

there are a couple of possible endless-loop problems in this procedure , which will only become visible when running on 1 GHz or 1.25 GHz Alphas. I've cleaned up the code and removed those problems. The procedure has been successfully tested on fast Alphas and also tested on slower Alphas. It does provide the same VUPS results as the previous version. Please consider to use this updated version.

The main problem solved was, that the loops may finish within 10 ms of CPU time on fast Alphas, which will cause a ide-by-zero and a negative result for the no. of loops to be run.

Volker.


$! CALCULATE_VUPS
$! Use at your own risk.
$!
$ set noon
$ cpu_multiplier = 10 ! VAX = 10 - Alpha/AXP = 40
$ cpu_round_add = 1 ! VAX = 1 - Alpha/AXP = 9
$ cpu_round_ide = cpu_round_add + 1
$ init_counter = cpu_multiplier * 525
$ speed_factor = 1 ! to increase no. of loops on fast CPUs
$ 9$:
$ init_loop_maximum = 205 * speed_factor
$ start_cputime = f$getjpi(0,"CPUTIM")
$ loop_index = 0
$ 10$:
$ loop_index = loop_index + 1
$ if loop_index .ne. init_loop_maximum then goto 10$
$ end_cputime = f$getjpi(0,"CPUTIM")
$ IF end_cputime .LE. start_cputime + 1 ! not enough clock-ticks = CPU too fast
$ THEN
$ speed_factor = speed_factor + 1 ! increase no. of loops
$ WRITE SYS$OUTPUT "INFO: Preventing endless loop (10$) on fast CPUs"
$ GOTO 9$
$ ENDIF
$ init_vups = ((init_counter / (end_cputime - start_cputime) + -
cpu_round_add) / cpu_round_ide) * cpu_round_ide
$ IF init_vups .LE. 0
$ THEN
$ WRITE SYS$OUTPUT "Calibration error -> exiting (Please report this problem)"
$ SHOW SYMB speed_factor
$ SHOW SYMB init_vups
$ SHOW SYMB init_counter
$ SHOW SYMB end_cputime
$ SHOW SYMB start_cputime
$ SHOW SYMB cpu_multiplier
$ SHOW SYMB cpu_rounding
$ SHOW CPU
$ EXIT
$ ENDIF
$ write sys$output " "
$ loop_maximum = (init_vups * init_loop_maximum) / ( 10 * speed_factor )
$ base_counter = (init_counter * init_vups) / 10
$ vups = 0
$ min_vups = %X7FFFFFFF
$ max_vups = 0
$ avg_vups = 0
$ times_through_loop = 0
$ 20$:
$ start_cputime = f$getjpi(0,"CPUTIM")
$ times_through_loop = times_through_loop + 1
$ loop_index = 0
$ 30$:
$ loop_index = loop_index + 1
$ if loop_index .ne. loop_maximum then goto 30$
$ end_cputime = f$getjpi(0,"CPUTIM")
$ IF end_cputime .LE. start_cputime
$ THEN
$ new_vups = 0 ! can not calculate VUPS (CPU too fast)
$ WRITE SYS$OUTPUT "INFO: Loop too fast (20$) - ignoring VUPS data"
$ ELSE
$ new_vups = ((base_counter / (end_cputime - start_cputime) + -
cpu_round_add) / cpu_round_ide) * cpu_round_ide
$ ENDIF
$ IF new_vups .LT. min_vups THEN $ min_vups = new_vups
$ IF new_vups .GT. max_vups THEN $ max_vups = new_vups
$ avg_vups = avg_vups + new_vups
$ if new_vups .eq. vups then goto 40$
$ vups = new_vups
$ if times_through_loop .le. 5 then goto 20$
$!! WRITE SYS$OUTPUT "INFO: Preventing endless loop 20$"
$ 40$:
$ vups = avg_vups / times_through_loop
$ write sys$output " Approximate System VUPs Rating : ", -
vups / 10,".", vups - ((vups / 10) * 10), -
" ( min: ", min_vups/10,".", min_vups - ((min_vups / 10) * 10), -
" max: ", max_vups/10,".", max_vups - ((max_vups / 10) * 10), " )"
$ exit

Please Log in or Create an account to join the conversation.

  • Bruce Claremont
  • Topic Author
  • Visitor
  • Visitor
14 years 8 months ago #4691 by Bruce Claremont
Replied by Bruce Claremont on topic RE: Performance: VUPS Procedure
I've verified Volker's update. It still produces measurements consistent with the old version. We've switched to Volker's updated version. I've also replaced our VUP3 benchmark procedure posted on the Development page with Volker's VUPS procedure. Thanks, Volker.

Please Log in or Create an account to join the conversation.

  • pnkearns
  • Topic Author
  • Visitor
  • Visitor
14 years 1 month ago #4692 by pnkearns
Replied by pnkearns on topic RE: Performance: VUPS Procedure
I know that VUPS is reasonable given we are talking about FreeAXP and Digital architecture, but has anyone run Dhrystones on FreeAXP?

I know there are lies, damn lies and then benchmarks. However, I'm running into a need to give some rough number comparisons to other architectures.

Please Log in or Create an account to join the conversation.

  • pnkearns
  • Topic Author
  • Visitor
  • Visitor
14 years 1 month ago #4693 by pnkearns
Replied by pnkearns on topic RE: Performance: VUPS Procedure
As an FYI, my results running the VUPS.COM file Bruce posted.

System configuration:
MacBook Pro notebook with 2.33 GHz Intel Core 2 Duo OS/X 10.6 -> Parallels 6 -> Windows 7 -> FreeAXP 283/OpenVMS 8.3

Results:
Run 1: 24.4 VUPS (Min: 24 Max: 25)
Run 2: 24.8 VUPS (Min: 23 Max: 25)

<img src='../images/smiley/grin.gif' alt='smiley'><hr>

Please Log in or Create an account to join the conversation.

  • rickw
  • Topic Author
  • Visitor
  • Visitor
13 years 9 months ago #4694 by rickw
Replied by rickw on topic RE: Performance: VUPS Procedure
FYI on performance ratings using Volker's procedure on 4 different systems.

HP Integrity Rx6600 - quad 1.6ghz Itanium CPU's 8GB of RAM, VMS 8.3-1h1: 591.6

Compag Alpha Server DS20 - Dual 667mhz CPU's 1GB of RAM VMS 7.2-1: 204.9

FreeAXP AMD 1090T (3.2ghz hexcore) 8GB RAM VMS 8.3 (hobbyist)*: 33.0

FreeAXP HP Dv6000 Laptop - Core 2 Duo 2ghz 4GB VMS 8.3 (hobbyist): 20.8

*Note: AMD PC is my 24/7 do all server and has several apps running while testing FreeAXP.
(PS3 Media Server, Thunderbird Email Client, Miranda Chat for "ICQ,IRC,AIM,Yahoo,Google Talk,MSN", TeamSpeak3 voice chat client, Liberkey Portable Apps, SQL-lite, Visual Studio 2005, Filezilla Server to name a few...)

regards, Rick<hr>

Please Log in or Create an account to join the conversation.

Moderators: iamcamiel
Time to create page: 0.194 seconds
Powered by Kunena Forum