PAPI Test Results
This page presents representative output for the PAPI
test programs included with the "Typical" installation of WinPAPI. To better
understand an individual test, view the source code found in the .\src\tests\
directory.
These results were generated on an 850 MHz Pentium III
laptop. Your mileage may vary.
To view the results for a specific test, click on that
link below:
zero.exe
Test case 0: start, stop.
-----------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type :
1
PAPI_FP_INS : 20000000
PAPI_TOT_CYC : 40075165
Real usec :
47872
Real cycles : 40691318
-------------------------------------------------------------------------
Verification: none
C:\papi\src\tests\zero.c: PASSED
Press any key to continue...
first.exe
Test case 1: Non-overlapping start, stop, read.
-----------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type :
1 2
3 4
5
PAPI_FP_INS : 20000000 20000000
40000000 60000017 60000017
PAPI_TOT_CYC: 41665263 40040722
80814967 120887712 120887712
-------------------------------------------------------------------------
Verification:
Column 1 approximately equals column 2
Column 3 approximately equals 2 * column 2
Column 4 approximately equals 3 * column 2
Column 4 exactly equals column 5
C:\papi\src\tests\first.c: PASSED
Press any key to continue...
second.exe
Test case 2: Non-overlapping start, stop, read for all 3 domains.
-----------------------------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
-------------------------------------------------------------
Test type : PAPI_DOM_ALL PAPI_DOM_KERNEL
PAPI_DOM_USER
PAPI_FP_INS : 20000000
0 20000003
PAPI_TOT_CYC: 40463145
1190589 40768420
-------------------------------------------------------------
Verification:
Row 1 approximately equals N 0 N
Column 1 approximately equals column 2 plus column 3
C:\papi\src\tests\second.c: PASSED
Press any key to continue...
third.exe
Test case 3: Overlapping start and stop of 2 eventsets with different
counters.
-------------------------------------------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
--------------------------------------------------------------------------
Test type :
1 2
3 4
5
PAPI_FP_INS :
0 0
20000000 0
20000000
PAPI_TOT_CYC: 40081171
41056041 0
121805877 0
--------------------------------------------------------------------------
Verification:
Row 1 approximately equals 0 0 N 0 N
Row 2 approximately equals X X 0 X 0
Column 1 approximately equals column 2
Column 4 approximately equals three times column 1
Column 5 approximately equals column 3
C:\papi\src\tests\third.c: PASSED
Press any key to continue...
fourth.exe
Test case 4: Overlapping start and stop of 2 eventsets.
-------------------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type :
1 2
3 4
PAPI_FP_INS : 20000000
20000000 60000000 20000000
PAPI_TOT_CYC : 40865384
41659174 121716112 40803257
-------------------------------------------------------------------------
Verification:
Column 1 approximately equals column 2
Column 3 approximately equals three times column 2
Column 4 approximately equals column 2
C:\papi\src\tests\fourth.c: PASSED
Press any key to continue...
fourth_inv.exe
Test case 4: Overlapping start and stop of 2 (inverted) eventsets.
------------------------------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type :
1 2
3 4
PAPI_FP_INS : 20000017
20000000 60000000 20000000
PAPI_TOT_CYC : 40899124
40674526 121739200 40678907
-------------------------------------------------------------------------
Verification:
Column 1 approximately equals column 2
Column 3 approximately equals three times column 2
Column 4 approximately equals column 2
C:\papi\src\tests\fourth-inv.c: PASSED
Press any key to continue...
fifth.exe
Test case 5: Overlapping start and stop of 2 eventsets with reset.
------------------------------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type :
1 2
3 4
PAPI_FP_INS : 20000000
20000000 40000000 20000003
PAPI_TOT_CYC: 40723678
40023451 80757510 40865148
-------------------------------------------------------------------------
Verification:
Column 1 approximately equals column 2
Column 3 approximately equals two times column 2
Column 4 approximately equals column 2
C:\papi\src\tests\fifth.c: PASSED
Press any key to continue...
nineth.exe
Test case 9: start, stop for derived event PAPI_FLOPS.
------------------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type :
1 2
PAPI_FP_INS : 20000017
0
PAPI_TOT_CYC: 41010676
0
PAPI_FLOPS :
0 413153675
-------------------------------------------------------------------------
Verification:
Last number in row 3 approximately equals 414526560.108397
C:\papi\src\tests\nineth.c: PASSED
Press any key to continue...
tenth.exe
Test case 10: start, stop for derived event PAPI_L1_TCM.
--------------------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 10000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type :
1 2
3
PAPI_L1_TCM : 3301958
0 0
PAPI_L1_ICM :
0 27670
0
PAPI_L1_DCM :
0 0
3249460
-------------------------------------------------------------------------
Verification:
First number row 1 approximately equals (2,2) + (3,3) or
3277130
C:\papi\src\tests\tenth.c: PASSED
Press any key to continue...
calibrate.exe
-------------------------------------------------------------------------
Vendor string and code : GenuineIntel (1)
Model string and code : Pentium II (8)
CPU revision
: 6.000000
CPU Megahertz
: 850.000000
CPU's in an SMP node : 1
Nodes in the system : 1
Total CPU's in the system: 1
-------------------------------------------------------------------------
Inner Product Test:
i
papi theory diff
%error
-------------------------------------------------------------------------
1
4 2
2 100.0000
2
4 4
0 0.0000
3
6 6
0 0.0000
4
8 8
0 0.0000
5
10 10
0 0.0000
6
12 12
0 0.0000
7
14 14
0 0.0000
8
16 16
0 0.0000
9
18 18
0 0.0000
10
20 20
0 0.0000
.
.
.
96
192 192
0 0.0000
97
194 194
0 0.0000
98
196 196
0 0.0000
99
198 198
0 0.0000
100
200 200
0 0.0000
150
300 300
0 0.0000
200
400 400
0 0.0000
250
500 500
0 0.0000
300
600 600
0 0.0000
350
700 700
0 0.0000
400
800 800
0 0.0000
450
900 900
0 0.0000
500
1000 1000
0 0.0000
-------------------------------------------------------------------------
Vendor string and code : GenuineIntel (1)
Model string and code : Pentium II (8)
CPU revision
: 6.000000
CPU Megahertz
: 850.000000
CPU's in an SMP node : 1
Nodes in the system : 1
Total CPU's in the system: 1
-------------------------------------------------------------------------
Matrix Vector Test:
i
papi theory diff
%error
-------------------------------------------------------------------------
1
2 2
0 0.0000
2
8 8
0 0.0000
3
18 18
0 0.0000
4
32 32
0 0.0000
5
50 50
0 0.0000
6
72 72
0 0.0000
7
98 98
0 0.0000
8
128 128
0 0.0000
9
162 162
0 0.0000
10
200 200
0 0.0000
.
.
.
96
18432 18432
0 0.0000
97
18818 18818
0 0.0000
98
19208 19208
0 0.0000
99
19602 19602
0 0.0000
100
20000 20000
0 0.0000
150
45006 45000
6 0.0133
200
80000 80000
0 0.0000
250 125000
125000 0
0.0000
300 180000
180000 0
0.0000
350 245000
245000 0
0.0000
400 320000
320000 0
0.0000
450 405000
405000 0
0.0000
500 500000
500000 0
0.0000
------------------------------------------------------------------------
endor string and code : GenuineIntel (1)
odel string and code : Pentium II (8)
PU revision
: 6.000000
PU Megahertz
: 850.000000
PU's in an SMP node : 1
odes in the system : 1
otal CPU's in the system: 1
------------------------------------------------------------------------
Matrix Multiply Test:
i
papi theory diff
%error
------------------------------------------------------------------------
1
2 2
0 0.0000
2
16 16
0 0.0000
3
54 54
0 0.0000
4
128 128
0 0.0000
5
250 250
0 0.0000
6
432 432
0 0.0000
7
686 686
0 0.0000
8
1024 1024
0 0.0000
9
1458 1458
0 0.0000
10
2000 2000
0 0.0000
.
.
.
96 1769472
1769472 0
0.0000
97
1825346 1825346
0 0.0000
98
1882384 1882384
0 0.0000
99
1940598 1940598
0 0.0000
100 2000000
2000000 0
0.0000
150 6750000
6750000 0
0.0000
200 16000000
16000000 0
0.0000
250 31250000
31250000 0
0.0000
300 54000057
54000000 57 0.0001
350 85750057
85750000 57 0.0001
400 128000114
128000000 114 0.0001
450 182250171
182250000 171 0.0001
500 250000188
250000000 188 0.0001
C:\papi\src\tests\calibrate.c: PASSED
Press any key to continue...
avail.exe
Test case 8: Available events and hardware information.
-------------------------------------------------------------------------
Vendor string and code : GenuineIntel
(-1)
Model string and code : Pentium
III (8) (8)
CPU revision
: 6.000000
CPU Megahertz
: 845.000000
CPU's in an SMP node :
1
Nodes in the system
: 1
Total CPU's in the system: 1
-------------------------------------------------------------------------
Name
Code Avail
Deriv Description (Note)
PAPI_L1_DCM 0x80000000
Yes No Level 1 data
cache misses (0x45,0x45)
PAPI_L1_ICM 0x80000001
Yes No Level 1 instruction
cache misses (0x81,0x81)
PAPI_L2_DCM 0x80000002
No No Level 2
data cache misses ()
PAPI_L2_ICM 0x80000003
No No Level 2
instruction cache misses ()
PAPI_L3_DCM 0x80000004
No No Level 3
data cache misses ()
PAPI_L3_ICM 0x80000005
No No Level 3
instruction cache misses ()
PAPI_L1_TCM 0x80000006
Yes No Level 1 cache
misses (0xf2e,0xf2e)
PAPI_L2_TCM 0x80000007
Yes No Level 2 cache
misses (0x24,0x24)
PAPI_L3_TCM 0x80000008
No No Level 3
cache misses ()
PAPI_CA_SNP 0x80000009
No No Requests
for a snoop ()
PAPI_CA_SHR 0x8000000a
Yes No Requests for
exclusive access to shared cache line (0x222e,0x222e)
PAPI_CA_CLN 0x8000000b
Yes No Requests for
exclusive access to clean cache line (0x212e,0x212e)
PAPI_CA_INV 0x8000000c
Yes No Requests for
cache line invalidation (0x2069,0x2069)
PAPI_CA_ITV 0x8000000d
Yes No Requests for
cache line intervention (0x2e2e,0x2e2e)
PAPI_L3_LDM 0x8000000e
No No Level 3
load misses ()
PAPI_L3_STM 0x8000000f
No No Level 3
store misses ()
PAPI_BRU_IDL 0x80000010
No No Cycles branch
units are idle ()
PAPI_FXU_IDL 0x80000011
No No Cycles integer
units are idle ()
PAPI_FPU_IDL 0x80000012
No No Cycles floating
point units are idle ()
PAPI_LSU_IDL 0x80000013
No No Cycles load/store
units are idle()
PAPI_TLB_DM 0x80000014
No No Data translation
lookaside buffer misses ()
PAPI_TLB_IM 0x80000015
Yes No Instruction translation
lookaside buffer misses (0x85,0x85)
PAPI_TLB_TL 0x80000016
No No Total translation
lookaside buffer misses ()
PAPI_L1_LDM 0x80000017
Yes No Level 1 load
misses (0xf29,0xf29)
PAPI_L1_STM 0x80000018
Yes No Level 1 store
misses (0xf2a,0xf2a)
PAPI_L2_LDM 0x80000019
No No Level 2
load misses ()
PAPI_L2_STM 0x8000001a
No No Level 2
store misses ()
PAPI_BTAC_M 0x8000001b
Yes No Branch target
address cache misses (0xe2,0xe2)
PAPI_PRF_DM 0x8000001c
No No Data prefetch
cache misses ()
PAPI_L3_DCH 0x8000001d
No No Level 3
Data Cache Hits ()
PAPI_TLB_SD 0x8000001e
No No Translation
lookaside buffer shootdowns ()
PAPI_CSR_FAL 0x8000001f
No No Failed store
conditional instructions ()
PAPI_CSR_SUC 0x80000020
No No Successful
store conditional instructions ()
PAPI_CSR_TOT 0x80000021
No No Total store
conditional instructions ()
PAPI_MEM_SCY 0x80000022
No No Cycles Stalled
Waiting for memory accesses ()
PAPI_MEM_RCY 0x80000023
No No Cycles Stalled
Waiting for memory Reads ()
PAPI_MEM_WCY 0x80000024
No No Cycles Stalled
Waiting for memory writes ()
PAPI_STL_ICY 0x80000025
No No Cycles with
no instruction issue()
PAPI_FUL_ICY 0x80000026
No No Cycles with
maximum instruction issue ()
PAPI_STL_CCY 0x80000027
No No Cycles with
no instructions completed ()
PAPI_FUL_CCY 0x80000028
No No Cycles with
maximum instructions completed ()
PAPI_HW_INT 0x80000029
Yes No Hardware interrupts
(0xc8,0xc8)
PAPI_BR_UCN 0x8000002a
No No Unconditional
branch instructions ()
PAPI_BR_CN 0x8000002b
Yes No Conditional
branch instructions(0xc4,0xc4)
PAPI_BR_TKN 0x8000002c
Yes No Conditional branch
instructions taken (0xc9,0xc9)
PAPI_BR_NTK 0x8000002d
Yes Yes Conditional branch
instructions not taken (0xc4,0xc9)
PAPI_BR_MSP 0x8000002e
Yes No Conditional branch
instructions mispredicted (0xc5,0xc5)
PAPI_BR_PRC 0x8000002f
Yes Yes Conditional branch
instructions correctly predicted (0xc4,0xc5)
PAPI_FMA_INS 0x80000030
No No FMA instructions
completed ()
PAPI_TOT_IIS 0x80000031
Yes No Instructions
issued (0xd0,0xd0)
PAPI_TOT_INS 0x80000032
Yes No Instructions
completed (0xc0,0xc0)
PAPI_INT_INS 0x80000033
No No Integer
instructions ()
PAPI_FP_INS 0x80000034
Yes No Floating point
instructions (0xc1,0x0)
PAPI_LD_INS 0x80000035
No No Load instructions
()
PAPI_SR_INS 0x80000036
No No Store instructions
()
PAPI_BR_INS 0x80000037
Yes No Branch instructions
(0xc4,0xc4)
PAPI_VEC_INS 0x80000038
Yes No Vector/SIMD instructions
(0xb0,0xb0)
PAPI_FLOPS 0x80000039
Yes Yes Floating point instructions
per second (0xc1,0x79)
PAPI_RES_STL 0x8000003a
Yes No Cycles stalled
on any resource (0xa2,0xa2)
PAPI_FP_STAL 0x8000003b
No No Cycles the
FP unit(s) are stalled ()
PAPI_TOT_CYC 0x8000003c
Yes No Total cycles
(0x79,0x79)
PAPI_IPS
0x8000003d Yes Yes
Instructions per second (0xc0,0x79)
PAPI_LST_INS 0x8000003e
No No Load/store
instructions completed ()
PAPI_SYC_INS 0x8000003f
No No Synchronization
instructions completed ()
PAPI_L1_DCH 0x80000040
Yes Yes L1 data cache hits
(0x43,0x45)
PAPI_L2_DCH 0x80000041
Yes Yes L2 data cache hits
(0xf2e,0xf24)
PAPI_L1_DCA 0x80000042
Yes No L1 data cache
accesses (0x43,0x43)
PAPI_L2_DCA 0x80000043
Yes Yes L2 data cache accesses
(0xf29,0xf2a)
PAPI_L3_DCA 0x80000044
No No L3 data
cache accesses ()
PAPI_L1_DCR 0x80000045
No No L1 data
cache reads ()
PAPI_L2_DCR 0x80000046
Yes No L2 data cache
reads (0xf29,0xf29)
PAPI_L3_DCR 0x80000047
No No L3 data
cache reads ()
PAPI_L1_DCW 0x80000048
No No L1 data
cache writes ()
PAPI_L2_DCW 0x80000049
Yes No L2 data cache
writes (0xf2a,0xf2a)
PAPI_L3_DCW 0x8000004a
No No L3 data
cache writes ()
PAPI_L1_ICH 0x8000004b
Yes Yes L1 instruction cache
hits (0x80,0x81)
PAPI_L2_ICH 0x8000004c
No No L2 instruction
cache hits ()
PAPI_L3_ICH 0x8000004d
No No L3 instruction
cache hits ()
PAPI_L1_ICA 0x8000004e
Yes No L1 instruction
cache accesses (0x80,0x80)
PAPI_L2_ICA 0x8000004f
Yes No L2 instruction
cache accesses (0xf28,0xf28)
PAPI_L3_ICA 0x80000050
No No L3 instruction
cache accesses ()
PAPI_L1_ICR 0x80000051
Yes No L1 instruction
cache reads (0x80,0x80)
PAPI_L2_ICR 0x80000052
Yes No L2 instruction
cache reads (0xf28,0xf28)
PAPI_L3_ICR 0x80000053
No No L3 instruction
cache reads ()
PAPI_L1_ICW 0x80000054
Yes No L1 instruction
cache writes (0x81,0x81)
PAPI_L2_ICW 0x80000055
No No L2 instruction
cache writes ()
PAPI_L3_ICW 0x80000056
No No L3 instruction
cache writes ()
PAPI_L1_TCH 0x80000057
No No L1 total
cache hits ()
PAPI_L2_TCH 0x80000058
No No L2 total
cache hits ()
PAPI_L3_TCH 0x80000059
No No L3 total
cache hits ()
PAPI_L1_TCA 0x8000005a
Yes Yes L1 total cache accesses
(0x43,0x80)
PAPI_L2_TCA 0x8000005b
Yes No L2 total cache
accesses (0xf2e,0xf2e)
PAPI_L3_TCA 0x8000005c
No No L3 total
cache accesses ()
PAPI_L1_TCR 0x8000005d
No No L1 total
cache reads ()
PAPI_L2_TCR 0x8000005e
Yes Yes L2 total cache reads
(0xf29,0xf28)
PAPI_L3_TCR 0x8000005f
No No L3 total
cache reads ()
PAPI_L1_TCW 0x80000060
No No L1 total
cache writes ()
PAPI_L2_TCW 0x80000061
Yes No L2 total cache
writes (0xf2a,0xf2a)
PAPI_L3_TCW 0x80000062
No No L3 total
cache writes ()
PAPI_FML_INS 0x80000063
Yes No Floating point
multiply instructions (0x0,0x12)
PAPI_FAD_INS 0x80000064
No No Floating
point add instructions()
PAPI_FDV_INS 0x80000065
Yes No Floating point
divide instructions (0x0,0x13)
PAPI_FSQ_INS 0x80000066
No No Floating
point square root instructions ()
PAPI_FNV_INS 0x80000067
No No Floating
point inverse instructions ()
-------------------------------------------------------------------------
C:\papi\src\tests\avail.c: PASSED
Press any key to continue...
clockres.exe
Test case: Clock latency and resolution.
-----------------------------------------------
PAPI_get_real_cyc : 46.051 < 46.056
PAPI_get_real_usec: 0.378
1.000
PAPI_get_real_cyc : 55.131 < 55.136
PAPI_get_virt_usec: 0.429
1.101
C:\papi\src\tests\clockres.c: PASSED
Press any key to continue...
cost.exe
Cost of execution for PAPI start/stop and PAPI read.
This test takes a while. Please be patient...
Performing start/stop test...
User level cost for PAPI_start/stop(2 counters) over 50000 iterations
74218047 total cyc,
31068277 total ins,
1484.360940 cyc/call pair,
621.365540 ins/call pair
Total cost for PAPI_start/stop(2 counters) over 50000 iterations
1622412522 total cyc,
3244.818554 cyc/call pair
Performing read test...
User level cost for PAPI_read(2 counters) over 50000 iterations
30745772 total cyc,
14601946 total ins,
614.915440 cyc/call,
292.038920 ins/call
Total cost for PAPI_read(2 counters) over 50000 iterations
544292221 total cyc,
10885.626707 cyc/call
C:\papi\src\tests\cost.c: PASSED
Press any key to continue...
Real_time: 0.005446 Proc_time: 0.005449
Total flpins: 2000000 MFLOPS: 367.054108
Press any key to continue...
high_level.exe
20000017 40144298
(Counters continuing...)
40000017 81101849
(Counters being ''held'')
20000000 40103306
(Skipped counts)
xxx
xxx (''Continuing'' counting)
60000017 122282831
----------------------------------
Verification: The last line in each experiment should be
approximately three times the value of the first line.
C:\papi\src\tests\high-level.c: PASSED
Press any key to continue...
low_level.exe
Incorrect usage of read and accum.
Some cycles are counted twice
20000000 50547873
(Counters continuing...)
60000000 151107821
(Counters being accumulated)
20000000 50604265
(Reading stopped counters)
60000000 151107821
Incorrect usage of read and accum.
Another incorrect use
20000000 50007021
(Counters continuing...)
40000000 100565909
(Intermediate counts...)
80000017 200592726
Correct usage of read and accum.
PAPI_reset and PAPI_accum used to skip counting
a section of the code.
20000000 50486145
(Counters continuing)
(Counters reset)
40000000 101040019
----------------------------------
Verification: The last line in each experiment should be
approximately twice the value of the first line.
The third case illustrates one possible way to accomplish this.
C:\papi\src\tests\low-level.c: PASSED
Press any key to continue...
overflow.exe
(This test does not perform successfully on this
Windows version)
handler(0, 80000034, 1, 5227341, 5000000, 00000000) Overflow at
FFFFFFFF!
handler(0, 80000034, 1, 10375548, 5000000, 00000000) Overflow
at FFFFFFFF!
'
'
'
handler(0, 80000034, 1, 168616336, 5000000, 00000000) Overflow
at FFFFFFFF!
handler(0, 80000034, 1, 173964264, 5000000, 00000000) Overflow
at FFFFFFFF!
handler(0, 80000034, 1, 179271608, 5000000, 00000000) Overflow
at FFFFFFFF!
handler(0, 80000034, 1, 184346304, 5000000, 00000000) Overflow
at FFFFFFFF!
handler(0, 80000034, 1, 189626250, 5000000, 00000000) Overflow
at FFFFFFFF!
handler(0, 80000034, 1, 194860365, 5000000, 00000000) Overflow
at FFFFFFFF!
Test case: Overflow dispatch of 2nd event in set with 2 events.
---------------------------------------------------------------
Threshold for overflow is: 5000000
Using 10000000 iterations of c += a*b
-----------------------------------------------
Test type :
1
2
PAPI_TOT_CYC : 409616678
412655020
PAPI_FP_INS :
200000162 200000032
Overflows :
37
-----------------------------------------------
Verification:
Row 2 approximately equals 200000000 200000000
Column 1 approximately equals column 2
Row 3 approximately equals
40
C:\papi\src\tests\overflow.c: PASSED
Press any key to continue...