mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-02 17:55:19 +00:00
Fixed repeatability issues with the branch predictor simulator results generation.
I reran using a clean clone of the repo so this should be working now.
This commit is contained in:
parent
0c789c2fbd
commit
e747f97dce
@ -40,18 +40,18 @@ do
|
|||||||
lines=`sim_bp gshare 16 16 $Size 1 $File | tail -5`
|
lines=`sim_bp gshare 16 16 $Size 1 $File | tail -5`
|
||||||
Total=`echo "$lines" | head -1 | awk '{print $5}'`
|
Total=`echo "$lines" | head -1 | awk '{print $5}'`
|
||||||
Miss=`echo "$lines" | tail -2 | head -1 | awk '{print $8}'`
|
Miss=`echo "$lines" | tail -2 | head -1 | awk '{print $8}'`
|
||||||
BMDR=`echo "$Miss / $Total" | bc -l`
|
BMDR=`echo "100.0 * $Miss / $Total" | bc -l`
|
||||||
BMDRArray+=("$BMDR")
|
BMDRArray+=("$BMDR")
|
||||||
if [ $Miss -eq 0 ]; then
|
if [ $Miss -eq 0 ]; then
|
||||||
Product=`echo "scale=200; $Product / $Total" | bc -l`
|
Product=`echo "scale=200; $Product * 100 / $Total" | bc -l`
|
||||||
else
|
else
|
||||||
Product=`echo "scale=200; $Product * $Miss / $Total" | bc -l`
|
Product=`echo "scale=200; $Product * $BMDR" | bc -l`
|
||||||
fi
|
fi
|
||||||
Count=$((Count+1))
|
Count=$((Count+1))
|
||||||
done
|
done
|
||||||
# with such long precision bc outputs onto multiple lines
|
# with such long precision bc outputs onto multiple lines
|
||||||
# must remove \n and \ from string
|
# must remove \n and \ from string
|
||||||
Product=`echo "$Product" | tr -d '\n' | tr -d '\\\'`
|
Product=`echo "$Product" | tr -d '\n' | tr -d '\\\'`
|
||||||
GeoMean=`perl -E "say $Product**(1/$Count) * 100"`
|
GeoMean=`perl -E "say $Product**(1/$Count)"`
|
||||||
echo "$Pred$Size $GeoMean"
|
echo "$Pred$Size $GeoMean"
|
||||||
done
|
done
|
||||||
|
@ -46,7 +46,7 @@ do
|
|||||||
do
|
do
|
||||||
#echo "sim_bp $Pred $Size $Size 18 1 $File | tail -1 | awk '{print $4}'"
|
#echo "sim_bp $Pred $Size $Size 18 1 $File | tail -1 | awk '{print $4}'"
|
||||||
#echo "sim_bp $Pred $SizeString $File | tail -1 | awk '{print $4}'"
|
#echo "sim_bp $Pred $SizeString $File | tail -1 | awk '{print $4}'"
|
||||||
BMDR=`sim_bp $Pred $SizeString $File | tail -1 | awk '{print $4}'`
|
BMDR=`sim_bp -c $Pred $SizeString $File | tail -1 | awk '{print $4}'`
|
||||||
Product=`echo "$Product * $BMDR" | bc`
|
Product=`echo "$Product * $BMDR" | bc`
|
||||||
Count=$((Count+1))
|
Count=$((Count+1))
|
||||||
done
|
done
|
||||||
|
@ -32,12 +32,13 @@ import math
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
RefDataBP = [('twobitCModel6', 'twobitCModel', 64, 9.65280765420711), ('twobitCModel8', 'twobitCModel', 256, 8.75120245829945), ('twobitCModel10', 'twobitCModel', 1024, 8.1318382397263),
|
|
||||||
('twobitCModel12', 'twobitCModel', 4096, 7.53026646633342), ('twobitCModel14', 'twobitCModel', 16384, 6.07679338544009), ('twobitCModel16', 'twobitCModel', 65536, 6.07679338544009),
|
RefDataBP = [('twobitCModel6', 'twobitCModel', 64, 10.0060297551637), ('twobitCModel8', 'twobitCModel', 256, 8.4320392215602), ('twobitCModel10', 'twobitCModel', 1024, 7.29493318805151),
|
||||||
('gshareCModel6', 'gshareCModel', 64, 10.6602835418646), ('gshareCModel8', 'gshareCModel', 256, 8.38384710559667), ('gshareCModel10', 'gshareCModel', 1024, 6.36847432155534),
|
('twobitCModel12', 'twobitCModel', 4096, 6.84739616147794), ('twobitCModel14', 'twobitCModel', 16384, 5.68432926870082), ('twobitCModel16', 'twobitCModel', 65536, 5.68432926870082),
|
||||||
('gshareCModel12', 'gshareCModel', 4096, 3.91108491151983), ('gshareCModel14', 'gshareCModel', 16384, 2.83926519215395), ('gshareCModel16', 'gshareCModel', 65536, .60213659066941)]
|
('gshareCModel6', 'gshareCModel', 64, 11.4737703417701), ('gshareCModel8', 'gshareCModel', 256, 8.52341470761974), ('gshareCModel10', 'gshareCModel', 1024, 6.32975690693015),
|
||||||
RefDataBTB = [('BTBCModel6', 'BTBCModel', 64, 1.11806778745097), ('BTBCModel8', 'BTBCModel', 256, 0.183833943219956), ('BTBCModel10', 'BTBCModel', 1024, 0.0109271020749376),
|
('gshareCModel12', 'gshareCModel', 4096, 4.55424632377659), ('gshareCModel14', 'gshareCModel', 16384, 3.54251547725509), ('gshareCModel16', 'gshareCModel', 65536, 1.90424999467293)]
|
||||||
('BTBCModel12', 'BTBCModel', 4096, 0.00437600802791213), ('BTBCModel14', 'BTBCModel', 16384, 0.00188756234204305), ('BTBCModel16', 'BTBCModel', 65536, 0.00188756234204305)]
|
RefDataBTB = [('BTBCModel6', 'BTBCModel', 64, 1.51480272475844), ('BTBCModel8', 'BTBCModel', 256, 0.209057900418965), ('BTBCModel10', 'BTBCModel', 1024, 0.0117345454469572),
|
||||||
|
('BTBCModel12', 'BTBCModel', 4096, 0.00125540990359826), ('BTBCModel14', 'BTBCModel', 16384, 0.000732471628510962), ('BTBCModel16', 'BTBCModel', 65536, 0.000732471628510962)]
|
||||||
|
|
||||||
def ParseBranchListFile(path):
|
def ParseBranchListFile(path):
|
||||||
'''Take the path to the list of Questa Sim log files containing the performance counters outputs. File
|
'''Take the path to the list of Questa Sim log files containing the performance counters outputs. File
|
||||||
|
Loading…
Reference in New Issue
Block a user