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.