Directive¶
-
public class
Directive¶ Tapenade directives, mostly about AD.
Fields¶
BINOMIALCKP¶
-
public static final int
BINOMIALCKP¶ Time-stepping loops to be adjoined with binomial checkpointing.
CHECKPOINTSTART¶
-
public static final int
CHECKPOINTSTART¶ Start of a piece of code to be checkpointed.
FIXEDPOINTLOOP¶
-
public static final int
FIXEDPOINTLOOP¶ Piece of code containing a Fixed Point loop.
MULTITHREAD_ADJ¶
-
public static final int
MULTITHREAD_ADJ¶ Directive that overrides multithread memory layout decision for adjoint differentiated variables
MULTITHREAD_TGT¶
-
public static final int
MULTITHREAD_TGT¶ Directive that overrides multithread memory layout decision for tangent differentiated variables
NODIFFSTART¶
-
public static final int
NODIFFSTART¶ Start of a piece of code NOT to be differentiated.
Constructors¶
Methods¶
analyzeInstructionDirectives¶
-
protected static void
analyzeInstructionDirectives(Instruction instruction, Tree instructionComments)¶ Analyze the comments attached to the “instruction”, to find the AD directives.
analyzeMultithreadScopings¶
-
public static void
analyzeMultithreadScopings(Tree scopingsStringTree, boolean caseSensitive, TapList<Tree> toClausesGivenScoping, TapList<String> toForcedAtomicScopingNames, TapList<String> toForcedOtherScopingNames)¶ Called by BlockDifferentiator to analyze the contents of an “$AD MULTITHREAD TGT_or_ADJ” directive. Current syntax is:
global(variables) : diff of variables must be OMP shared or Cuda globals
noconflict(variables) : same as global(variables)
shared(variables) : same as global(variables), but deprecated because “shared” meaning is different in Cuda
atomic(variables) : diff of variables must be OMP shared or Cuda globals with all usages atomic
private(variables) : diff of variables must be OMP private or Cuda registers (non-global)
firstprivate(variables) : diff of variables must be OMP firstprivate
lastprivate(variables) : diff of variables must be OMP lastprivate
reduction(op:variables) : diff of variables must be OMP reduction with given op
- Parameters
scopingsStringTree – A tree of given scopings e.g. “atomic(X,Y) reduction(+:Z,R) global(V)”
caseSensitive – false for Fortran.
toClausesGivenScoping – will contain the corresponding future new scoping clauses.
toForcedAtomicScopingNames – will contain the names of variables that are forced to (global)ATOMIC.
toForcedOtherScopingNames – will contain the names of variables that are forced to another scoping.