Repository navigation
[Sync] Mirror Slime v0.4.0 training stack and release updates #441
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
Merged
+48,566
−9,056
Merged
Changes from 1 commit
Commits
Show all changes
58 commits
Select commit
Hold shift + click to select a range
30ee415
sync: update from Slime through #2393
aoshen02 b7a0762
fix: complete vLLM sync translations
aoshen02 3f5f82d
sync: complete Slime update through #2394
aoshen02 cd3992f
Sync Slime through score centering
aoshen02 cfcf9c8
fix: rebase vLLM patches onto current nightly
aoshen02 f58399c
fix: remove stale async CI entry and obsolete metrics fallbacks
aoshen02 72bdd14
feat: transport sampling-mask logprobs for score centering
aoshen02 30ce1fe
fix(vllm): enable scale-out endpoint for rollout TITO
aoshen02 3094284
fix(rollout): keep requests during sleep and enable external PD TITO
aoshen02 c1e10a5
fix(ci): enable TITO on external OPD teacher
aoshen02 927a686
test: enable scale-out render endpoint in Geo3K e2e
aoshen02 02825ef
feat: mirror Slime persistent rollout queue and distributed fully async
aoshen02 651b30b
test: exercise straw transport in mirrored GPU suites
aoshen02 2733663
style: match repository formatter for straw sync
aoshen02 a9d013e
ci: install straw in CPU contract container
aoshen02 e95a5b5
sync: mirror Slime #2427 straw checkpoint rollback
aoshen02 389da74
ci: install straw dependency for sync tests
aoshen02 17c155f
test: pin vllm generation config for score centering
aoshen02 29e0517
fix: bind straw coordinator in vllm rollout
aoshen02 1ae8210
docs: record full GPU gate procedure
aoshen02 eaa075d
sync: mirror Slime #2432 Straw queue and replay changes
aoshen02 3f48e09
ci: quote Straw requirement in Buildkite shell steps
aoshen02 34b247c
[Sync] Mirror Slime PipelineRL and reference top-p fix
aoshen02 ad06705
[CI] Add flush interval to weight updater test fixtures
aoshen02 9d5c26a
[CI] Accept versionless terminal abort chunk in PipelineRL probe
aoshen02 cf5b5b5
[Sync] Mirror concurrent rollout and HTTP regression tests
aoshen02 8a50b87
[Sync] Preserve buffered-token weight version on abort
aoshen02 ec87018
[Sync] Avoid zero-KL assertion for top-p actor/ref mismatch
aoshen02 59a55f2
[Sync] Backport AuxOutput reset fix from vLLM #59060
aoshen02 d978296
[Sync] Stamp synthetic abort outputs with committed version
aoshen02 99232ef
[Sync] Preserve coalesced rollout metadata and validate sampler proba…
aoshen02 c5100bd
[Sync] Remove superseded per-file spill and mirror Straw references
aoshen02 9cd95d0
[CI] Inherit the available file descriptor limit for GPU jobs
aoshen02 6421c01
[Sync] Backport terminal token-stream finish reasons
aoshen02 f32a36f
[Test] Cover terminal output with real prompt token metadata
aoshen02 f153226
[Sync] Mirror latest Slime and validate nightly Python/Rust adapters
aoshen02 e66fd6b
[Sync] Mirror Slime external PD delta artifact assertion
aoshen02 a432c7e
fix: repair verified recovery and initial-policy CI contracts
aoshen02 c18ca84
fix: keep initial-model diagnostic optional for direct loss callers
aoshen02 16b6c39
fix: give the PD rollout debug dump a unique per-rollout path
aoshen02 101ced6
[Sync] Mirror Slime v0.4.0 training stack and release updates
aoshen02 5e18ac7
[Sync] Mirror latest Slime documentation and native engine contracts
aoshen02 4649580
[Sync] Restore upstream documentation release checks
aoshen02 661824c
fix(sync): mirror active DeepEP recipes and docs CI contracts
aoshen02 5002909
docs(sync): mirror Slime environment entry and preserve sampler param…
aoshen02 f1e53bc
[Sync] Preserve upstream export explanation and tokenization attribution
aoshen02 255081c
[Sync] Inherit Slime documentation deletions and navigation
aoshen02 b209481
Remove opt-in DeepEP auto switching
aoshen02 0dce34d
[RL] Release native weight-transfer communicators and expose lifecycl…
aoshen02 8777a18
[Sync] Mirror Slime agent and collective updates through 58b08786
aoshen02 6addf11
[Build] Package native ARM Sunabako without changing x86 installation
aoshen02 42b7ef5
Mirror rollout weight-group lifecycle and preserve draft state across…
aoshen02 839f673
sync: align draft retention patch with reviewed native selector
aoshen02 26fcac8
[Sync] Mirror router health-check ownership with native gateway patch
aoshen02 5af0ac0
fix(sync): mirror source documentation and MTP verification budgets
aoshen02 89b96b6
fix(rust): mirror multimodal render-to-generate support
aoshen02 2310074
fix(epd): forward producer transfer metadata and preserve media identity
aoshen02 7e6dfea
fix(epd): mirror encoder deployment with native EC transfer
aoshen02 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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| import ctypes | ||
| from types import SimpleNamespace | ||
|
|
||
| import pytest | ||
|
|
||
| from vime.utils import memory_utils | ||
|
|
||
| NUM_GPUS = 0 | ||
|
|
||
|
|
||
| @pytest.mark.unit | ||
| @pytest.mark.parametrize("cuda,hip,initialized", [("12.0", "6.0", True), ("12.0", None, False), (None, None, True)]) | ||
| def test_stack_reset_does_not_initialize_unsupported_cuda(monkeypatch, cuda, hip, initialized): | ||
| monkeypatch.setattr(memory_utils.torch.version, "cuda", cuda) | ||
| monkeypatch.setattr(memory_utils.torch.version, "hip", hip) | ||
| monkeypatch.setattr(memory_utils.torch.cuda, "is_initialized", lambda: initialized) | ||
| monkeypatch.setattr(memory_utils, "_cuda_stack_api", lambda: pytest.fail("must not load CUDA")) | ||
|
|
||
| memory_utils.reset_cuda_stack_size() | ||
|
|
||
|
|
||
| @pytest.mark.unit | ||
| def test_stack_reset_restores_cuda_default(monkeypatch): | ||
| calls = [] | ||
|
|
||
| class Driver: | ||
| def cuCtxGetLimit(self, output, limit): | ||
| ctypes.cast(output, ctypes.POINTER(ctypes.c_size_t)).contents.value = 32768 | ||
| calls.append(("get", limit)) | ||
| return 0 | ||
|
|
||
| def cuCtxSetLimit(self, limit, value): | ||
| calls.append(("set", limit, value)) | ||
| return 0 | ||
|
|
||
| monkeypatch.setattr(memory_utils.torch, "version", SimpleNamespace(cuda="12.0", hip=None)) | ||
| monkeypatch.setattr(memory_utils.torch.cuda, "is_initialized", lambda: True) | ||
| monkeypatch.setattr(memory_utils.torch.cuda, "synchronize", lambda: calls.append(("sync",))) | ||
| monkeypatch.setattr(memory_utils, "_cuda_stack_api", lambda: Driver()) | ||
|
|
||
| memory_utils.reset_cuda_stack_size() | ||
|
|
||
| assert calls == [("sync",), ("get", 0), ("set", 0, 1024)] | ||
|
|
||
|
|
||
| if __name__ == "__main__": | ||
| raise SystemExit(pytest.main([__file__])) | ||
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.
Using
monkeypatch.setattrto setcudaandhipdirectly onmemory_utils.torch.versionwill raise anAttributeErroron standard PyTorch installations because thehipattribute does not exist on thetorch.versionmodule. To fix this, mock the entireversionattribute as aSimpleNamespacecontaining bothcudaandhipattributes, which is consistent with the other test in this file.