Skip to content

Conversation

chaserileyroberts
Copy link
Contributor

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 ExecutionStreamIds to determine op stream placement. In the places where AsyncStreamKind were explicitly used (such as in the send/recv ops), we did our best to replicate the behavior with GetStreamIdOverride.

🎯 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

@chaserileyroberts chaserileyroberts changed the title Completely Remove AsyncStreamKind [Refactor] Completely Remove AsyncStreamKind Oct 3, 2025
@chaserileyroberts chaserileyroberts force-pushed the chaser/async_kind_stream_usage branch from eef21b5 to 785ad2f Compare October 3, 2025 16:25
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