|
| List["peano4.api.solversteps.Step"] | peano4.api.taskgraph.compiler.CellTaskProducerConsumer.translate_with_sequential (Graph graph, str identifier, "peano4.api.Project" peano_project) |
| | Split tasks writing cell data into producer and consumer, and map each task onto its own mesh traversal.
|
| |
| List["peano4.api.solversteps.Step"] | peano4.api.taskgraph.compiler.CellTaskProducerConsumer.translate_with_fusion (Graph graph, str identifier, "peano4.api.Project" peano_project) |
| | Split tasks writing cell data into producer and consumer, and fuse tasks into as few mesh traversals as possible.
|
| |
| List["peano4.api.solversteps.Step"] | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._translate (Graph graph, str identifier, "peano4.api.Project" peano_project, bool use_fusion) |
| | Task graph compiler which splits tasks writing cell data into a producer spawning tasks and a consumer waiting for them (work in progress)
|
| |
| str | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._task_number_attribute_name (Task task, int action_set_index) |
| | CamelCase version of the task's name followed by ActionSet, the action set index and TaskNumber.
|
| |
| Task | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._copy_task (Task task) |
| | Shallow copy of a task with its own lists and dictionaries, so we can alter the copy's dependencies without touching the original graph.
|
| |
| bool | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._exclusively_writes_cell_data (Task task) |
| | True if task declares at least one cell submodel as WRITE or READ_AND_WRITE, and no face or vertex submodel as WRITE or READ_AND_WRITE.
|
| |
| List[str] | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._has_events_after_touch_cell_first_time (Task task) |
| | List the events which the task's action sets realise and which a producer would invoke before its spawned tasks have necessarily terminated: unprepareTraversal(), endTraversal() and the touch...LastTime() events.
|
| |
| | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._split_cell_tasks (Graph graph) |
| | Build the producer-consumer graph.
|
| |
| List[str] | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._non_static_attribute_names (str attributes) |
| | Names of the non-static attributes declared in the C++ snippet returned by an action set's get_attributes().
|
| |
| str | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._generator_name (submodel) |
| | Name of the generator class which realises the submodel in C++.
|
| |
| bool | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._is_held_via_smart_pointer (submodel) |
| | True if the submodel's generator holds the data via a smart pointer, i.e.
|
| |
| | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._enumerators_used_by (Task task, str task_body) |
| | Names of the vertex and face enumerators which a task body might use, i.e.
|
| |
| | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._warn_about_unsafe_task (Task task, int action_set_index, "peano4.api.solversteps.ActionSet" action_set, str task_body) |
| | Issue the warnings about task bodies which might not be safe.
|
| |
| | peano4.api.taskgraph.compiler.CellTaskProducerConsumer._spawn_tasks (split_tasks, "peano4.api.datamodel.DaStGen2" task_labels) |
| | Make the producers spawn tasks and the consumers wait for them, and add one task number per spawning action set to the task labels.
|
| |