|
TMB Documentation
v1.9.11
|
Generic checkpoint operator. More...
#include <checkpoint.hpp>
Additional Inherited Members | |
Public Member Functions inherited from TMBad::global::Operator< ninput, noutput > | |
| void | dependencies_updating (Args<> &args, Dependencies &dep) const |
Default implementation of OperatorPure::dependencies_updating() | |
| void * | operator_data () |
| Return operator specific dynamic information (optional) | |
| OperatorPure * | other_fuse (OperatorPure *self, OperatorPure *other) |
| How to fuse this operator (self) with another (other) | |
| void | print (print_config cfg) |
| Print this operator (optional) | |
Static Public Attributes inherited from TMBad::global::DynamicOperator<-1, -1 > | |
| static const bool | dynamic |
| static const int | max_fuse_depth |
Static Public Attributes inherited from TMBad::global::Operator< ninput, noutput > | |
| static const bool | add_forward_replay_copy |
| Should this operator replay it self by invoking the copy CTOR ? | |
| static const bool | add_static_identifier |
| Should this operator have a static identifier ? | |
| static const bool | allow_remap |
| Is it safe to remap the inputs of this operator? More... | |
| static const int | dependent_variable |
| Is output of this operator a dependent variable ? | |
| static const bool | dynamic |
| Does this operator require dynamic allocation ? | |
| static const bool | elimination_protected |
| Protect this operator from elimination by the tape optimizer ? | |
| static const bool | have_dependencies |
Have dependencies member been defined ? | |
| static const bool | have_eval |
Does this class have an eval member from which to define forward ? | |
| static const bool | have_forward_incr_reverse_decr |
Have forward_incr and reverse_incr members been defined ? | |
| static const bool | have_forward_mark_reverse_mark |
Have forward_mark and reverse_mark members been defined ? | |
| static const bool | have_forward_reverse |
Have forward and reverse members been defined ? | |
| static const bool | have_increment_decrement |
Have increment and decrement members been defined ? | |
| static const bool | have_input_size_output_size |
Have input_size and output_size members been defined ? | |
| static const bool | implicit_dependencies |
| Does this operator have implicit dependencies? More... | |
| static const int | independent_variable |
| Is output of this operator an independent variable ? | |
| static const bool | is_constant |
| Is this a constant operator ? | |
| static const bool | is_linear |
| Is this a linear operator ? | |
| static const int | max_fuse_depth |
| How many times can this operator be doubled ? | |
| static const int | ninput |
| Number of operator inputs. | |
| static const int | noutput |
| Number of operator outputs. | |
| static const bool | smart_pointer |
| Is this operator a 'smart pointer' (with reference counting) ? | |
| static const bool | updating |
| This operator may update existing variables ? More... | |
Generic checkpoint operator.
This class implements checkpointing.
In short, a checkpoint operator is an atomic operator for which the derivatives are generated automatically up to any order using AD. The derivatives are stored in a derivatives table that can be shared among different instances of the operator.
There are two main use cases of interest:
standard_derivative_table.retaping_derivative_table.Definition at line 167 of file checkpoint.hpp.