Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 39da2e642be5eb48375f19991c31eb2c > files > 734

cppad-doc-20100101.4-1.fc14.noarch.rpm

<?xml version='1.0'?>
<?xml-stylesheet type='text/xsl' href='pmathml.xsl'?>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>Speed Testing Main Program</title>
<meta name="description" id="description" content="Speed Testing Main Program"/>
<meta name="keywords" id="keywords" content=" cppad speed test uniform_01 "/>
<style type='text/css'>
body { color : black }
body { background-color : white }
A:link { color : blue }
A:visited { color : purple }
A:active { color : purple }
</style>
<script type='text/javascript' language='JavaScript' src='_speed_main_xml.js'>
</script>
</head>
<body>
<table><tr>
<td>
<a href="http://www.coin-or.org/CppAD/" target="_top"><img border="0" src="_image.gif"/></a>
</td>
<td><a href="speed.xml" target="_top">Prev</a>
</td><td><a href="link_det_lu.xml" target="_top">Next</a>
</td><td>
<select onchange='choose_across0(this)'>
<option>Index-&gt;</option>
<option>contents</option>
<option>reference</option>
<option>index</option>
<option>search</option>
<option>external</option>
</select>
</td>
<td>
<select onchange='choose_up0(this)'>
<option>Up-&gt;</option>
<option>CppAD</option>
<option>Appendix</option>
<option>speed</option>
<option>speed_main</option>
</select>
</td>
<td>
<select onchange='choose_down3(this)'>
<option>CppAD-&gt;</option>
<option>Install</option>
<option>Introduction</option>
<option>AD</option>
<option>ADFun</option>
<option>library</option>
<option>Example</option>
<option>configure</option>
<option>Appendix</option>
</select>
</td>
<td>
<select onchange='choose_down2(this)'>
<option>Appendix-&gt;</option>
<option>Faq</option>
<option>speed</option>
<option>Theory</option>
<option>glossary</option>
<option>Bib</option>
<option>Bugs</option>
<option>WishList</option>
<option>whats_new</option>
<option>include_deprecated</option>
<option>License</option>
</select>
</td>
<td>
<select onchange='choose_down1(this)'>
<option>speed-&gt;</option>
<option>speed_main</option>
<option>speed_utility</option>
<option>speed_double</option>
<option>speed_adolc</option>
<option>speed_cppad</option>
<option>speed_fadbad</option>
<option>speed_sacado</option>
</select>
</td>
<td>
<select onchange='choose_down0(this)'>
<option>speed_main-&gt;</option>
<option>link_det_lu</option>
<option>link_det_minor</option>
<option>link_poly</option>
<option>link_sparse_hessian</option>
<option>link_sparse_jacobian</option>
<option>link_ode</option>
</select>
</td>
<td>
<select onchange='choose_current0(this)'>
<option>Headings-&gt;</option>
<option>Syntax</option>
<option>Purpose</option>
<option>package</option>
<option>---..AD Package</option>
<option>---..double</option>
<option>---..profile</option>
<option>test</option>
<option>---..correct</option>
<option>---..speed</option>
<option>seed</option>
<option>option_list</option>
<option>---..retape</option>
<option>---..optimize</option>
<option>Correctness Results</option>
<option>Speed Results</option>
<option>Contents</option>
</select>
</td>
</tr></table><br/>
<center><b><big><big>Speed Testing Main Program</big></big></b></center>
<br/>
<b><big><a name="Syntax" id="Syntax">Syntax</a></big></b>

<br/>

<code><font color="blue"><span style='white-space: nowrap'>speed/</span></font><i><font color="black"><span style='white-space: nowrap'>package</span></font></i><font color="blue"><span style='white-space: nowrap'>/</span></font><i><font color="black"><span style='white-space: nowrap'>package</span></font></i><font color="blue"><span style='white-space: nowrap'>&#xA0;</span></font><i><font color="black"><span style='white-space: nowrap'>test</span></font></i><font color="blue"><span style='white-space: nowrap'>&#xA0;</span></font><i><font color="black"><span style='white-space: nowrap'>seed</span></font></i><font color="blue"><span style='white-space: nowrap'>&#xA0;</span></font><i><font color="black"><span style='white-space: nowrap'>option_list</span></font></i><font color="blue"><span style='white-space: nowrap'>&#xA0;<br/>
</span></font></code>
<br/>
<b><big><a name="Purpose" id="Purpose">Purpose</a></big></b>
<br/>
A version of this program runs the correctness tests
or the speed tests for one AD package identified by 
<code><i><font color="black"><span style='white-space: nowrap'>package</span></font></i></code>
.

