Skip to content

Iterating graph dumping tools in AvalancheSchedulerSvc and HiveDataBroker

Summary

This iteration of the graph dumping debug functionality in Gaudi fixes minor issues and adds an alternative representation logic.

Commit overview

  • FIX: Added an encoding step to account for reserved characters in GraphML dumping.
    • Support for characters &, <, > and " to appear in algorithm names.
  • FIX: Added support for edge labels in GraphML.
    • Results in a unused parameter warning, fixed in the following commit.
  • MINOR: Tweaked addNode and addEdge headers.
    • Affects usage of the GraphDumper.h file, which should be internal only.
  • MAJOR: Added an alternative graph dumping implementation to AvalancheSchedulerSvc.
    • The existing graph dumping functionality in AvalancheSchedulerSvc adds a node for each data dependency. The added graph dumping functionality represents data dependencies as edge labels.
    • The "Data Dependency Graph" naming has been kept for the current implementation. The added implementation is referred to as "Algorithm Dependency Graph".
    • The added implementation is enabled / controlled by new properties added to AvalancheSchedulerSvc to avoid breaking current uses.
  • FIX: Generalized value used in GraphML as graph ID.
    • For consistency with / abstraction from the previous naming scheme.
  • FIX: Fixed edge directions in HiveDataBroker graph dumping.
    • Looking at dependencies from the perspective of producers generating outputs which consumers take as inputs.
  • MAJOR: Aligned HiveDataBroker graph dumping with AvalancheSchedulerSvc for consistency.
    • The existing graph dumping functionality in HiveDataBroker differs from the original "Data Dependency Graph" dumping tool in AvalancheSchedulerSvc.
    • The existing functionality has been renamed to "Algorithm Dependency Graph" for consistency.
    • A second functionality with equivalent logic to the "Data Dependency Graph" functionality in AvalancheSchedulerSvc has been added.
    • Internal IDs have been changed to adopt the naming scheme in the AvalancheSchedulerSvc functionalities.

Other considerations

The /GaudiHive/tests/src/test_GraphDumper.cpp test has been updated to reflect fixes and minor changes.

Merge request reports

Loading