@@ -124,30 +124,37 @@ func GetSpecFrequencyBuckets(outputs map[string]script.ScriptOutput) ([][]string
124124 var dieCoreBuckets []string
125125 totalCoreStartRange := 1
126126 startRange := 1
127- var archMultiplier int
128- if strings .Contains (arch , cpus .UarchSRF ) || strings .Contains (arch , cpus .UarchCWF ) {
129- archMultiplier = 4
127+ var numDies int
128+ var coreMultiplier int
129+ if strings .Contains (arch , cpus .UarchSRF ) {
130+ numDies = 4
131+ coreMultiplier = 4
132+ } else if strings .Contains (arch , cpus .UarchCWF ) {
133+ numDies = 3
134+ coreMultiplier = 4
130135 } else if strings .Contains (arch , cpus .UarchGNR_X3 ) {
131- archMultiplier = 3
136+ numDies = 3
137+ coreMultiplier = 1
132138 } else if strings .Contains (arch , cpus .UarchGNR_X2 ) {
133- archMultiplier = 2
139+ numDies = 2
140+ coreMultiplier = 1
134141 } else {
135- archMultiplier = 1
142+ numDies = 1
143+ coreMultiplier = 1
136144 }
137145 for _ , count := range bucketCoreCounts {
138- if startRange > count {
146+ adjustedCount := count * coreMultiplier
147+ if startRange > adjustedCount {
139148 break
140149 }
141- if archMultiplier > 1 {
142- totalCoreCount := count * archMultiplier
143- if totalCoreStartRange > int (totalCoreCount ) {
144- break
145- }
146- totalCoreBuckets = append (totalCoreBuckets , fmt .Sprintf ("%d-%d" , totalCoreStartRange , totalCoreCount ))
147- totalCoreStartRange = int (totalCoreCount ) + 1
150+ totalCoreCount := adjustedCount * numDies
151+ if totalCoreStartRange > int (totalCoreCount ) {
152+ break
148153 }
149- dieCoreBuckets = append (dieCoreBuckets , fmt .Sprintf ("%d-%d" , startRange , count ))
150- startRange = int (count ) + 1
154+ totalCoreBuckets = append (totalCoreBuckets , fmt .Sprintf ("%d-%d" , totalCoreStartRange , totalCoreCount ))
155+ totalCoreStartRange = int (totalCoreCount ) + 1
156+ dieCoreBuckets = append (dieCoreBuckets , fmt .Sprintf ("%d-%d" , startRange , adjustedCount ))
157+ startRange = int (adjustedCount ) + 1
151158 }
152159 // get the frequencies for each isa
153160 var allIsaFreqs [][]string
@@ -185,7 +192,7 @@ func GetSpecFrequencyBuckets(outputs map[string]script.ScriptOutput) ([][]string
185192 specCoreFreqs = make ([][]string , 1 , len (dieCoreBuckets )+ 1 )
186193 // add bucket field name(s)
187194 specCoreFreqs [0 ] = append (specCoreFreqs [0 ], "Cores" )
188- if archMultiplier > 1 {
195+ if numDies > 1 {
189196 specCoreFreqs [0 ] = append (specCoreFreqs [0 ], "Cores per Die" )
190197 }
191198 // add fieldNames for ISAs that have frequencies
@@ -198,7 +205,7 @@ func GetSpecFrequencyBuckets(outputs map[string]script.ScriptOutput) ([][]string
198205 for i , bucket := range dieCoreBuckets {
199206 row := make ([]string , 0 , len (allIsaFreqs )+ 2 )
200207 // add the total core buckets for multi-die architectures
201- if archMultiplier > 1 {
208+ if numDies > 1 {
202209 row = append (row , totalCoreBuckets [i ])
203210 }
204211 // add the die core buckets
0 commit comments