Prev Next

@(@\newcommand{\W}[1]{ \; #1 \; } \newcommand{\R}[1]{ {\rm #1} } \newcommand{\B}[1]{ {\bf #1} } \newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} } \newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} } \newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} } \newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }@)@This is cppad-20221105 documentation. Here is a link to its current documentation .
Package Specific Speed Test Linking Routines

Syntax
available = link_name(jobsizerepeatother_arguments )

Purpose
Each package defines a version of each link_name listed below. This is used by the speed_main program to run the corresponding speed and correctness tests.

Thread Save
The link_name routines may use static memory for setup and teardown and hence may not be thread safe.

link_name
The routine link_name in the syntax is one of the following:

Contents
link_det_luSpeed Testing Gradient of Determinant Using Lu Factorization
link_det_minorSpeed Testing Gradient of Determinant by Minor Expansion
link_mat_mulSpeed Testing Derivative of Matrix Multiply
link_odeSpeed Testing the Jacobian of Ode Solution
link_polySpeed Testing Second Derivative of a Polynomial
link_sparse_hessianLink to Speed Test Sparse Hessian
link_sparse_jacobianSpeed Testing Sparse Jacobians

Namespace
These routines are in the global namespace, not the CppAD namespace.

available
The bool return value available is true (false) if the speed test name is (is not) available for this package.

job
This argument can be used to cache information that does not depend on the function argument value without having the corresponding time included in the test results. This is expected to be important when the global option onetape is true. The const std::string& argument job has one of the following values:

setup
This is the first call with a new value for size and will not be used for timing. It can be used to setup information that should not be included in timing how long this routine takes.

run
This call will be used for timing how long this routine takes. The previous call job was either setup or run and had the same value of size .

teardown
This is the last call with this value of size and will not be used for timing. It should be used to take down the setup; e.g., fee any memory that was allocated.

size
The size_t argument size this is the size parameter for this test. Larger sizes correspond to more computation per call.

repeat
If job is run, the size_t argument repeat is the number of randomly chosen argument values that the test derivatives should be evaluated for. The value of repeat is always greater than or equal one and all the link_name output values are always calculated.

other_arguments
Each link function routine has specific specifications for size and their other arguments.
Input File: speed/src/link.omh