-
Notifications
You must be signed in to change notification settings - Fork 44
support high priority stream #1715
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request adds support for high priority streams in the XCCL process group. Key changes include adding a new Options struct with high priority and group name parameters, introducing a new groupRanks() accessor, and updating constructor and logging logic to reflect high priority stream usage.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
src/xccl/ProcessGroupXCCL.hpp | Added a high priority stream option and new Options struct for configuration. |
src/xccl/ProcessGroupXCCL.cpp | Updated constructor initialization, logging, and introduced groupRanks(). |
Comments suppressed due to low confidence (1)
src/xccl/ProcessGroupXCCL.hpp:25
- The constant TORCH_XCCL_HIGH_PRIORITY is defined as a non-const vector. Consider renaming and declaring it as a const container (or using constexpr) to clearly indicate its immutability.
static std::vector<std::string> TORCH_XCCL_HIGH_PRIORITY = {
@@ -290,14 +290,26 @@ const std::string& ProcessGroupXCCL::logPrefix() const { | |||
return logPrefix_; | |||
} | |||
|
|||
const std::vector<uint64_t>& ProcessGroupXCCL::groupRanks() const { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Returning a reference to a static vector that is only populated when options_->global_ranks_in_group is empty and local_id_ == 0 may lead to inconsistent behavior and potential thread-safety issues. Consider moving the default global ranks logic into the Options struct or ensuring proper synchronization.
Copilot uses AI. Check for mistakes.
@sys_pytorchxpubot triage result for run 15864761625Triage bot UT analaysis result for reference only, please note unique error message only report once:
Triage bot response: {
"similar_issue_id": 645,
"similar_issue_state": "closed",
"issue_owner": "daisyden",
"issue_description": "UT got failed with FP64 emulation feature. The reporter is mengfei25, and the assignee is daisyden. The issue is closed.",
"root_causes": [
"Issues related to tensor operations and reductions leading to precision mismatches.",
"Potential differences in computation between CPU and XPU implementations.",
"Possible issues with the CrossEntropyLoss implementation on XPU."
],
"suggested_solutions": [
"Investigate the precision handling in CrossEntropyLoss on XPU.",
"Check for any implementation differences causing scalar mismatches.",
"Consider allowing a small tolerance in scalar comparisons for CPU-GPU parity tests.",
"Review and update test cases to handle potential precision discrepancies."
]
} |
No description provided.