2
edits
Changes
no edit summary
<font style="font-size:90%">This Page serves as a guide for running Dhrystone benchmark on arm machines: : Please visit the [http://zenit.senecac.on.ca/wiki/index.php/Supporting_Architectures_above_armv5tel Go back to Main Project Page]</font>
=About Dhrystone=
<font style="font-size:90%">From Wikipedia, the free encyclopedia</font>
independent certification means that customers are dependent on processor vendors to
quote accurate and meaningful Dhrystone data.
== What Dhrystone really does ==
<font style="font-size:90%">From Clarify.doc (Included in Dhrystone 2.1), Rick Richardson</font><br />
<ul>
<li> DHRYSTONE is a measure of processor+compiler efficiency in
executing a 'typical' program. The 'typical' program was
designed by measuring statistics on a great number of
'real' programs. The 'typical' program was then written
by Reinhold P. Weicker using these statistics. The
program is balanced according to statement type, as well
as data type.</li>
<li>DHRYSTONE does not use floating point. Typical programs don't.</li>
<li>DHRYSTONE does not do I/O. Typical programs do, but then
we'd have a whole can of worms opened up.</li>
<li>DHRYSTONE does not contain much code that can be optimized
by vector processors. That is why a CRAY doesn't look real
fast, they weren't built to do this sort of computing.</li>
<li>DHRYSTONE does not measure OS performance, as it avoids
calling the O.S. The O.S. is indicated in the results only
to help in identifying the compiler technology.</li>
<li>DHRYSTONE is not perfect, but is a hell of a lot better than
the "sieve", or "SI".</li>
<li>DHRYSTONE gives results in dhrystones/second. Bigger
numbers are better. As a baseline, the original IBM PC
gives around 300-400 dhrystones/second with a good compiler.
The fastest machines today are approaching 100,000.</li>
</ul>
<font style="font-size:110%"><b>Dhrystone Characteristics</b></font>
One of the most important defects in Dhrystone is that it is often unclear what version
is being quoted. Furthermore, since there are no "disclosure rules" or independent
certification of scores, companies and individuals are free to state, or not state, anything. Due to its non proprietary nature, individuals and companies modified their own versions of Dhrystone resulting in various alterations of the original source code.
The following package is "one of the reliable most quoted, well used Dhrystone 2release.1" package online. Due to its non proprietary nature, individuals and companies modified their own versions of It is the cleanest/customisable Dhrystone resulting out in various alterations of the source codeinternet.
[http://www.sfr-fresh.com/unix/privat/old/dhrystone-2.1.tar.gz/ Dhrystone-2.1.tar.gz]
<font style="font-size:110%"><b>3. Edit the Makefile</b></font>
Open Makefile with any text editor; '''UNCOMMENT''' (if commented) then '''EDIT''' the following fieldsusing the '''GIVEN''' values:
<blockquote>
Line #25
</blockquote>
Comment out /disable the following lines:
<blockquote>
Line #26
<pre>TIME_FUNC= -DTIMES # Use times(2) for measurement</pre>
Line #38
<pre>OPTIMIZE= -Ox -G2 # Optimization Level (MSC, 80286)</pre></blockquote> <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:90%">Please see more about [http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html GCC ARM-Options]</font> The options used for lines #39~40 are for optimizing the dhrystone install to run specifically with '''armv7''' architecture. Optimizations provide a performance boost for the program. Removing the optimizations would result in a ''nominal'' program performance. <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>
</blockquote>
== Project News =And... =