TapEnvForThread¶
-
public final class
TapEnvForThread¶ Contains all settings needed by Tapenade at some point, (except those specific to AD that go into adEnv), and that are specific for each individual thread.
Fields¶
adActivityAnalyzer¶
-
protected ADActivityAnalyzer
adActivityAnalyzer¶ The activity analyzer, finding variables that must have a derivative.
adTbrAnalyzer¶
-
protected ADTBRAnalyzer
adTbrAnalyzer¶ The TBR analyzer, finding variables that must be stored and then retrieved during an adjoint differentiation.
assocAddressDiffSuffix¶
assocAddressDiffTypesUnits¶
assocAddressValueSuffix¶
associationByAddress¶
-
protected boolean
associationByAddress¶ When true, place differentiated values using association-by-address instead of association-by-name.
combineDeclMessagesSwitch¶
-
protected boolean
combineDeclMessagesSwitch¶ When false, messages DD05 (Cannot combine successive declarations…) are inhibited. Because repeated inclusion of C standard include files cause spurious DD05 messages.
complexStep¶
-
public boolean
complexStep¶ When true, fortran REAL’s are turned into COMPLEX’es to enable the complex-step method
curOutputStream¶
-
public OutputStream
curOutputStream¶ The current output stream used by print().
currentDirectory¶
currentIncludeInstruction¶
-
protected Instruction
currentIncludeInstruction¶ The include Instruction that contained the current Instruction.
currentTranslationUnitSymbolTable¶
-
protected SymbolTable
currentTranslationUnitSymbolTable¶
danglingMessages¶
-
protected TapList<PositionAndMessage>
danglingMessages¶ The list of all messages that could not be related to such or such Unit.
debugADMM¶
-
protected boolean
debugADMM¶ label all calls to ADMM primitives with a unique label for debugging
debugActivity¶
-
protected boolean
debugActivity¶ When true, deactivates filterVariedUsefulWithDeps() and mergeUsefulnessIntoVariedness() so that when the normal mode eventually finds no activity at all, this mode still runs top-down activity analysis through the code. This may help find where the activity chain is broken.
debugAdMode¶
-
protected int
debugAdMode¶ Debug mode of differentiated programs. NO_DEBUG:no debug ; TGT_DEBUG:debug tangent ; ADJ_DEBUG:debug adjoint.
debugPassives¶
-
public boolean
debugPassives¶ When true, in debug tangent mode, tries also to test that the passives are not varied.
defaultCheckpointCalls¶
-
public boolean
defaultCheckpointCalls¶ The default checkpointing decision on call sites.
depsAnalyzer¶
-
protected DepsAnalyzer
depsAnalyzer¶ The data-dependency analyzer, finding dependencies of outputs wrt inputs of procedures.
diffFileSuffix¶
diffKind¶
-
protected int
diffKind¶ The kind of zones that are currently differentiated. Usually, it is REALKIND, but in a very special mode, it can be ALLKIND.
diffLivenessAnalyzer¶
-
protected DiffLivenessAnalyzer
diffLivenessAnalyzer¶ The differentiable liveness analyzer, finding original code that is eventually useful or not for the derivative computations.
diffReplica¶
-
public int
diffReplica¶ Number of replicates of diff variables, as requested by “-replicateDiff” option.
differentiatedIncludeNames¶
doOpenMPZ3¶
-
protected boolean
doOpenMPZ3¶ When true, run special analyses for OpenMP clauses using Z3 model checker.
doRecompute¶
-
public boolean
doRecompute¶ When true, cheap instructions may be repeated to further reduce the adjoint mode stack.
doTBR¶
-
public boolean
doTBR¶ When true, TBR analysis is run to further reduce the adjoint mode stack.
dontSaveUnused¶
-
public boolean
dontSaveUnused¶ When true, only used variables are pushed on the adjoint mode stack.
doubleDoubleRealSize¶
-
public int
doubleDoubleRealSize¶ Size of a long double precision float for this system.
dumpCallGraph¶
-
public boolean
dumpCallGraph¶ True if user wants a compact dump of the source Call Graph.
dumpDataFlow¶
-
public boolean
dumpDataFlow¶ True if user wants a dump of the Data Flow results on the source.
dumpDeps¶
-
public boolean
dumpDeps¶ True if user wants a dump of dependency info matrices in the data-flow of the Call Graph.
dumpDiffFlowGraphs¶
-
public boolean
dumpDiffFlowGraphs¶ True if user wants a dump of the differentiated code’s Flow-Graphs.
dumpDiffSymbolTables¶
-
public boolean
dumpDiffSymbolTables¶ True if user wants a dump of the differentiated code’s Symbol Tables.
dumpInOut¶
-
public boolean
dumpInOut¶ True if user wants a dump of In-Out info in the data-flow of the Call Graph.
dumpOutputStream¶
-
public OutputStream
dumpOutputStream¶ The OutputStream for traces (milestones, differentiation debug traces…).
dumpPointers¶
-
public boolean
dumpPointers¶ True if user wants a dump of pointer info in the data-flow of the Call Graph.
dumpSymbolTables¶
-
public boolean
dumpSymbolTables¶ True if user wants a dump of the source Symbol Tables.
dumpZones¶
-
public boolean
dumpZones¶ True if user wants a dump of the zones numbers used in the dump.
duplicableUnitNames¶
expandAllIncludeFile¶
-
public boolean
expandAllIncludeFile¶ When true, expand all includes in the generated files.
fixInterface¶
-
public boolean
fixInterface¶ When true, forbids modifications of the dependent and independent of root Units.
fixedNbdirsString¶
fixedNbdirsTree¶
fixedNbdirsmaxString¶
fixedNbdirsmaxTree¶
fortran90LineLength¶
fppCommand¶
inOutAnalyzer¶
-
protected InOutAnalyzer
inOutAnalyzer¶ The In-Out analyzer, finding variables read and/or written by procedures.
includeFileStack¶
inlinedFunctions¶
-
public InlinedFunctions
inlinedFunctions¶ List of inlinedFunctions (cf libraries/GeneralLibReader).
mergeDiffInstructions¶
-
public boolean
mergeDiffInstructions¶ When true, diff instructions are merged when profitable.
mixedLangInfos¶
-
protected TapList<MixedLanguageInfos>
mixedLangInfos¶
multiDirDiffMode¶
-
public boolean
multiDirDiffMode¶ True if the coming differentiation will be multi-directional.
multiFuncSuffix¶
multiLoopMustBeOutside¶
-
protected boolean
multiLoopMustBeOutside¶ When true, and when a multi-loop is needed, requires the multi-dir loop be on the outside of loop nests
multithreadAnalyzer¶
-
protected MultithreadAnalyzer
multithreadAnalyzer¶ The OpenMP clauses analyzer, finding the OpenMP status of variables (shared, private…)
mustAdjoint¶
-
public boolean
mustAdjoint¶ True if the coming differentiation will feature some adjoint diff.
mustContext¶
-
public boolean
mustContext¶ When true, code outside the differentiation root is also regenerated, to prepare the context to call the diff code.
mustTangent¶
-
public boolean
mustTangent¶ True if the coming differentiation will feature some tangent diff.
newSHdisambiguator¶
-
public int
newSHdisambiguator¶ This integer will be incremented each time we create a new temporary symbol (tmp, arg, result, dumm, dummyarraydiff…) and then attached to the new symbol name to make it unique so that it can be recognized, e.g. with sed.
noComment¶
-
public boolean
noComment¶ About handling of comments by the preprocessors (e.g. cpp, fpp…) Default false implies preprocessor called with “-C”, thus keeping comments.
noisize¶
-
public boolean
noisize¶ In the differentiated code, do not create “ISIZEOF” constants that the user must then define, but rather use the Fortran90 dynamic SIZE() function.
noisize77¶
-
public boolean
noisize77¶ Like noisize, but use the dynamic SIZE() function even when not in Fortran90.
numberPushPops¶
-
public boolean
numberPushPops¶ When true, place a common numeric mark on matching Push/POP’s.
oldContext¶
-
public boolean
oldContext¶ TEMPORARY: Option to run the old context system (before option “-context” existed), that adds memory allocation and pointer computations of the adjoint variables into the copied “_CD” and “_CB” procedures.
optionsString¶
outputStreamStack¶
-
public TapList<OutputStream>
outputStreamStack¶
pointerAnalyzer¶
-
protected PointerAnalyzer
pointerAnalyzer¶ The pointer destination analyzer (points-to analysis).
preprocessFileSuffix¶
refineADMM¶
-
public boolean
refineADMM¶ When true, refine application of the ADMM mechanism i.e. Register/Unregister/Rebase by restricting it to those that really need it (according to a static data-flow analysis).
Only Rebase pointers that may point to chunks that may be reallocated
Only Register/Unregister chunks that may be pointed to by TBR pointers.
removeDeadControl¶
-
public boolean
removeDeadControl¶ When true, original control instructions that are eventuallynot needed for derivatives are sliced away.
removeDeadPrimal¶
-
public boolean
removeDeadPrimal¶ When true, primal code that is eventually not needed for derivatives is sliced away.
reqExplicitAnalyzer¶
-
protected ReqExplicit
reqExplicitAnalyzer¶ The pointer activity analyzer, finds pointers for which a derivative must be defined. Also finds allocations, de-allocations, and pointer operations that must be transposed for the derivative counterpart.
resultRK¶
-
protected int
resultRK¶ Used during instruction splitting: Static ints to increment the number at the end of the intermediate var names such as “result”, “arg”.
seenSymbolTables¶
-
public TapList<TapPair<SymbolTable, String>>
seenSymbolTables¶ A-List of SymbolTables already shown on dump. A-List of TapPair’s (SymbolTable,String to refer to it).
singleFileOutput¶
-
public boolean
singleFileOutput¶ True if the user requested all outputs in a single file
spareDiffReinitializations¶
-
protected boolean
spareDiffReinitializations¶ When true, reinitialization of derivative of passive variables is postponed.
spareNoDiffArgs¶
-
public boolean
spareNoDiffArgs¶ When true, non-active procedure arguments are not differentiated.
sparsity¶
-
protected boolean
sparsity¶ When true, generated code only computes Jacobian sparsity info.
sparsityAsIntSets¶
-
protected boolean
sparsityAsIntSets¶ When true, and sparsity is true, the generated sparsity patterns will take the form of IntSets instead of bit vectors.
splitDiffExpressions¶
-
public boolean
splitDiffExpressions¶ When true, diff expressions are split to eliminate common subexpressions.
srcUnitsToTraceInTreeGen¶
standaloneDiff¶
-
public boolean
standaloneDiff¶ When true, the differentiated code incorporates enough of the primal code to be standalone.
staticTape¶
-
public boolean
staticTape¶ When true, try to use local static storage when possible instead of PUSH/POP.
stdLibraryDirectory¶
stripDiffTypes¶
-
public boolean
stripDiffTypes¶ When true, differentiated types are simplified by stripping passive components.
stripPrimalCode¶
-
public boolean
stripPrimalCode¶ When true, useless primal code (procedures…) is stripped from differentiated files.
stripPrimalEvenIfImportsActive¶
-
public boolean
stripPrimalEvenIfImportsActive¶ (Requested by one user, but dangerous) When true, the fact that a unit IMPORTS an active module is not a sufficient reason to keep its primal version in the diff code (as a _NODIFF unit).
stripPrimalModules¶
-
public boolean
stripPrimalModules¶ When false, all modules are differentiated (previous default, for compatibility and test) when true, only active modules are differentiated.
traceADDeps¶
traceActivity¶
traceBlockRk¶
-
public int
traceBlockRk¶ Rank of one Block in the selected Unit, on which traces should focus.
traceCalledUnitName¶
traceCurAnalysis¶
-
public boolean
traceCurAnalysis¶ When true, we trace analysis on-the-fly on the curUnit.
traceDeps¶
traceDiffLiveness¶
traceDifferentiationUnitNames¶
traceFlowGraphBuild¶
traceInOut¶
traceInline¶
traceInlineAnalysis¶
-
protected boolean
traceInlineAnalysis¶ True when we want to trace inline analysis on-the-fly on the current Unit.
traceInputIL¶
-
public boolean
traceInputIL¶ When true, the tree operators coming from the input IL will be shown.
traceMultithread¶
traceOutputStream¶
-
public final OutputStream
traceOutputStream¶ The OutputStream for traces (milestones, differentiation debug traces…).
traceParser¶
-
public boolean
traceParser¶ When true, Tapenade prints the system command(s) used to parse the input files into IL.
tracePointer¶
traceReqExplicit¶
traceTBR¶
traceTreeGenUnitNames¶
traceTypeCheck¶
traceTypeCheckAnalysis¶
-
protected boolean
traceTypeCheckAnalysis¶ True when we want to trace typeCheck analysis on-the-fly on the current Unit.