ADiMat Server | Interactive | Documentation | Downloads | Login

ADiMat Interactive

Toolchains - Parameters - Filters

Toolchain forward-ad: New forward mode differentiation (experimental)

Transforms the code in forward mode AD.

Parameters

NameDefault valueFiltersDescriptionToolchains
a-zeros-function'a_zeros'xsl/renice.xsl Name of the zero adjoint function. forward-ad, prepare-fm, prepare-rm, rename, reverse-ad, taylor-ad
activityAnalysisControls if-then-else.forward-ad, prepare-fm, prepare-rm, reverse-ad, taylor-ad, xaif
adimat-function-prefix'adimat_'xsl/vector-forward-ad-new.xsl, xsl/vector-forward-ad.xsl, xsl/renice.xsl Prefix for derivative functions. forward-ad, prepare-fm, prepare-rm, rename, reverse-ad, taylor-ad
adjoint-reductionsnot($well-behaved)xsl/renice.xsl Whether to use adjred wrapper functions in adjoint code. forward-ad, prepare-fm, prepare-rm, rename, reverse-ad, taylor-ad
adjoint-subsasgnnot($well-behaved)xsl/renice.xsl Whether to use adjreshape wrapper functions in adjoint code. forward-ad, prepare-fm, prepare-rm, rename, reverse-ad, taylor-ad
avoid-vararg-functionstrue()xsl/renice.xsl Whether to use push/pop/a_zeros functions without varargin. forward-ad, prepare-fm, prepare-rm, rename, reverse-ad, taylor-ad
comment-char'%'xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Comment start character basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
comment-spacer' 'xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Space to insert after comment start character basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
comment-start$comment-charxsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Comment start text basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
fmControls if-then-else.forward-ad
fmmodeControls if-then-else.forward-ad
forward-deriv-function-prefix$forward-deriv-prefixxsl/has-end.xsl, xsl/replicate-funref-assignments.xsl, xsl/renice.xsl, xsl/tmp-resolve2.xsl, xsl/to-source.xsl the prefix for forward-ad derivative variables basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
forward-deriv-variable-prefix$forward-deriv-prefixxsl/has-end.xsl, xsl/replicate-funref-assignments.xsl, xsl/renice.xsl, xsl/tmp-resolve2.xsl, xsl/to-source.xsl the prefix for forward-ad derivative variables basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
indent-unit' 'xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Indentation unit basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
input-file-name$tl-input-file-namexsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl For informational purposes only. basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
nocanonicalizeControls if-then-else.forward-ad, prepare-fm, prepare-rm, reverse-ad, taylor-ad, xaif
output-directory$tl-output-directoryxsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Only used when output-mode=split-all. basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
output-file-path$tl-output-file-pathxsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl For informational purposes only. basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
output-file-prefix$tl-output-file-prefixxsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Only used when output-mode=split-all. basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
output-mode'plain'xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Set to split-all for one file per function. Otherwise all functions go to "stdout", or the file given with option -o. basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
parallel0xsl/vector-forward-ad.xsl Whether to use parfor loops over derivatives. forward-ad
parallel-function-prefix'p'xsl/vector-forward-ad.xsl Prefix for parallel derivative functions. forward-ad
prefixxsl/has-end.xsl, xsl/replicate-funref-assignments.xsl, xsl/renice.xsl, xsl/tmp-resolve2.xsl, xsl/to-source.xsl the prefix for both derivative variables and functions basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
rec-prefixxsl/has-end.xsl, xsl/replicate-funref-assignments.xsl, xsl/renice.xsl, xsl/tmp-resolve2.xsl, xsl/to-source.xsl the prefix for the recording (forward) sweep version of a differentiated function basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
ret-prefixxsl/has-end.xsl, xsl/replicate-funref-assignments.xsl, xsl/renice.xsl, xsl/tmp-resolve2.xsl, xsl/to-source.xsl the prefix for the return sweep version of a differentiated function basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
rev-prefixxsl/has-end.xsl, xsl/replicate-funref-assignments.xsl, xsl/renice.xsl, xsl/tmp-resolve2.xsl, xsl/to-source.xsl the prefix for the adjoint (recording + return) version of a differentiated function basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
show-banner1xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Insert transformation date into transformed file basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
show-disclaimer1xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Insert disclaimer into transformed file basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
show-step-ids0xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Show transformation step ids basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
show-step-params$show-stepsxsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Show transformation step parameters basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
show-steps0xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl Show transformation steps basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
source-line-numbers1xsl/has-end.xsl, xsl/lhs-lists.xsl, xsl/replicate-funref-assignments.xsl, xsl/match-signatures3.xsl, xsl/renice.xsl, xsl/tmp-resolve2.xsl, xsl/to-source.xsl Include source line numbers in stmt. labels if set to 1. basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
spookcontains($show-comments, 'spook') or $show-disclaimer = 0 or $show-authors = 0xsl/has-end.xsl, xsl/renice.xsl, xsl/to-source.xsl codes anarchy Whitehouse Majic defense information warfare Tamil Tigers afsatcom Jet Taiwan insurgency Secure Border Initiative Facility Rule Psix Help Federal Aviation Administration basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad
tmp-mode'short'xsl/has-end.xsl, xsl/which-to-canonicalize.xsl, xsl/canonicalize.xsl, xsl/nargin-wrapper.xsl, xsl/call-numout.xsl, xsl/match-signatures.xsl, xsl/match-signatures3.xsl, xsl/vector-forward-ad-new.xsl, xsl/vector-forward-ad.xsl, xsl/renice.xsl, xsl/tmp-resolve2.xsl, xsl/to-source.xsl How to name temporary variables. basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
tmp-prefix'tmp'xsl/has-end.xsl, xsl/which-to-canonicalize.xsl, xsl/canonicalize.xsl, xsl/nargin-wrapper.xsl, xsl/call-numout.xsl, xsl/match-signatures.xsl, xsl/match-signatures3.xsl, xsl/vector-forward-ad-new.xsl, xsl/vector-forward-ad.xsl, xsl/renice.xsl, xsl/to-source.xsl Prefix of temporary variables. basic-block-to-call, brackets-to-hvcat, for-insert-iteration-indexvar, forward-ad, hvcat-to-brackets, ind-to-subs, nested-to-sub-function, prepare-fm, prepare-rm, pretty-print, rename, reverse-ad, taylor-ad, xaif
tmpModeControls if-then-else.forward-ad, reverse-ad, taylor-ad
use-adjsumnot($well-behaved)xsl/renice.xsl Whether to use adjsum function for summing adjoints. forward-ad, prepare-fm, prepare-rm, rename, reverse-ad, taylor-ad
use-push-indexnot($well-behaved)xsl/renice.xsl Whether to allow dynamic resize in subsasgn. forward-ad, prepare-fm, prepare-rm, rename, reverse-ad, taylor-ad
use-subsasgn$tl-use-subsasgnxsl/initialize-variables-for.xsl, xsl/vector-forward-ad-new.xsl Whether to use calls to subsasgn (needed with structures and in this case (FIXME: link)). Turned on if there is an active struct-ref in the code. forward-ad, prepare-fm, taylor-ad
use-subsref$tl-use-subsrefxsl/vector-forward-ad-new.xsl Whether to use calls to subsref (needed with structures and in this case (FIXME: link)). Turned on if parameter use-subsasgn is on. forward-ad, taylor-ad
well-behavedfalse()xsl/renice.xsl Whether the code is well-behaved: Trigger some optimisations. forward-ad, prepare-fm, prepare-rm, rename, reverse-ad, taylor-ad

