[GLM 5.3 Tests] B300 profile and profiled Tinker client - #2181
Conversation
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
| @@ -0,0 +1,13 @@ | |||
| { | |||
There was a problem hiding this comment.
note - for 256k 2node, try PP2, and trade off TP for CP (TP 4 CP 2, instead of TP 8 CP 1)
(point agent at skyrl repo .claude/skills/parallelism-strategies/SKILL.md pp picker - could be useful, might be pre-training centric rn though)
There was a problem hiding this comment.
Reviewed the parallelism skill. The two-node disaggregated profile has 8 trainer GPUs and already uses TP4/CP2/PP1. TP4/CP2/PP2 would require 16 trainer GPUs (three total nodes including inference), so a two-node PP2 candidate must change another axis, e.g. TP2/CP2/PP2 or TP4/CP1/PP2, and recheck expert layout. Leaving this experimental suggestion open rather than silently changing the benchmark target; no new 256K qualification is claimed.
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
…profile Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
There was a problem hiding this comment.
Code Review
This pull request introduces full-context profiling capabilities for GLM models through SkyRL's Tinker API, adding configuration profiles, server and client scripts, and comprehensive tests. It also implements a decorator to flush active torch profiler traces upon encountering a CUDA OutOfMemoryError. The review feedback suggests two important robustness improvements: safely accessing the profiler attribute using getattr in the OOM decorator to avoid masking the original error with an AttributeError, and adding a sleep delay in the client's model unloading loop when handling 408 status codes to prevent a tight busy-polling loop.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Reviewed by Cursor Bugbot for commit fb3a4ec. Configure here.
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Native defaults and token fixtures are unchanged. Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>
Signed-off-by: Hersh Godse <hersh@trajectory.ai>

Changes
Testing
41 passed; Ruff, Black and secret checks pass.
930706b3: all 13 SDK operations are structurally equivalent after parameter renaming/types and equivalent context-manager flattening. Runtime and model-config diffs against9fe0b11dare empty. Existing runs remain pinned; their receipts are not relabeled as this commit.9fe0b11d: Qwen3-8B completed warmup + two measured updates, checkpoint and unload. Six inference traces contain CUDA/memory events; optimizer dispatch is distinct from trace processing. Actual vLLM application-construction regression: old code fails, fixed code passes 24 tests.97e14ca4. New fully instrumented GLM runs are still in progress. Real allocator-OOM trace export/recovery was tested separately onfb3a4ecf.This benchmark proves mechanics/timing, not learning or numerical parity. Short samples do not qualify full-context inference; the 256K profiles remain candidates. Raw optimizer API duration still includes trace processing—use its separate metrics when interpreting performance.