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

*: integrate with collective instances when ready #116

Open
9 tasks
rohany opened this issue May 1, 2022 · 1 comment
Open
9 tasks

*: integrate with collective instances when ready #116

rohany opened this issue May 1, 2022 · 1 comment

Comments

@rohany
Copy link
Owner

rohany commented May 1, 2022

As soon as the collective instance branch is ready for testing, we need to move to it and introduce new concepts in the lowerer and mapper to correctly handle creating them. This is a three phase process.

  1. Simple "replicated tensor" computations, and remove all of the hard-coded manual replication things. Codes that come to mind are
  • SpMV weak scale
  • TTV
  • TTMC
  • MTTKRP
  1. More complicated launch patterns where subsets of launches need pieces of tensors
  • Johnson's Algorithm
  • COSMA
  1. 2D matrix computations that do lock-step broadcast communcations, such as SUMMA. This step will be the hardest, as it requires changing alot of code. The problem with the current approach is that it does 1 2D launch, and then each launched sub-task launches a bunch more tasks. It's likely that we will need to convert this into a 3D launch with a projection functor that understands the ordering between tasks (also generated by DISTAL), and then chooses collectives to use for each row/column.
  • PUMMA
  • SUMMA
  • 2.5D MatMul
@rohany
Copy link
Owner Author

rohany commented May 2, 2022

It's possible that for the third case, we can do something with the outer partitioning, rather than adjusting the launch space. We can just move the k loop to the outside, and do launches of index space tasks over the machine that use collectives!

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

No branches or pull requests

1 participant