-
Notifications
You must be signed in to change notification settings - Fork 311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Local execution with compiled graph(#4080) #1917
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #1917 +/- ##
===========================================
- Coverage 85.80% 54.25% -31.55%
===========================================
Files 313 173 -140
Lines 23278 16937 -6341
Branches 3526 3502 -24
===========================================
- Hits 19973 9190 -10783
- Misses 2702 7332 +4630
+ Partials 603 415 -188 ☔ View full report in Codecov by Sentry. |
Signed-off-by: Da-Yi Wu <[email protected]> Resolve dynamic cases by compile one more time Signed-off-by: Da-Yi Wu <[email protected]> Modify Gate local execution Signed-off-by: Da-Yi Wu <[email protected]>
4746aa5
to
c3579f2
Compare
Signed-off-by: Da-Yi Wu <[email protected]>
Actually, I run all the workflow testing file by replacing the execution function with newer one,
![]() |
Signed-off-by: Da-Yi Wu <[email protected]>
Signed-off-by: Da-Yi Wu <[email protected]>
@eapolinario @pingsutw @wild-endeavor can one of you please review? |
Signed-off-by: Da-Yi Wu <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
@@ -195,6 +195,8 @@ def __init__( | |||
self._nodes: List[Node] = [] | |||
self._output_bindings: List[_literal_models.Binding] = [] | |||
self._docs = docs | |||
# Create a map that holds the outputs of each node. | |||
self._intermediate_node_outputs: Dict[Node, Dict[str, Promise]] = {GLOBAL_START_NODE: {}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found this line may also have the node execution independency issue. If we execute the same node twice, this intermediate_node_output is not None before the second execution. Not sure if this would have any problem, maybe we can clear the state on the begining of execution_node?
Signed-off-by: Da-Yi Wu <[email protected]>
Signed-off-by: Da-Yi Wu <[email protected]>
Signed-off-by: Da-Yi Wu <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Da-Yi Wu <[email protected]>
Signed-off-by: Da-Yi Wu <[email protected]>
Signed-off-by: Da-Yi Wu <[email protected]>
Signed-off-by: Da-Yi Wu <[email protected]>
TL;DR
Support user-defined execution sequence in local pyfylte. Now subworkflow/tasks can be sequence by
>>
operation within workflow. for example:Type
Are all requirements met?
Complete description
BranchNode
local execution by addingConditionalSection
in__init__
__call__
inBrachNode
to eval all its expression via kwargs.ComparisonExpression
andConjunctionExpression
via DFS.Gate
--> Need check, I just use the first key in kwargs as output.a. Do topological sort on
workflow._nodes
, check if cycle exists.b. Follow the implementation in
ImperativeWorkflow
c. Support
dynamic
by compiled one more time.d. Recursive execution with BranchNode
f. Modify dynamic local execution flow
Tracking Issue
flyteorg/flyte#4080
Follow-up issue
NA
OR
https://github.com/flyteorg/flyte/issues/