Skip to content

Conversation

@kaushikcfd
Copy link
Collaborator

@kaushikcfd kaushikcfd commented Mar 20, 2022

  • Only materialized nodes can be inputs/outputs to a partition
  • Non-materialized nodes that are used in multiple partitions are duplicated to uphold the lazy behavior of the expressions
  • Implementation includes a working examples/distributed_partition_sends_asap.py which demonstrates the output for the partitioner.

Draft because:

  • Cleanup
  • Add tests
  • Pass CI
  • Nomenclature incoherence: Users/Successors/Predecessors

@kaushikcfd kaushikcfd force-pushed the try_coarse_grained_dist_impl branch from 0eec71d to adb0a65 Compare March 20, 2022 15:58
@kaushikcfd kaushikcfd marked this pull request as ready for review March 20, 2022 16:34
@kaushikcfd kaushikcfd force-pushed the try_coarse_grained_dist_impl branch 2 times, most recently from 1cf864c to dcd1158 Compare March 20, 2022 18:51
@kaushikcfd
Copy link
Collaborator Author

kaushikcfd commented Mar 20, 2022

With this branch:

2022-03-20 17:46:37,399 - INFO - pytato.partition - find_partition: Split 5058 nodes into 3 parts, with [2024, 1556, 1633] nodes in each partition

With main:

2022-03-20 17:48:13,940 - INFO - pytato.partition - find_partition: Split 4521 nodes into 131 parts, with [2001, 8, 5, 6, 7, 56, 44, 340, 8, 101, 149, 6, 56, 7, 54, 8, 5, 8, 
47, 8, 11, 96, 47, 54, 47, 4, 54, 8, 11, 7, 9, 4, 47, 56, 56, 37, 149, 4, 20, 56, 8, 96, 47, 5, 37, 11, 2, 149, 8, 8, 13, 7, 20, 7, 6, 138, 20, 4, 8, 54, 7, 4, 7, 149, 39, 47
, 56, 371, 44, 26, 23, 54, 8, 12, 20, 4, 17, 47, 7, 65, 4, 8, 5, 54, 5, 6, 38, 8, 85, 56, 47, 6, 8, 16, 2, 8, 37, 56, 47, 7, 20, 6, 3, 37, 85, 11, 89, 54, 4, 31, 8, 10, 2, 44
, 8, 3, 8, 8, 5, 4, 17, 61, 47, 8, 9, 8, 4, 54, 8, 33, 7] nodes in each partition.

That's for CNS 2D-DG operator, written at https://github.com/illinois-ceesd/drivers_y2-isolator.

@inducer
Copy link
Owner

inducer commented Mar 20, 2022

Whoa, nice job! It sure sounds like the lame annotations-based approach of #275 won't be needed now.

@inducer inducer mentioned this pull request Mar 20, 2022
3 tasks
@kaushikcfd kaushikcfd force-pushed the try_coarse_grained_dist_impl branch from dcd1158 to 4b66ba3 Compare March 20, 2022 23:05
@kaushikcfd kaushikcfd force-pushed the try_coarse_grained_dist_impl branch from 4b66ba3 to 187fc9b Compare March 24, 2022 05:55
@kaushikcfd kaushikcfd marked this pull request as draft March 24, 2022 05:58
@kaushikcfd kaushikcfd force-pushed the try_coarse_grained_dist_impl branch 5 times, most recently from 15f29f8 to 8a6e7bf Compare March 27, 2022 04:56
@kaushikcfd kaushikcfd marked this pull request as ready for review March 27, 2022 05:04
Copy link
Owner

@inducer inducer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this! I enjoyed reading this, and I still think the approach is really clever. There's a number of things flagged here, but nothing fundamental. Good to go once these are addressed!

@inducer
Copy link
Owner

inducer commented Mar 29, 2022

Unsubscribing... @-mention or request review once it's ready for a look or needs attention.

@kaushikcfd kaushikcfd force-pushed the try_coarse_grained_dist_impl branch 7 times, most recently from d72458d to 94a381d Compare April 2, 2022 15:36
@kaushikcfd kaushikcfd force-pushed the try_coarse_grained_dist_impl branch 2 times, most recently from 07e21a0 to ee304ae Compare April 4, 2022 20:26
The newer algorithm uses the following principle:
- No node other than the ones indicated by the user must be
  materialized.
- Be eager to schedule sends.
@kaushikcfd kaushikcfd force-pushed the try_coarse_grained_dist_impl branch from ee304ae to 596a8e3 Compare April 4, 2022 20:36
@kaushikcfd kaushikcfd requested a review from inducer April 4, 2022 20:37
@inducer
Copy link
Owner

inducer commented Apr 6, 2022

This looks great! Thanks for working on it.

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.

2 participants