[Refactor] Completely Remove AsyncStreamKind #32217
Draft
+242
−249
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Coauthored with @terryysun
📝 Summary of Changes
In this PR, we completely remove the AsyncStreamKind type and all of its uses. Instead, we rely only on using
ExecutionStreamId
s to determine op stream placement. In the places whereAsyncStreamKind
were explicitly used (such as in the send/recv ops), we did our best to replicate the behavior withGetStreamIdOverride
.🎯 Justification
This is a continuation of the multi stream collective work.
Relevant design docs
https://docs.google.com/document/d/1i1IzE-ycaWmWYN_0B-lxDwk2WO4CRs9huxVz0YAGgMU/edit?usp=sharing
https://docs.google.com/document/d/1Nxwr9j92yHx--ryBqFkQk2lW-Jx6_2ejjVD7XponOvI/edit?usp=sharing
🚀 Kind of Contribution: ♻️ Cleanup
📊 Benchmark (for Performance Improvements)
This is a Non Functional Change, so no benchmarks are expected to be impacted. In our next follow up PR, we will enable overlapped collective scheduling, which will include performance metrics. This was broken out to reduce the size of this PR.
🧪 Unit Tests:
We removed dead tests in
gpu_clique_key_test.cc
🧪 Execution Tests:
We added new e2e execution tests in
collective_ops_e2e_test.cc