Open main menu

CDOT Wiki β

Changes

Dhrystone howto

2,503 bytes added, 16:25, 30 December 2010
no edit summary
<font style="font-size:110%"><b>Makefile snapshot</b></font>
[[Image:Dhry21.png|center]]
 
<font style="font-size:110%"><b>Compiler Optimization Options</b></font>
<font style="font-size:110%"><b>4. Run "make"</b></font>
Running make in the current directory should only produce warnings!!Here is an output of the make command with warnings relating to c library functions that can be ignored. <blockquote><pre>[mjeamiguel@cdot-beagleXM-0-3 dhrystone]$ makegcc -O2 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fomit-frame-pointer -DTIME -DHZ=166 dhry_1.c dhry_2.c -o gcc_dry2dhry_1.c:31: warning: conflicting types for built-in function ‘malloc’dhry_1.c: In function ‘main’:dhry_1.c:98: warning: incompatible implicit declaration of built-in function ‘strcpy’gcc -O2 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fomit-frame-pointer -DTIME -DHZ=166 -DREG=register dhry_1.c dhry_2.c -o gcc_dry2regdhry_1.c:31: warning: conflicting types for built-in function ‘malloc’dhry_1.c: In function ‘main’:dhry_1.c:98: warning: incompatible implicit declaration of built-in function ‘strcpy’</pre>(will add more details about the error)</blockquote>
= Running the benchmark and gathering results =
The make command outputs 2 files named '''gcc_dry2''' and '''gcc_dry2reg'''. The author of this version decided to create 2 dhrystone executables . One with register variables, and one without. Either one will work for the benchmark so, feel free to test it out.  <font style="font-size:110%><b>1. Run the executable by typing ''./gcc_dry2''</b></font> The program will start to ask you for a ''number of runs''. By convention on newer machines (>= Project Leader1GHz), the number of runs used is about '''~100000000''' (100 million). There are no rules or standards about how many runs it should be. Some people calculate the number of runs through "Dhrystone run time erros" (sway too advanced) ; what matters is the consistency of the result. For consistent results, dhrystone is executed more than 5 times with same values for number of runs.  <font style="font-size:110%><b>2. Calculate for DMIPS</b></font> One common representation of the Dhrystone benchmark is DMIPS. DMIPS (Dhrystone MIPS ). It is obtained when the Dhrystone score is divided by '''1757''' (the number of Dhrystones per second obtained on the VAX 11/780, nominally a 1 MIPS machine). Given the result: <blockquote><code>Microseconds for one run through Dhrystone: 0.8<br />Dhrystones per Second: 1333333.4</code></blockquote>  Using the formula: '''1333333.4 / 1757 = 758.87''' ''DMIPS''  The result shown was an actual test for a beagleboardXM machine with 1GHz of processor speed. = And... <font style="font-size:90%">From ARM White paper</font><br />
Name(s) of primary people working on "When first released, the projectDhrystone benchmark fulfilled a useful function – at least it gave an alternative indicator to vendors’ literal MIPS ratings. If you want to join a project as leaderHowever, more than twenty years later, discuss with other leaders firstthere are undoubtedly better benchmarks available for measuring processor performance. Include links to personal pages within wiki"
2
edits