hydroflow
hydroflow copied to clipboard
feat(hydroflow): [Tracking Issue] Hydroflow engine upgrade to support flo
Driven by hydroflow+ / flo-semantics requirements
- [x] #1585 Add flo syntax/syntax checks (#1507 #1513)
- [x] #1580
- [x] #1692
- [x] #1612 / #1725
- [x] #1731 / #1725
- [ ] #1730
- [x] (#1618)
- [ ] Examples (k-means, transitive closure w/ shortest paths, for stratification)
- [ ] #1581
- [ ] #1699
- [ ] #1697
- [x] feature: https://github.com/hydro-project/hydro/issues/1622
- [ ] Performance: Optimizations for loop contexts as a DAG (ref handoffs)
- [ ] Performance: Specialize/optimize codegen/handoffs to pipeline flags (prev #166)
- [ ] Performance: Upgrade scheduler/codegen (based on DAG) for short circuiting of upstream branches
- [ ] #1670 (DAG subgraphs makes this issue easier)
(docs)
- [ ] ~~#1672~~
- [ ] ~~#1653~~
Scheduler upgrade plan:
- Strata do not matter in loops (?)
- We can start running a nested loop whenever, however…
- Once we start running a loop we can no longer run the outer loop until the current loop is done (heuristic?)
- Heuristic: just always run the deepest (most loop nestings) subgraph scheduled…?
- Loop state must be reset at some point after exiting the loop and entering it for a new iteration.