<br/>
<br/>
<b><big><a name="package" id="package">package</a></big></b>


<br/>
<br/>
<b><a name="package.AD Package" id="package.AD Package">AD Package</a></b>
<br/>
The command line argument

<code><i><font color="black"><span style='white-space: nowrap'>package</span></font></i></code>
 specifies one of the following AD packages:
<a href="speed_adolc.xml" target="_top"><span style='white-space: nowrap'>adolc</span></a>
,
<a href="speed_cppad.xml" target="_top"><span style='white-space: nowrap'>cppad</span></a>
, 
<a href="speed_fadbad.xml" target="_top"><span style='white-space: nowrap'>fadbad</span></a>
, 
<a href="speed_sacado.xml" target="_top"><span style='white-space: nowrap'>sacado</span></a>
.

<br/>
<br/>
<b><a name="package.double" id="package.double">double</a></b>
<br/>
The value

<code><i><font color="black"><span style='white-space: nowrap'>package</span></font></i></code>
 can be <code><font color="blue">double</font></code> in which case
the function values (instead of derivatives) are computed
using double precision operations.
This enables one to compare the speed of computing function
values in <code><font color="blue">double</font></code> to the speed of the derivative computations.
(It is often useful to divide the speed of the derivative computation by
the speed of the function evaluation in <code><font color="blue">double</font></code>.) 

<br/>
<br/>
<b><a name="package.profile" id="package.profile">profile</a></b>
<br/>
In the special case where 
<code><i><font color="black"><span style='white-space: nowrap'>package</span></font></i></code>
 is <code><font color="blue">profile</font></code>,
the CppAD package is compiled and run with profiling to aid in determining
where it is spending most of its time.

<br/>
<br/>
<b><big><a name="test" id="test">test</a></big></b>
<br/>
It the argument 
<code><i><font color="black"><span style='white-space: nowrap'>test</span></font></i></code>
 specifies which test to run
and has the following possible values:
<a href="speed_main.xml#test.correct" target="_top"><span style='white-space: nowrap'>correct</span></a>
,
<a href="speed_main.xml#test.speed" target="_top"><span style='white-space: nowrap'>speed</span></a>
,
<a href="link_det_minor.xml" target="_top"><span style='white-space: nowrap'>det_minor</span></a>
,
<a href="link_det_lu.xml" target="_top"><span style='white-space: nowrap'>det_lu</span></a>
,
<a href="link_ode.xml" target="_top"><span style='white-space: nowrap'>ode</span></a>
,
<a href="link_poly.xml" target="_top"><span style='white-space: nowrap'>poly</span></a>
,
<a href="link_sparse_hessian.xml" target="_top"><span style='white-space: nowrap'>sparse_hessian</span></a>
,
<a href="link_sparse_jacobian.xml" target="_top"><span style='white-space: nowrap'>sparse_jacobian</span></a>
.

<br/>
<br/>
<b><a name="test.correct" id="test.correct">correct</a></b>
<br/>
If 
<code><i><font color="black"><span style='white-space: nowrap'>test</span></font></i></code>
 is equal to <code><font color="blue">correct</font></code>,
all of the correctness tests are run.

<br/>
<br/>
<b><a name="test.speed" id="test.speed">speed</a></b>
<br/>
If 
<code><i><font color="black"><span style='white-space: nowrap'>test</span></font></i></code>
 is equal to <code><font color="blue">speed</font></code>,
all of the speed tests are run.

<br/>
<br/>
<b><big><a name="seed" id="seed">seed</a></big></b>

<br/>
The command line argument 
<code><i><font color="black"><span style='white-space: nowrap'>seed</span></font></i></code>
 is a positive integer.
