-
Notifications
You must be signed in to change notification settings - Fork 0
/
spec-config.conf
149 lines (122 loc) · 9.06 KB
/
spec-config.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?xml version="1.0" standalone="yes"?>
<event_configuration family="17" modellow="30" modelhigh="3f" version="2">
<!-- Specify a Eventgroup and Each eventgroup can be of type "core" or "l3" or "df"
1. 4 fixed perf events
ff00 -> TSC
ff01 -> IRPERF
ff02 -> APERF
ff03 -> MPRF
2. 6 Core PMC events or 6 L3 PMC events or 4 DF events per eventgroup
-->
<!-- Core PMC Event groups -->
<core>
<event ctl="ff00" name="$TSC"> </event>
<event ctl="ff02" name="$APerf"> </event>
<event ctl="ff03" name="$MPerf"> </event>
<event ctl="0x430076" name="$CpuCycles"> </event>
<event ctl="0x4300C0" name="$RetdInst"> </event>
<event ctl="0x4300C2" name="$RetdBrInst"> </event>
<event ctl="0x430529" name="$LoadDisp"> </event>
<event ctl="0x430629" name="$StoreDisp"> </event>
<event ctl="0x4300C1" name="$RetdUops"> </event>
<metric name="Utilization (%)" expression="$MPerf * 100 / $TSC"> </metric>
<metric name="Eff Freq" expression="($APerf / $MPerf) * $P0Freq"> </metric>
<metric name="IPC (Sys + User)" expression="$RetdInst / $CpuCycles"> </metric>
<metric name="CPI (Sys + User)" expression="$CpuCycles / $RetdInst"> </metric>
<metric name="Pipeline Utilization (%)" expression="$RetdInst / $CpuCycles / 8 * 100"> </metric>
</core>
<core subtype="l2">
<event ctl="ff01" name="$IRPerfL2"> </event>
<event ctl="0x43F960" name="$L2AccessWithoutPF"> </event>
<event ctl="0x431060" name="$L2AccessFromICMiss"> </event>
<event ctl="0x43C860" name="$L2AccessFromDCMiss"> </event>
<event ctl="0x431F70" name="$L2PFHitinL2"> </event>
<event ctl="0x431F71" name="$L2PFMissL2HitinL3"> </event>
<event ctl="0x431F72" name="$L2PFMissL2L3"> </event>
<metric name="$L2PFMissinL2" expression="($L2PFMissL2HitinL3 + $L2PFMissL2L3)"> </metric>
</core>
<core subtype="l2">
<event ctl="ff01" name="$IRPerfL22"> </event>
<event ctl="0x430164" name="$L2MissIC"> </event>
<event ctl="0x430864" name="$L2MissDC"> </event>
<event ctl="0x430664" name="$L2HitIC"> </event>
<event ctl="0x437064" name="$L2HitDC"> </event>
<event ctl="0x43F664" name="$L2HitWithoutPF"> </event>
<metric name="$L2Miss" expression="$L2MissIC + $L2MissDC"> </metric>
<metric name="L2 Access (pti)" expression="(($L2AccessWithoutPF + $L2PFHitinL2 + $L2PFMissL2HitinL3 + $L2PFMissL2L3) * 1000) / $IRPerfL2"> </metric>
<metric name="L2 Access from IC Miss (pti)" expression="($L2AccessFromICMiss * 1000 / $IRPerfL2)"> </metric>
<metric name="L2 Access from DC Miss (pti)" expression="($L2AccessFromDCMiss * 1000 / $IRPerfL2)"> </metric>
<metric name="L2 Access from HWPF (pti)" expression="(($L2PFHitinL2 + $L2PFMissL2HitinL3 + $L2PFMissL2L3) * 1000) / $IRPerfL2"> </metric>
<metric name="L2 Miss (pti)" expression="(($L2Miss * 1000 / $IRPerfL22) + ($L2PFMissinL2 * 1000 / $IRPerfL2))"> </metric>
<metric name="L2 Miss from IC Miss (pti)" expression="($L2MissIC * 1000 / $IRPerfL22)"> </metric>
<metric name="L2 Miss from DC Miss (pti)" expression="($L2MissDC * 1000 / $IRPerfL22)"> </metric>
<metric name="L2 Miss from HWPF (pti)" expression="($L2PFMissinL2 * 1000 / $IRPerfL2)"> </metric>
<metric name="L2 Hit (pti)" expression="(($L2HitWithoutPF * 1000 / $IRPerfL22) + ($L2PFHitinL2 * 1000 / $IRPerfL2))"> </metric>
<metric name="L2 Hit from IC Miss (pti)" expression="($L2HitIC * 1000 / $IRPerfL22)"> </metric>
<metric name="L2 Hit from DC Miss (pti)" expression="($L2HitDC * 1000 / $IRPerfL22)"> </metric>
<metric name="L2 Hit from HWPF (pti)" expression="($L2PFHitinL2 * 1000 / $IRPerfL2)"> </metric>
</core>
<!-- L3 PMC Event groups -->
<l3>
<event ctl="ff01" name="$IRPerfL3"> </event>
<event ctl="0x0300c0000040019E" name="$L3Clock"> </event>
<!--<event ctl="0x0300c0000040ff04" name="$L3Access"> </event>
<event ctl="0x0300c00000400104" name="$L3Miss"> </event>-->
<event id="04" mask="ff" slicemask="f" threadmask="ff" name="$L3Access"> </event>
<event id="06" mask="01" slicemask="f" threadmask="ff" name="$L3Miss"> </event>
<event ctl="0x0300c00000400090" name="$L3MissLatency"> </event>
<event ctl="0x0300c00000401f9a" name="$L3MissByType"> </event>
<metric name="L3 Access" expression="$L3Access"> </metric>
<metric name="L3 Miss" expression="$L3Miss"> </metric>
<metric name="L3 Hit Rate (%)" expression="($L3Access - $L3Miss) * 100 / $L3Access"> </metric>
<metric name="L3 Miss Rate (%)" expression="$L3Miss * 100 / $L3Access"> </metric>
<metric name="Ave L3 Miss Latency" expression="($L3MissLatency * 16) / $L3MissByType"> </metric>
</l3>
<df>
<event ctl="ff00" name="$DFTscMem"> </event>
<event ctl="0x0000000000403007" name="$DFCS0Umc0ReqRd"> </event>
<event ctl="0x0000000000400807" name="$DFCS0Umc0ReqWr"> </event>
<event ctl="0x0000000000403047" name="$DFCS1Umc1ReqRd"> </event>
<event ctl="0x0000000000400847" name="$DFCS1Umc1ReqWr"> </event>
<metric name="$ElapsedTimeinUsMem" expression="$DFTscMem / $P0Freq"> </metric>
</df>
<df>
<event ctl="0x0000000000403087" name="$DFCS2Umc2ReqRd"> </event>
<event ctl="0x0000000000400887" name="$DFCS2Umc2ReqWr"> </event>
<event ctl="0x00000000004030C7" name="$DFCS3Umc3ReqRd"> </event>
<event ctl="0x00000000004008C7" name="$DFCS3Umc3ReqWr"> </event>
</df>
<df>
<event ctl="0x0000000100403007" name="$DFCS4Umc4ReqRd"> </event>
<event ctl="0x0000000100400807" name="$DFCS4Umc4ReqWr"> </event>
<event ctl="0x0000000100403047" name="$DFCS5Umc5ReqRd"> </event>
<event ctl="0x0000000100400847" name="$DFCS5Umc5ReqWr"> </event>
</df>
<df>
<event ctl="0x0000000100403087" name="$DFCS6Umc6ReqRd"> </event>
<event ctl="0x0000000100400887" name="$DFCS6Umc6ReqWr"> </event>
<event ctl="0x00000001004030C7" name="$DFCS7Umc7ReqRd"> </event>
<event ctl="0x00000001004008C7" name="$DFCS7Umc7ReqWr"> </event>
<metric name="$TotalMemRdBw" expression="($DFCS0Umc0ReqRd + $DFCS1Umc1ReqRd + $DFCS2Umc2ReqRd + $DFCS3Umc3ReqRd + $DFCS4Umc4ReqRd + $DFCS5Umc5ReqRd + $DFCS6Umc6ReqRd + $DFCS7Umc7ReqRd)"> </metric>
<metric name="$TotalMemWrBw" expression="($DFCS0Umc0ReqWr + $DFCS1Umc1ReqWr + $DFCS2Umc2ReqWr + $DFCS3Umc3ReqWr + $DFCS4Umc4ReqWr + $DFCS5Umc5ReqWr + $DFCS6Umc6ReqWr + $DFCS7Umc7ReqWr)"> </metric>
<metric name="Total Mem Bw (GB/s)" expression="(64 * ($TotalMemRdBw + $TotalMemWrBw)) / ($ElapsedTimeinUsMem * 1000)"> </metric>
<metric name="Total Mem RdBw (GB/s)" expression="(64 * $TotalMemRdBw) / ($ElapsedTimeinUsMem * 1000)"> </metric>
<metric name="Total Mem WrBw (GB/s)" expression="(64 * $TotalMemWrBw) / ($ElapsedTimeinUsMem * 1000)"> </metric>
<metric name="Mem Ch-A RdBw (GB/s)" expression="(64 * $DFCS0Umc0ReqRd) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-A WrBw (GB/s)" expression="(64 * $DFCS0Umc0ReqWr) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-B RdBw (GB/s)" expression="(64 * $DFCS1Umc1ReqRd) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-B WrBw (GB/s)" expression="(64 * $DFCS1Umc1ReqWr) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-C RdBw (GB/s)" expression="(64 * $DFCS3Umc3ReqRd) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-C WrBw (GB/s)" expression="(64 * $DFCS3Umc3ReqWr) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-D RdBw (GB/s)" expression="(64 * $DFCS2Umc2ReqRd) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-D WrBw (GB/s)" expression="(64 * $DFCS2Umc2ReqWr) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-E RdBw (GB/s)" expression="(64 * $DFCS6Umc6ReqRd) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-E WrBw (GB/s)" expression="(64 * $DFCS6Umc6ReqWr) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-F RdBw (GB/s)" expression="(64 * $DFCS7Umc7ReqRd) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-F WrBw (GB/s)" expression="(64 * $DFCS7Umc7ReqWr) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-G RdBw (GB/s)" expression="(64 * $DFCS5Umc5ReqRd) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-G WrBw (GB/s)" expression="(64 * $DFCS5Umc5ReqWr) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-H RdBw (GB/s)" expression="(64 * $DFCS4Umc4ReqRd) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
<metric name="Mem Ch-H WrBw (GB/s)" expression="(64 * $DFCS4Umc4ReqWr) / ($ElapsedTimeinUsMem * 1000)" aggr="F"> </metric>
</df>
</event_configuration>