Prev Next

Speed Testing Main Program

Syntax
speed/package/package option seed retape

Purpose
A version of this program runs the correctness tests or the speed tests for one AD package identified by package .

package

AD Package
The command line argument package specifies one of the following AD packages: adolc , cppad , fadbad , sacado .

double
The value package can be double 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 double 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 double.)

profile
In the special case where package is profile, the CppAD package is compiled and run with profiling to aid in determining where it is spending most of its time.

option
It the argument option specifies which test to run and has the following possible values: correct , speed , det_minor , det_lu , ode , poly , sparse_hessian .

correct
If option is equal to correct, all of the correctness tests are run.

speed
If option is equal to speed, all of the speed tests are run.

seed
The command line argument seed is a positive integer. The random number simulator uniform_01 is initialized with the call
     uniform_01(
seed)
before any of the testing routines (listed above) are called.

retape
The command line argument retape is either true or false. If it is true, the AD operation sequence is retaped for every test repetition of each speed test. 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.

Correctness Results
An output line is generated for each correctness test stating of the test passed or failed.

Speed Results
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.

Contents
link_det_luSpeed Testing Gradient of Determinant Using Lu Factorization
link_det_minorSpeed Testing Gradient of Determinant by Minor Expansion
link_polySpeed Testing Second Derivative of a Polynomial
link_sparse_hessianSpeed Testing Sparse Hessian
link_odeSpeed Testing Gradient of Ode Solution

Input File: speed/main.cpp