Skip to content

feat(inference): add Dynamo admin plane - #3475

Closed
samsja wants to merge 8 commits into
mainfrom
feat/dynamo-admin-plane
Closed

samsja wants to merge 8 commits into
mainfrom
feat/dynamo-admin-plane

Conversation

@samsja

@samsja samsja commented Sep 2, 2026

Copy link
Copy Markdown
Member

Summary

  • add DynamoAdminPlane as a specialization of the static AdminPlane introduced by chore(inference): introduce admin plane abstraction #3472
  • discover Dynamo workers and pin a stable topology before constructing worker admin connections
  • encapsulate Dynamo rank-offset calculation, topology validation, collective-RPC payloads, retries, and failure behavior in the client
  • override the unified weight-update operation only for NCCL; filesystem and NIXL delegate to the default admin-plane route
  • select the Dynamo plane through a factory that is introduced only when the second implementation exists

This is a stacked follow-up to #3472 and incorporates the Dynamo behavior from #3469. InferenceClient remains responsible for data-plane requests; generic weight receivers call one typed AdminPlane.update_weights operation and contain no Dynamo flags or worker metadata.

Validation

  • uv run ruff check packages/prime-rl-configs/src/prime_rl/configs/rl.py packages/prime-rl-configs/src/prime_rl/configs/shared.py src/prime_rl/evals/evals.py src/prime_rl/inference/dynamo.py src/prime_rl/orchestrator/clients.py src/prime_rl/orchestrator/orchestrator.py tests/unit/inference/test_dynamo.py tests/unit/test_configs.py
  • uv run python -m compileall -q src/prime_rl/inference/dynamo.py src/prime_rl/orchestrator/clients.py src/prime_rl/orchestrator/orchestrator.py src/prime_rl/evals/evals.py
  • focused Dynamo, admin-plane, and configuration tests (35 passed)

The complete tests/unit/test_configs.py suite additionally requires taskset plugins that are not installed in this worktree (scaleswe, reverse-text, and others).

@samsja
samsja force-pushed the feat/dynamo-admin-plane branch from a8b4377 to 3b2dd8a Compare September 3, 2026 00:07
@samsja
samsja force-pushed the feat/dynamo-admin-plane branch from 3b2dd8a to c6988fc Compare September 3, 2026 03:17
@samsja samsja changed the title feat(inference): add Dynamo admin plane feat(inference): add Dynamo admin client Sep 3, 2026
Comment thread src/prime_rl/orchestrator/clients.py Outdated
Comment on lines +192 to +197
def setup_admin_client(client_config: ClientConfig, model_name: str) -> AdminClient:
if client_config.dynamo is not None:
from prime_rl.inference.dynamo import DynamoAdminClient

return DynamoAdminClient(client_config, model_name)
return AdminClient(client_config)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we do if else here I dont like like this

@samsja
samsja force-pushed the feat/dynamo-admin-plane branch from c6988fc to 874b3ae Compare September 3, 2026 03:28
@samsja samsja changed the title feat(inference): add Dynamo admin client feat(inference): add Dynamo admin plane Sep 3, 2026
@samsja
samsja force-pushed the feat/dynamo-admin-plane branch from 874b3ae to 6cb46cf Compare September 3, 2026 20:39
Base automatically changed from chore/admin-plane-abstraction to main September 3, 2026 23:36
@samsja samsja closed this Sep 12, 2026
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