mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +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` | ||||
|         Total=`echo "$lines" | head -1 | awk '{print $5}'` | ||||
|         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") | ||||
|         if [ $Miss -eq 0 ]; then | ||||
| 	    Product=`echo "scale=200; $Product / $Total" | bc -l` | ||||
| 	    Product=`echo "scale=200; $Product * 100 / $Total" | bc -l` | ||||
|         else | ||||
|             Product=`echo "scale=200; $Product * $Miss / $Total" | bc -l` | ||||
|             Product=`echo "scale=200; $Product * $BMDR" | bc -l` | ||||
|         fi | ||||
| 	Count=$((Count+1)) | ||||
|     done | ||||
|     # with such long precision bc outputs onto multiple lines | ||||
|     # must remove \n and \ from string | ||||
|     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" | ||||
| done | ||||
|  | ||||
| @ -46,7 +46,7 @@ do | ||||
| 	do | ||||
| 	    #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}'" | ||||
| 	    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` | ||||
| 	    Count=$((Count+1)) | ||||
| 	done | ||||
|  | ||||
| @ -32,12 +32,13 @@ import math | ||||
| import numpy as np | ||||
| 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), | ||||
|            ('gshareCModel6', 'gshareCModel', 64, 10.6602835418646), ('gshareCModel8', 'gshareCModel', 256, 8.38384710559667), ('gshareCModel10', 'gshareCModel', 1024, 6.36847432155534), | ||||
|            ('gshareCModel12', 'gshareCModel', 4096, 3.91108491151983), ('gshareCModel14', 'gshareCModel', 16384, 2.83926519215395), ('gshareCModel16', 'gshareCModel', 65536, .60213659066941)] | ||||
| RefDataBTB = [('BTBCModel6', 'BTBCModel', 64, 1.11806778745097), ('BTBCModel8', 'BTBCModel', 256, 0.183833943219956), ('BTBCModel10', 'BTBCModel', 1024, 0.0109271020749376), | ||||
|               ('BTBCModel12', 'BTBCModel', 4096, 0.00437600802791213), ('BTBCModel14', 'BTBCModel', 16384, 0.00188756234204305), ('BTBCModel16', 'BTBCModel', 65536, 0.00188756234204305)] | ||||
| 
 | ||||
| RefDataBP = [('twobitCModel6', 'twobitCModel', 64, 10.0060297551637), ('twobitCModel8', 'twobitCModel', 256, 8.4320392215602), ('twobitCModel10', 'twobitCModel', 1024, 7.29493318805151), | ||||
|            ('twobitCModel12', 'twobitCModel', 4096, 6.84739616147794), ('twobitCModel14', 'twobitCModel', 16384, 5.68432926870082), ('twobitCModel16', 'twobitCModel', 65536, 5.68432926870082), | ||||
|            ('gshareCModel6', 'gshareCModel', 64, 11.4737703417701), ('gshareCModel8', 'gshareCModel', 256, 8.52341470761974), ('gshareCModel10', 'gshareCModel', 1024, 6.32975690693015), | ||||
|            ('gshareCModel12', 'gshareCModel', 4096, 4.55424632377659), ('gshareCModel14', 'gshareCModel', 16384, 3.54251547725509), ('gshareCModel16', 'gshareCModel', 65536, 1.90424999467293)] | ||||
| 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): | ||||
|     '''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