Skip to content

Feature: Dependency graph dump for single cell

Mladen Ivkovic requested to merge dependency_dump_for_single_cell into master

This feature adds the option to dump dependency graphs for a single specified cell.

The dumps will be created on startup by default, and on the steps that are specified by Scheduler:dependency_graph_frequency, just like the current full dependency graph.

The cell to dump for is specified by the cell ID. So it'll work only with debugging checks enabled, or with the cell graph compile time config option enabled.

We can keep using the already existing tools/plot_task_dependencies.py script to generate the images.

Contrary to the full dependency graph, this feature will dump a file for each MPI rank that contains the requested cell. (This is specifically to disentangle dependencies with MPI on different nodes.)

Finally, the dependency graph will not only show tasks that are active for the requested cells, but also the dependencies that any task from the requested cell will unlock. If the requested cell however doesn't have an active task of the type of the unlocked dependency, the dependency will have a pinkish background colour.

I'll put up a few images in a moment.

EDIT:

It looks like this version still dumps a file for each node even if there are no active tasks regarding the requested cell on a node. Will fix that asap.

  • Don't write dumps for nodes that don't have this cell

  • Check corner case where a task has no dependencies - is it still written down and plotted?

Edited by Matthieu Schaller

Merge request reports