Add detection of strongly connected components in the data flow precedence rules
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
Activity
added C++ framework task scheduling tests labels
changed milestone to %v33r0
- [2019-11-08 08:05] Validation started with lhcb-gaudi-merge#852
- [2019-12-11 13:10] Automatic merge failed in lhcb-gaudi-head#2480
- [2019-12-12 01:18] Automatic merge failed in lhcb-gaudi-head#2481
- [2019-12-13 00:09] Validation started with lhcb-gaudi-head#2482
Edited by Software for LHCb- Resolved by Illya Shapoval
mentioned in issue #104
assigned to @clemenci
added lhcb-gaudi-head label
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
Toggle commit list-
55778da5...dc858532 - 62 commits from branch
mentioned in commit eddbf3a2
mentioned in merge request atlas/athena!29054 (merged)
Please register or sign in to reply