#350 closed enhancement (fixed)

Add composite geometric mean MIPS result to instr_speed utility

Reported by: trnsz@… Owned by: Jeffrey H. Johnson
Priority: minor Milestone: MR12.9
Component: Tools Version: MR12.8
Keywords: Cc:

Description

The instr_speed utility runs many (currently 15) different benchmarks and displays individual results, but provides no single average performance number, which would be very useful for quick comparisons.

The following proposed patch to instr_speed.pl1 adds a running product and test count and calculates a composite geometric mean result, which is displayed after all tests have been run.

cpa instr_speed.pl1 instr_speed_1.pl1

A45       dcl (successes, pf_aborts, nanos, ls_aborts, type, histi, bucketmin, bucketmax, pf, ls, maxs, bucket, count, nargs) fixed bin;
Changed by B to:
B45       dcl (successes, pf_aborts, nanos, ls_aborts, type, histi, bucketmin, bucketmax, pf, ls, maxs, bucket, count, nargs, ntests) fixed bin;


A52       dcl (mips, mips_total, mip_rate) float bin;
Changed by B to:
B52       dcl (mips, mips_total, mips_prod, mip_rate) float bin;


Inserted in B:
B123                ntests = 0;
B124                mips_prod = 0e0;
Preceding:
A123
A124      /* Now run the test for the 15 possible types of sequences */


A158                     mip_rate = mips_total/float (successes);     /* calculate mip_rate */
Changed by B to:
B160                     ntests = ntests + 1;
B161                     mip_rate = mips_total/float (successes);     /* calculate mip_rate */
B162                     if mips_prod = 0e0 then mips_prod = mip_rate; /* initialize mips_prod */
B163                     else mips_prod = mips_prod * mip_rate;       /* calculate mips_prod */


Inserted in B:
B169
B170                call ioa_ ("^/* * * * * * * * * * * * * * * * * * * * * *^/");
B171                call ioa_ ("COMPOSITE GEOMETRIC MEAN MIPS = ^6.3f^/", mips_prod ** (1 / float (ntests)));
Preceding:
A164

Comparison finished: 5 differences, 14 lines.

Example output:

INSTRUCTION SPEED TEST -- 03/01/25  2239.9 pst Sat

                                                                               
* * * * * * * * * * * * * * * * * * * * * *

                                                                               
TEST 1: (lda/sta - even/odd)
                                                                               
MIPS AVE = 11.399, TIME AVE = 93, 87 NANOSECONDS
                                                                               
* * * * * * * * * * * * * * * * * * * * * *

                                                                               
TEST 2: (lda/sta - odd/even)
                                                                               
MIPS AVE = 11.393, TIME AVE = 95, 87 NANOSECONDS
                                                                               
* * * * * * * * * * * * * * * * * * * * * *

                                       
TEST 3: (lda/lda/lda...)
                                                                               
MIPS AVE = 13.237, TIME AVE = 83, 75 NANOSECONDS
                                                                               
* * * * * * * * * * * * * * * * * * * * * *

                                       
TEST 4: (lda/sta - even/odd bit29)
                                                                               
MIPS AVE = 11.500, TIME AVE = 93, 86 NANOSECONDS
                                                                               
* * * * * * * * * * * * * * * * * * * * * *

                                       
TEST 5: (eppbp/spribp - even/odd)
                                                                               
MIPS AVE = 12.360, TIME AVE = 87, 80 NANOSECONDS
                                                                               
* * * * * * * * * * * * * * * * * * * * * *

                                                                               
TEST 6: (eppbp/spribp - odd/even)
                                                                               
MIPS AVE = 13.037, TIME AVE = 82, 76 NANOSECONDS
                                                                               
* * * * * * * * * * * * * * * * * * * * * *
                                       

TEST 7: (eppbp/spribp - even/odd indirect)                        

MIPS AVE =  8.207, TIME AVE = 129, 121 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *


TEST 8: (eppbp/spribp - odd/even indirect)

MIPS AVE =  8.654, TIME AVE = 120, 115 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *


TEST 9: (eppbp/spribp - even/odd bit29) 

MIPS AVE = 12.063, TIME AVE = 92, 82 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *


TEST 10: (eppbp/spribp - even/odd bit29ind)

MIPS AVE =  9.059, TIME AVE = 117, 110 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *


TEST 11: (eppbp/spribp - odd/even bit29ind)

MIPS AVE =  8.882, TIME AVE = 117, 112 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *


TEST 12: (random mix)

MIPS AVE = 11.445, TIME AVE = 94, 87 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *


TEST 13: (lda 0,du...)

MIPS AVE = 19.447, TIME AVE = 55, 51 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *


TEST 14: (nop 0,du...)

MIPS AVE = 18.393, TIME AVE = 59, 54 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *


TEST 15: (lprpbp/sprpbp - even/odd bit29)

MIPS AVE = 11.331, TIME AVE = 94, 88 NANOSECONDS

* * * * * * * * * * * * * * * * * * * * * *

COMPOSITE GEOMETRIC MEAN MIPS = 11.673

Change History (3)

comment:1 by Eric Swenson, 17 months ago

Status: newaccepted
Version: MR12.8

comment:2 by Jeffrey H. Johnson, 17 months ago

Owner: changed from Eric Swenson to Jeffrey H. Johnson
Status: acceptedassigned

comment:3 by Eric Swenson, 17 months ago

Resolution: fixed
Status: assignedclosed

Fixed by MR12.9-1014.

Note: See TracTickets for help on using tickets.