cppad
  • Table of Contents
  • user_guide
    • Install
    • Theory
    • AD
    • ADFun
    • preprocessor
    • multi_thread
    • utility
    • ipopt_solve
    • Example
    • speed
      • speed_main
        • link_routines
          • link_det_lu
          • link_det_minor
          • link_mat_mul
          • link_ode
          • link_poly
          • link_sparse_hessian
          • link_sparse_jacobian
      • speed_utility
      • speed_double
      • speed_adolc
      • speed_cppad
      • speed_fadbad
      • speed_cppad_jit
      • speed_cppadcg
      • speed_sacado
      • speed_xpackage
  • appendix
  • Index
  • Search
cppad
  • user_guide
  • speed
  • speed_main
  • link_routines
  • View page source

\(\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}} }\)

link_routines

Package Specific Speed Test Linking Routines

  • Syntax

  • Purpose

  • Thread Save

  • link_name

  • Contents

  • Namespace

  • available

  • job

    • setup

    • run

    • teardown

  • size

  • repeat

  • other_arguments

Syntax

available = link_name ( job , size , repeat , other_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

Name

Title

link_det_lu

Speed Testing Gradient of Determinant Using Lu Factorization

link_det_minor

Speed Testing Gradient of Determinant by Minor Expansion

link_mat_mul

Speed Testing Derivative of Matrix Multiply

link_ode

Speed Testing the Jacobian of Ode Solution

link_poly

Speed Testing Second Derivative of a Polynomial

link_sparse_hessian

Link to Speed Test Sparse Hessian

link_sparse_jacobian

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

Previous Next

© Copyright .

Built with Sphinx using a theme provided by Read the Docs.