|
Peano
|
| exaparty.api.graphcompiler.MultisweepTaskGraph.initialisation_steps_onto_multisweep_task_graph_bucket_sort_coalesced_memory | ( | species_sets, | |
| verbose | |||
| ) |
| concatenate_steps_of_species | [Species] Sequence of particle species to be handled. |
| verbose | {True, False} |
Definition at line 223 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph().

| exaparty.api.graphcompiler.MultisweepTaskGraph.initialisation_steps_onto_multisweep_task_graph_bucket_sort_scattered_memory | ( | species_sets, | |
| verbose | |||
| ) |
| concatenate_steps_of_species | [Species] Sequence of particle species to be handled. |
| verbose | {True, False} |
Definition at line 171 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph().

| exaparty.api.graphcompiler.MultisweepTaskGraph.initialisation_steps_onto_multisweep_task_graph_multiscale_sort_coalesced_memory | ( | species_sets, | |
| verbose | |||
| ) |
| concatenate_steps_of_species | [Species] Sequence of particle species to be handled. |
| verbose | {True, False} |
Definition at line 197 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph().

| exaparty.api.graphcompiler.MultisweepTaskGraph.initialisation_steps_onto_multisweep_task_graph_multiscale_sort_scattered_memory | ( | species_sets, | |
| verbose | |||
| ) |
| concatenate_steps_of_species | [Species] Sequence of particle species to be handled. |
| verbose | {True, False} |
Definition at line 145 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph().

| exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph | ( | sequence_of_steps, | |
| ParticleSortingAndStorage | particle_sorting_and_storage, | ||
| StepType | step_type, | ||
| verbose | |||
| ) |
Forward to map_onto_separate_mesh_traversals_with_generic_mapper().
Consult implementation in TaskGraph.py for further information.
The bespoke logic here is injected by the functor translate_one_step_of_species_into_mesh_traversal() pointing to another routine in this file.
Definition at line 110 of file MultisweepTaskGraph.py.
Referenced by exaparty.api.graphcompiler.MultisweepTaskGraph.initialisation_steps_onto_multisweep_task_graph_bucket_sort_coalesced_memory(), exaparty.api.graphcompiler.MultisweepTaskGraph.initialisation_steps_onto_multisweep_task_graph_bucket_sort_scattered_memory(), exaparty.api.graphcompiler.MultisweepTaskGraph.initialisation_steps_onto_multisweep_task_graph_multiscale_sort_coalesced_memory(), exaparty.api.graphcompiler.MultisweepTaskGraph.initialisation_steps_onto_multisweep_task_graph_multiscale_sort_scattered_memory(), exaparty.api.graphcompiler.MultisweepTaskGraph.particle_steps_onto_multisweep_task_graph_bucket_sort_coalesced_memory(), exaparty.api.graphcompiler.MultisweepTaskGraph.particle_steps_onto_multisweep_task_graph_bucket_sort_scattered_memory(), exaparty.api.graphcompiler.MultisweepTaskGraph.particle_steps_onto_multisweep_task_graph_multiscale_sort_coalesced_memory(), and exaparty.api.graphcompiler.MultisweepTaskGraph.particle_steps_onto_multisweep_task_graph_multiscale_sort_scattered_memory().

| exaparty.api.graphcompiler.MultisweepTaskGraph.particle_steps_onto_multisweep_task_graph_bucket_sort_coalesced_memory | ( | species_sets, | |
| verbose | |||
| ) |
For a sequential ordering, i.e.
1:1 mapping of steps per species onto traversals, it makes no real difference how we order the progress through the individual steps. So I just concatenate the steps per species.
| concatenate_steps_of_species | [Species] Sequence of particle species to be handled. |
| verbose | {True, False} |
Definition at line 327 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph().

| exaparty.api.graphcompiler.MultisweepTaskGraph.particle_steps_onto_multisweep_task_graph_bucket_sort_scattered_memory | ( | species_sets, | |
| verbose | |||
| ) |
For a sequential ordering, i.e.
1:1 mapping of steps per species onto traversals, it makes no real difference how we order the progress through the individual steps. So I just concatenate the steps per species.
| concatenate_steps_of_species | [Species] Sequence of particle species to be handled. |
| verbose | {True, False} |
Definition at line 275 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph().

| exaparty.api.graphcompiler.MultisweepTaskGraph.particle_steps_onto_multisweep_task_graph_multiscale_sort_coalesced_memory | ( | species_sets, | |
| verbose | |||
| ) |
For a sequential ordering, i.e.
1:1 mapping of steps per species onto traversals, it makes no real difference how we order the progress through the individual steps. So I just concatenate the steps per species.
| concatenate_steps_of_species | [Species] Sequence of particle species to be handled. |
| verbose | {True, False} |
Definition at line 301 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph().

| exaparty.api.graphcompiler.MultisweepTaskGraph.particle_steps_onto_multisweep_task_graph_multiscale_sort_scattered_memory | ( | species_sets, | |
| verbose | |||
| ) |
For a sequential ordering, i.e.
1:1 mapping of steps per species onto traversals, it makes no real difference how we order the progress through the individual steps. So I just concatenate the steps per species.
| concatenate_steps_of_species | [Species] Sequence of particle species to be handled. |
| verbose | {True, False} |
Definition at line 249 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.MultisweepTaskGraph.map_onto_separate_mesh_traversals_constructing_task_graph().

| exaparty.api.graphcompiler.MultisweepTaskGraph.translate_one_step_of_species_into_mesh_traversal | ( | step, | |
| current_species_set, | |||
| mesh_traversals, | |||
| alter_particle_position, | |||
| use_continuous_particles_sequences, | |||
| StepType | step_type, | ||
| verbose | |||
| ) |
Actual translation of one step per particle species onto a task graph construction.
We basically forward to exaparty.api.graphcompiler.TaskGraph.translate_one_step_of_species_into_mesh_traversal() but we set the flag synchronise_task_graph_after_each_mesh_sweep() to false. This does not mean that the arising task graph is bare of all synchronisation. It just means that we don't immediately synchronise after each step.
All the wrappers have implicitly built in some synchronisation: A vertex issues a task with a number. If this number is already tied to an existing task, this creates an in-out dependency. However, we have three types of task numbers per species:
Each observer will create vertex first-vertex first-cell-vertex last chains of tasks with an arbitrary number of first and last instances. The important thing to keep things correct therefore is that we establish vertex last-vertex first relations here which ensure that one chain does not mangle into the chain of the predecessor.
This is the added thing here. Global syncs will automatically be added where they are necessary (cmp. translate_one_step_of_species_into_mesh_traversal() and the variable synchronise_after_each_mesh_traversal therein).
SynchroniseVerticesWithPreviousMeshSweep
Definition at line 29 of file MultisweepTaskGraph.py.
References exaparty.api.graphcompiler.TaskGraph.translate_one_step_of_species_into_mesh_traversal().
