Skip to content
Snippets Groups Projects

Add detection of strongly connected components in the data flow precedence rules

Merged Illya Shapoval requested to merge ishapova/Gaudi:add-tarjan-graph-algo into master
All threads resolved!

The feature detects strongly connected components (SCCs) of any topology, with cycles and loops being the simplest instances. The check is performed at initialization and produces an error upon detection of an SCC (am open to turn this into a warning if needed). It can be disabled by setting PrecedenceSvc::VerifyTaskPrecedenceRules to False.

The PRG validator is based on Tarjan's algorithm (with minor modifications), which matches the lower bound of O(V+E) for the problem of this type.

Edited by Illya Shapoval

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Author Contributor

    Hm.. CI/CD pipelines in my fork are actually enabled and have always been. Please see #1209563 for this MR. Or you meant some other CI?

  • Illya Shapoval mentioned in issue #104

    mentioned in issue #104

  • Illya Shapoval resolved all threads

    resolved all threads

  • Illya Shapoval added 71 commits

    added 71 commits

    • 55778da5...dc858532 - 62 commits from branch gaudi:master
    • add0ce81 - add a PRG validator for searching strongly connected components in the DF realm
    • 716c7497 - fix formatting
    • ce098fb4 - fix false positive SCC detection
    • edd39d23 - partial fix of false positive SCC detection
    • d6277f6f - reimplement the algorithm to avoid false positives
    • 0777c3df - add a test for detection of a SCC in data flow graph
    • 62fe1752 - add a TODO comment
    • 68cab6f7 - handle loops (aka 1D cycles) properly and modify the error message
    • 4bd2ead4 - fix post-rebase issues

    Compare with previous version

  • Illya Shapoval added 1 commit

    added 1 commit

    • 6c741386 - report an SCC in a reproducible manner

    Compare with previous version

  • Marco Clemencic approved this merge request

    approved this merge request

  • Marco Clemencic mentioned in commit eddbf3a2

    mentioned in commit eddbf3a2

  • mentioned in merge request atlas/athena!29054 (merged)

  • Please register or sign in to reply
    Loading