Skip to content

[runtime, deps] fix: initialize rollout state with the current VeOmni API - #51

Merged
Luosuu merged 1 commit into
verl-project:mainfrom
Luosuu:codex/fix-veomni-worker-init
Oct 2, 2026
Merged

Luosuu merged 1 commit into
verl-project:mainfrom
Luosuu:codex/fix-veomni-worker-init

Conversation

@Luosuu

@Luosuu Luosuu commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

Standalone PP rollout workers fail at startup because VeOmni no longer exports init_parallel_state. Initialize their non-EP state through the current public AcceleratorConfig / init_parallel_state_from_config API. Use the initialized rollout process group's size even when the child inherits a different WORLD_SIZE from its trainer.

Design & Code Changes

  • Centralize rollout initialization in vexact.utils.veomni_parallel_state; use only the current API, with no legacy fallback or verl plugin dependency.
  • Normalize the config's derived world/DP/shard sizes to the actual process group, retaining non-EP defaults and leaving the environment unchanged. Use an unnamed topology, matching verl's current engine initialization.
  • Update VeOmni to aa8bb43 and verl to current upstream main 8718ca30. The previously pinned verl engine also invoked the removed initializer. Align Transformers to 5.16.1 and TransferQueue to 0.1.10, then refresh the lock.
  • Document the required API and add regression coverage to the existing tests/ collection used by GPU CI.
  • Accept and forward the current verl checkpoint manager's reject_request keyword. Preserve existing abort behavior for False; True raises a clear NotImplementedError because VeXact does not implement admission rejection.

Test

  • Four focused tests passed, including a real four-process Gloo spawn using the pinned VeOmni source, with inherited WORLD_SIZE=16 and actual group size 4. Each rank builds a CPU device mesh with DP size 4, EP disabled, unchanged environment, no verl import, and repeated initialization reusing the same state.
  • Six async-server regression tests passed against the new verl source, including checkpoint-manager keyword forwarding and explicit rejection of unsupported admission blocking.
  • All changed-file pre-commit hooks passed. All-repository Ruff and non-Markdown hooks passed. Full pre-commit detects existing Markdown formatting changes in examples/README.md and .github/PULL_REQUEST_TEMPLATE.md; unrelated auto-edits were restored.
  • uv lock --check and the frozen GPU/dev/VeOmni/vLLM/verl dependency export passed.
  • Full GPU generation and end-to-end RL training have not been run locally; the existing GPU CI suite is needed to validate the dependency migration and rollout on hardware.

Checklist Before Submitting

  • Read CONTRIBUTING.md and searched existing open PRs; no matching initializer repair was found.
  • Updated documentation and added tests to the existing CI test collection.
  • Applied pre-commit checks as detailed above.

@Luosuu
Luosuu merged commit 6c17020 into verl-project:main Oct 2, 2026
5 checks passed
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.

1 participant