Filter list

  1. XSLT filter: xsl/directives.xsl

  2. XSLT filter: xsl/preprocess.xsl

  3. XSLT filter: xsl/rebin.xsl

  4. XSLT filter: xsl/add-derivatives-to-bmfunc-cgnodes.xsl

  5. XSLT filter: xsl/classify-parameters.xsl

  6. XSLT filter: xsl/function-index.xsl

  7. XSLT filter: xsl/funrefs.xsl

  8. XSLT filter: xsl/lhs-var-lists.xsl

  9. XSLT filter: xsl/lhs-var-lists2.xsl

  10. XSLT filter: xsl/calls-and-arrays.xsl

  11. XSLT filter: xsl/principal-values.xsl

  12. XSLT filter: xsl/principal-vars.xsl

  13. XSLT filter: xsl/reflexive-indices.xsl

  14. XSLT filter: xsl/has-end.xsl


    Parameters:
    comment-char, comment-spacer, comment-start, forward-deriv-function-prefix, forward-deriv-variable-prefix, indent-unit, input-file-name, output-directory, output-file-path, output-file-prefix, output-mode, prefix, rec-prefix, ret-prefix, rev-prefix, show-banner, show-disclaimer, show-step-ids, show-step-params, show-steps, source-line-numbers, spook, tmp-mode, tmp-prefix
  15. XSLT filter: xsl/call-index.xsl

  16. XSLT filter: xsl/ident-info.xsl

  17. XSLT filter: xsl/side-effects.xsl

  18. XSLT filter: xsl/side-effects2.xsl

  19. XSLT filter: xsl/directive-differentiate-condition.xsl

  20. XSLT filter: xsl/directive-differentiate-expression.xsl

  21. XSLT filter: xsl/lhs-lists.xsl


    Parameters:
    source-line-numbers
  22. XSLT filter: xsl/lhs-var-lists2.xsl

  23. XSLT filter: xsl/kill-parentheses.xsl

  24. XSLT filter: xsl/analyse-new.xsl

  25. XSLT filter: xsl/first-assignment-to-var.xsl

  26. XSLT filter: xsl/pull-first-assignment-info.xsl

  27. if activityAnalysis == "0"

  28. XSLT filter: xsl/signatures.xsl

  29. if nocanonicalize == "1"

  30. XSLT filter: xsl/lhs-lists.xsl


    Parameters:
    source-line-numbers
  31. XSLT filter: xsl/lhs-var-lists2.xsl

  32. XSLT filter: xsl/replicate-funref-assignments.xsl


    Parameters:
    forward-deriv-function-prefix, forward-deriv-variable-prefix, prefix, rec-prefix, ret-prefix, rev-prefix, source-line-numbers
  33. XSLT filter: xsl/analyse-new.xsl

  34. XSLT filter: xsl/first-assignment-to-var.xsl

  35. XSLT filter: xsl/pull-first-assignment-info.xsl

  36. XSLT filter: xsl/local-variables.xsl

  37. XSLT filter: xsl/local-variables2.xsl

  38. XSLT filter: xsl/indeps.xsl

  39. XSLT filter: xsl/initialize-variables-for.xsl


    Parameters:
    use-subsasgn
  40. XSLT filter: xsl/principal-values.xsl

  41. XSLT filter: xsl/principal-vars.xsl

  42. XSLT filter: xsl/reflexive-indices.xsl

  43. XSLT filter: xsl/nargin-wrapper.xsl


    Parameters:
    tmp-mode, tmp-prefix
  44. XSLT filter: xsl/call-numout.xsl


    Parameters:
    tmp-mode, tmp-prefix
  45. XSLT filter: xsl/match-signatures.xsl


    Parameters:
    tmp-mode, tmp-prefix
  46. XSLT filter: xsl/match-signatures2.xsl

  47. XSLT filter: xsl/match-signatures3.xsl


    Parameters:
    source-line-numbers, tmp-mode, tmp-prefix
  48. if ( ( fm != "old" ) && ( fmmode != "old" ) )

  49. XSLT filter: xsl/renice.xsl


    Parameters:
    a-zeros-function, adjoint-reductions, adjoint-subsasgn, avoid-vararg-functions, comment-char, comment-spacer, comment-start, forward-deriv-function-prefix, forward-deriv-variable-prefix, indent-unit, input-file-name, output-directory, output-file-path, output-file-prefix, output-mode, prefix, rec-prefix, ret-prefix, rev-prefix, show-banner, show-disclaimer, show-step-ids, show-step-params, show-steps, source-line-numbers, spook, tmp-mode, tmp-prefix, use-adjsum, use-push-index, well-behaved
  50. if tmpMode == "short-computed"

  51. XSLT filter: xsl/to-source.xsl


    Parameters:
    comment-char, comment-spacer, comment-start, forward-deriv-function-prefix, forward-deriv-variable-prefix, indent-unit, input-file-name, output-directory, output-file-path, output-file-prefix, output-mode, prefix, rec-prefix, ret-prefix, rev-prefix, show-banner, show-disclaimer, show-step-ids, show-step-params, show-steps, source-line-numbers, spook, tmp-mode, tmp-prefix