csv_column

View page source

The cmpad Csv File Columns

  1. The comma character is used to terminate each column.

  2. The newline character is used to terminate each row.

  3. The first line (the header) contains the column names in the following order:: rate,min_time,package,algorithm,n_arg,date,compiler,debug,language

rate

This floating point value is the number of times per second that the algorithm, or a derivative of the algorithm, was calculated.

min_time

This floating point value is the minimum time in seconds to average the computation rate over. The computation is repeated enough times so that this minimum time is reached.

package

This string is the name of the AD package that rate corresponds to. It can be any of the following values:

   adept|adolc|autodiff|codi|cppad_jit|cppad|cppadcg|sacado)
   autograd|cppad_py|jax|torch)

none

If package is none , this is not a derivative calculation but rather an evaluations of the function using the algorithm with type double .

algorithm

The algorithm used by this test. The possible values (so far) are det_by_minor , an_ode , and llsq_obj .

n_arg

This is the value of then n_arg integer and is always the dimension of the argument space for the function and algorithm; see the heading n_arg in det_by_minor , an_ode , llsq_obj .

n_other

the meaning of this integer is algorithm specific:

algorithm

n_other

det_by_minor

must be zero and is not used

an_ode

number of Runge-Kutta steps used to approximate ODE

llsq_obj

is the number of data points in the least squares fit.

For more information see the heading n_other in det_by_minor , an_ode , llsq_obj .

time_setup

If time_setup is true ( false ) , the setup time was included (was not included) during the speed testing for this algorithm. Some AD packages may spend more setup time to use less evaluation time for each new argument value.

date

This is the date when the timing test was run in yyyy-mm-dd format.

compiler

This is a string identifying the version of the C++ or python used to compile or interpret the algorithm. 2DO: We should ensure that same compiler is used to compile libraries used by the AD package.

debug

If this is ture ( false ), the algorithm, and AD package libraries, where compiled for debugging (for release). If it is the empty string, there is no choice for compiling the algorithm or AD package; e.g., if package is none and language is python , then debug is empty.

language

This is the language used to compile or interpret the algorithm and its derivatives. The possible values so far are python and c++ .

special

If this is true , a special version of the algorithm for this particular package was used. Otherwise it is false and the algorithm can be used by any of the packages for this language .