The random number simulator <a href="uniform_01.xml" target="_top"><span style='white-space: nowrap'>uniform_01</span></a>
 is initialized with
the call

<code><font color="blue"><span style='white-space: nowrap'><br/>
&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;uniform_01(</span></font><i><font color="black"><span style='white-space: nowrap'>seed</span></font></i><font color="blue"><span style='white-space: nowrap'>)<br/>
</span></font></code>
before any of the testing routines (listed above) are called.

<br/>
<br/>
<b><big><a name="option_list" id="option_list">option_list</a></big></b>
<br/>
This is a list of options that follow 
<code><i><font color="black"><span style='white-space: nowrap'>seed</span></font></i></code>
 value.
The order of the options does not matter and the list can be empty.
Each option in the list, must be separate 
command line argument to the main program. 

<br/>
<br/>
<b><a name="option_list.retape" id="option_list.retape">retape</a></b>
<br/>
If the option <code><font color="blue">retape</font></code> is present, the symbol
<code><font color='blue'><pre style='display:inline'> 
	extern bool global_retape
</pre></font></code>

is true and otherwise it is false.
If this external symbol is true,
every test must retape the AD operation sequence for each test repetition.
If it is false,
and the particular test has a fixed operation sequence,
the AD package is allowed to use one taping of the operation
sequence for all the repetitions of that speed test.
The following tests have a fixed operation sequence:
<code><font color="blue">det_minor</font></code>, <code><font color="blue">ode</font></code>, <code><font color="blue">poly</font></code>.

<br/>
<br/>
<b><a name="option_list.optimize" id="option_list.optimize">optimize</a></b>
<br/>
If the option code optimize is present, the symbol
<code><font color='blue'><pre style='display:inline'> 
	extern bool global_optimize
</pre></font></code>

is true and otherwise it is false.
If this external symbol is true,
and the AD package has an optional way to spend time optimizing
the operation sequence,
this optimization should be done before doing computations.
If it is false,
this optimization should not be done.

<br/>
<br/>
<b><big><a name="Correctness Results" id="Correctness Results">Correctness Results</a></big></b>
<br/>
An output line is generated for each correctness test
stating of the test passed or failed.

<br/>
<br/>
<b><big><a name="Speed Results" id="Speed Results">Speed Results</a></big></b>
<br/>
For each speed test, corresponds to three lines of output.
The name of the package and test are printed on the first line,
the vector of problem sizes are printed on the next line,
and the rates corresponding to the different problem sizes are
printed on the third line.
The rate is the number of times per second that the calculation was repeated.


<br/>
<br/>
<b><big><a name="Contents" id="Contents">Contents</a></big></b>
<br/>
<table>
<tr><td><a href="link_det_lu.xml" target="_top">link_det_lu</a></td><td>Speed&#xA0;Testing&#xA0;Gradient&#xA0;of&#xA0;Determinant&#xA0;Using&#xA0;Lu&#xA0;Factorization</td></tr><tr><td><a href="link_det_minor.xml" target="_top">link_det_minor</a></td><td>Speed&#xA0;Testing&#xA0;Gradient&#xA0;of&#xA0;Determinant&#xA0;by&#xA0;Minor&#xA0;Expansion</td></tr><tr><td><a href="link_poly.xml" target="_top">link_poly</a></td><td>Speed&#xA0;Testing&#xA0;Second&#xA0;Derivative&#xA0;of&#xA0;a&#xA0;Polynomial</td></tr><tr><td><a href="link_sparse_hessian.xml" target="_top">link_sparse_hessian</a></td><td>Speed&#xA0;Testing&#xA0;Sparse&#xA0;Hessian</td></tr><tr><td><a href="link_sparse_jacobian.xml" target="_top">link_sparse_jacobian</a></td><td>Speed&#xA0;Testing&#xA0;Sparse&#xA0;Jacobian</td></tr><tr><td><a href="link_ode.xml" target="_top">link_ode</a></td><td>Speed&#xA0;Testing&#xA0;the&#xA0;Jacobian&#xA0;of&#xA0;Ode&#xA0;Solution</td></tr></table>
<hr/>Input File: speed/main.cpp

</body>
</html>