Skip to content
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

Array node map task #1640

Merged
merged 30 commits into from
Aug 4, 2023
Merged

Array node map task #1640

merged 30 commits into from
Aug 4, 2023

Conversation

eapolinario
Copy link
Collaborator

@eapolinario eapolinario commented May 15, 2023

TL;DR

This PR adds support for map tasks defined in terms of ArrayNode

TODO

  • correctly set node in input bindings
  • include metadata in hash so map_task(a_mappable_task) and map_task(a_mappable_task, concurrency=2) may both be used at the same time
  • retries hard-coded to 1 on the node-level so task-level not used
  • support for partials

Type

  • Bug Fix
  • Feature
  • Plugin

Are all requirements met?

  • Code completed
  • Smoke tested
  • Unit tests added
  • Code documentation added
  • Any pending items have an associated Issue

Complete description

Extremely WIP at the moment.

Need to verify support for container tasks and other backend entities.

Tracking Issue

flyteorg/flyte#1131

Follow-up issue

NA
OR
https://github.com/flyteorg/flyte/issues/

Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
eapolinario and others added 24 commits May 25, 2023 07:47
Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: eduardo apolinario <[email protected]>
@eapolinario eapolinario changed the title [WIP] - Array node map task Array node map task Aug 4, 2023
Signed-off-by: eduardo apolinario <[email protected]>
@eapolinario eapolinario merged commit 1777f4b into master Aug 4, 2023
fg91 pushed a commit that referenced this pull request Aug 15, 2023
* Test experimental map task so far

Signed-off-by: eduardo apolinario <[email protected]>

* Lint

Signed-off-by: eduardo apolinario <[email protected]>

* Include ArrayNodeMapTask task spec in list of registrable entities

Signed-off-by: eduardo apolinario <[email protected]>

* can start fast-register

Signed-off-by: Daniel Rammer <[email protected]>

* fixed task type

Signed-off-by: Daniel Rammer <[email protected]>

* Add _execute_map_task

Signed-off-by: eduardo apolinario <[email protected]>

* added self to _compute_array_job_index function

Signed-off-by: Daniel Rammer <[email protected]>

* overridding _outputs_interface

Signed-off-by: Daniel Rammer <[email protected]>

* imports

Signed-off-by: Daniel Rammer <[email protected]>

* added get_type_for_output_var override

Signed-off-by: Daniel Rammer <[email protected]>

* using correct python outputs type

Signed-off-by: Daniel Rammer <[email protected]>

* not appending task index to output_prefix for ArrayNode

Signed-off-by: Daniel Rammer <[email protected]>

* using metadata from subtasks

Signed-off-by: Daniel Rammer <[email protected]>

* updated task interface

Signed-off-by: Daniel Rammer <[email protected]>

* reverted interface - will need to handle in propeller compiler

Signed-off-by: Daniel Rammer <[email protected]>

* Hash metadata

* Fix bindings to ArrayNode

Signed-off-by: eduardo apolinario <[email protected]>

* Minor cleanup

Signed-off-by: eduardo apolinario <[email protected]>

* Remove extraneous code

Signed-off-by: eduardo apolinario <[email protected]>

* Use correct version of flyteidl

Signed-off-by: eduardo apolinario <[email protected]>

* More cleanup

Signed-off-by: eduardo apolinario <[email protected]>

* Use experimental module

Signed-off-by: eduardo apolinario <[email protected]>

* Fix tests

Signed-off-by: eduardo apolinario <[email protected]>

* Add support for partials

Signed-off-by: eduardo apolinario <[email protected]>

* Add support for fast registration

Signed-off-by: eduardo apolinario <[email protected]>

* Linting

Signed-off-by: eduardo apolinario <[email protected]>

* Remove a few TODOs

Signed-off-by: eduardo apolinario <[email protected]>

---------

Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: Eduardo Apolinario <[email protected]>
Co-authored-by: eduardo apolinario <[email protected]>
Co-authored-by: Daniel Rammer <[email protected]>
Future-Outlier pushed a commit to Future-Outlier/flytekit that referenced this pull request Oct 3, 2023
* Test experimental map task so far

Signed-off-by: eduardo apolinario <[email protected]>

* Lint

Signed-off-by: eduardo apolinario <[email protected]>

* Include ArrayNodeMapTask task spec in list of registrable entities

Signed-off-by: eduardo apolinario <[email protected]>

* can start fast-register

Signed-off-by: Daniel Rammer <[email protected]>

* fixed task type

Signed-off-by: Daniel Rammer <[email protected]>

* Add _execute_map_task

Signed-off-by: eduardo apolinario <[email protected]>

* added self to _compute_array_job_index function

Signed-off-by: Daniel Rammer <[email protected]>

* overridding _outputs_interface

Signed-off-by: Daniel Rammer <[email protected]>

* imports

Signed-off-by: Daniel Rammer <[email protected]>

* added get_type_for_output_var override

Signed-off-by: Daniel Rammer <[email protected]>

* using correct python outputs type

Signed-off-by: Daniel Rammer <[email protected]>

* not appending task index to output_prefix for ArrayNode

Signed-off-by: Daniel Rammer <[email protected]>

* using metadata from subtasks

Signed-off-by: Daniel Rammer <[email protected]>

* updated task interface

Signed-off-by: Daniel Rammer <[email protected]>

* reverted interface - will need to handle in propeller compiler

Signed-off-by: Daniel Rammer <[email protected]>

* Hash metadata

* Fix bindings to ArrayNode

Signed-off-by: eduardo apolinario <[email protected]>

* Minor cleanup

Signed-off-by: eduardo apolinario <[email protected]>

* Remove extraneous code

Signed-off-by: eduardo apolinario <[email protected]>

* Use correct version of flyteidl

Signed-off-by: eduardo apolinario <[email protected]>

* More cleanup

Signed-off-by: eduardo apolinario <[email protected]>

* Use experimental module

Signed-off-by: eduardo apolinario <[email protected]>

* Fix tests

Signed-off-by: eduardo apolinario <[email protected]>

* Add support for partials

Signed-off-by: eduardo apolinario <[email protected]>

* Add support for fast registration

Signed-off-by: eduardo apolinario <[email protected]>

* Linting

Signed-off-by: eduardo apolinario <[email protected]>

* Remove a few TODOs

Signed-off-by: eduardo apolinario <[email protected]>

---------

Signed-off-by: eduardo apolinario <[email protected]>
Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: Eduardo Apolinario <[email protected]>
Co-authored-by: eduardo apolinario <[email protected]>
Co-authored-by: Daniel Rammer <[email protected]>
Signed-off-by: Future Outlier <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants