Peano
Loading...
Searching...
No Matches
peano4.api.taskgraph.compiler.ReportCompiledStepSequence Namespace Reference

Functions

None report_compiled_step_sequence (List["peano4.api.solversteps.Step"] steps, str title="Compiled task graph")
 Report the result of compiling a task graph into a linear sequence of Observers, through peano4.api.Logger() - the compiled-sequence counterpart to peano4.api.taskgraph.Graph.log_as_text()/visualise(), which report on the pre-compilation Graph/Task structure instead.
 
str _submodel_label (submodel, access)
 "<name>", or "<name> [<qualifier>]" if access (one of a Step's cell_data_access/face_data_access/vertex_data_access dicts) has a Task.DataAccess qualifier on file for this submodel.
 
List[str] _action_set_lines (step)
 Enumerated list of the step's action sets in invocation order, i.e.
 
None _log_compiled_step_sequence_as_text (steps, str title)
 
None _visualise_compiled_step_sequence (steps, str title)
 Simplified sibling of peano4.api.taskgraph.Graph.visualise(): the same UML-state-diagram look (rounded-rectangle states, an internal-activity compartment listing "do / <name>" per action set plus "cell / <name>", "face / <name>", "vertex / <name>" per kind of mesh data the step uses, self-loops for repeating steps, initial/final pseudostates), but laid out as a single top-to-bottom chain following steps' list order, since a compiled sequence - unlike a Graph - has no dependency structure left to derive layers from; it already is the order.
 

Function Documentation

◆ _action_set_lines()

List[str] peano4.api.taskgraph.compiler.ReportCompiledStepSequence._action_set_lines (   step)
protected

Enumerated list of the step's action sets in invocation order, i.e.

"<number>. do / <name>". The numbers enumerate the task groups which the generated observer invokes one after the other (peano4.api.solversteps.SynchroniseActionSets.get_task_groups()). The action sets of a group with more than one action set run in parallel. They share the number and get a letter each, i.e. "1.a do / <name>", "1.b do / <name>", ...

Definition at line 80 of file ReportCompiledStepSequence.py.

Referenced by peano4.api.taskgraph.compiler.ReportCompiledStepSequence._log_compiled_step_sequence_as_text(), and peano4.api.taskgraph.compiler.ReportCompiledStepSequence._visualise_compiled_step_sequence().

Here is the caller graph for this function:

◆ _log_compiled_step_sequence_as_text()

None peano4.api.taskgraph.compiler.ReportCompiledStepSequence._log_compiled_step_sequence_as_text (   steps,
str  title 
)
protected

◆ _submodel_label()

str peano4.api.taskgraph.compiler.ReportCompiledStepSequence._submodel_label (   submodel,
  access 
)
protected

"<name>", or "<name> [<qualifier>]" if access (one of a Step's cell_data_access/face_data_access/vertex_data_access dicts) has a Task.DataAccess qualifier on file for this submodel.

Definition at line 70 of file ReportCompiledStepSequence.py.

Referenced by peano4.api.taskgraph.compiler.ReportCompiledStepSequence._log_compiled_step_sequence_as_text(), and peano4.api.taskgraph.compiler.ReportCompiledStepSequence._visualise_compiled_step_sequence().

Here is the caller graph for this function:

◆ _visualise_compiled_step_sequence()

None peano4.api.taskgraph.compiler.ReportCompiledStepSequence._visualise_compiled_step_sequence (   steps,
str  title 
)
protected

Simplified sibling of peano4.api.taskgraph.Graph.visualise(): the same UML-state-diagram look (rounded-rectangle states, an internal-activity compartment listing "do / <name>" per action set plus "cell / <name>", "face / <name>", "vertex / <name>" per kind of mesh data the step uses, self-loops for repeating steps, initial/final pseudostates), but laid out as a single top-to-bottom chain following steps' list order, since a compiled sequence - unlike a Graph - has no dependency structure left to derive layers from; it already is the order.

Definition at line 123 of file ReportCompiledStepSequence.py.

References peano4.api.taskgraph.compiler.ReportCompiledStepSequence._action_set_lines(), and peano4.api.taskgraph.compiler.ReportCompiledStepSequence._submodel_label().

Here is the call graph for this function:

◆ report_compiled_step_sequence()

None peano4.api.taskgraph.compiler.ReportCompiledStepSequence.report_compiled_step_sequence ( List["peano4.api.solversteps.Step"]  steps,
str   title = "Compiled task graph" 
)

Report the result of compiling a task graph into a linear sequence of Observers, through peano4.api.Logger() - the compiled-sequence counterpart to peano4.api.taskgraph.Graph.log_as_text()/visualise(), which report on the pre-compilation Graph/Task structure instead.

Meant to be called right after a compiler (

See also
peano4.api.taskgraph.compiler.Sequential.translate) has derived its Observer sequence. Note that peano4.api.taskgraph.compiler.PropagateUseStatements.propagate_use_statements() runs as postprocessing after the compiler, i.e. any use_cell()/ use_face()/use_vertex() declarations it adds later on are not part of this report.

Each step's action sets are listed as an enumerated list in the order in which they are invoked ("<number>. do / <name>"). Action sets that may run in parallel share the same number and are told apart by letters ("1.a do / <name>", "1.b do / <name>", ...). The numbering follows the task groups of the generated observer - peano4.api.taskgraph.compiler.ReportCompiledStepSequence._action_set_lines().

Dispatches on peano4.api.Logger().verbosity exactly like Graph.log_as_text()/visualise() do: LoggerVerbosity.TEXT logs a plain listing of the sequence and, for each step, its action sets plus the cell/face/vertex submodels it uses; LoggerVerbosity.VISUALISATION draws a flow chart in the same UML state diagram style as Graph.visualise() - a top-to-bottom chain of states (one per step, in sequence order, since a compiled sequence has no dependency structure left to lay out - it already is the order), listing each step's action sets as enumerated "<number>. do / <name>" lines and the cell/face/vertex submodels it uses as "cell / <name> [<qualifier>]", "face / <name> [<qualifier>]", "vertex / <name> [<qualifier>]" lines - <qualifier> being the originating Task's Task.DataAccess (READ_AND_DISCARD, WRITE, READ_AND_WRITE or TEMPORARY), taken from the step's cell_data_access/face_data_access/vertex_data_access (

See also
peano4.api.taskgraph.compiler.Sequential.translate(), which populates them; a submodel missing from there - i.e. a Step built some other way than through that compiler - is simply listed without a qualifier) - self-loops for steps with has_to_repeat set, and initial/final pseudostates. Neither happens (this call is then a no-op) under any other verbosity.
Parameters
steps[peano4.api.solversteps.Step] The compiled sequence to report on, exactly as the compiler is about to return it.
titlestr Used as-is as the text report's heading / the flow chart's title.

Definition at line 9 of file ReportCompiledStepSequence.py.

References peano4.api.taskgraph.compiler.ReportCompiledStepSequence._log_compiled_step_sequence_as_text().

Here is the call graph for this function: