-
-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Studio: install torch 2.11 on all modern CUDA (cu126/cu128/cu130) #6982
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
Open
ThomasEricB
wants to merge
15
commits into
unslothai:main
Choose a base branch
from
ThomasEricB:torch11
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
e3f5c3a
Add flash-attn torch 2.12 readiness canary for PR #6982
danielhanchen d4e2d4e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] a15420b
Studio: fixes for dispatcher race, fail-open scan, canary gate
ThomasEricB 8abcc3c
Make MLX worker _skip_internal_final_save a no-op for PR #6982
danielhanchen 93efac6
fix: recheck _exclusive_op_pending in the mailbox gate
ThomasEricB dadebb8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 992ca3b
Merge main into torch11
oobabooga 65999cd
Abort the distributed share when the dispatcher drain fails
oobabooga 0226eda
Make the distributed-share admission refusal public
oobabooga 3a450a4
Name the share in the compare mailbox-recheck refusal
oobabooga 337ff4b
Merge main into torch11
ThomasEricB ba2cc23
Cover the embedding-model scan fail-open path
oobabooga df36b16
Trim the dispatcher-reservation comments
oobabooga bb6f849
Merge main into torch11
oobabooga 738e431
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
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.
When two callers enter
share_distributed_object()concurrently, both set this Boolean, but the first caller to finish clears it while the second may still be waiting for or using_gen_lock. A compare request can then start the dispatcher during the second share, consume and drop its unregisteredsharedresponse, and leave that caller waiting until its timeout—or indefinitely when the CLI passestimeout=None. Serialize ownership of this reservation or use a counter so one caller cannot clear another's active reservation.Useful? React with 👍 / 👎.
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.
Not taking this one. Two concurrent
share_distributed_object()calls are not reachable: the only caller is the CLI's MLX-distributed chat loop (unsloth_cli/commands/chat.py:385viaunsloth_cli/_inference.py:426), which shares one turn per iteration on a single thread, and no Studio route or backend path calls it. Nothing in the tree can produce a second overlapping share to clear the first one's flag.The boolean is also the house shape for these reservations --
_exclusive_tts_pending(orchestrator.py:2535/2698) is the same non-counting flag on a path that genuinely can overlap. Turning only_exclusive_op_pendinginto a counter would make the two gates inconsistent for no reachable gain.