Skip to content

feat(trtllm): add OpenEngine sidecar#11610

Draft
connorcarpenter15 wants to merge 4 commits into
ai-dynamo:mainfrom
connorcarpenter15:feat/trtllm-openengine-sidecar
Draft

feat(trtllm): add OpenEngine sidecar#11610
connorcarpenter15 wants to merge 4 commits into
ai-dynamo:mainfrom
connorcarpenter15:feat/trtllm-openengine-sidecar

Conversation

@connorcarpenter15

Copy link
Copy Markdown
Member

Summary

  • add the engine-neutral Rust dynamo-openengine-sidecar worker, configured by an OpenEngine endpoint and capability discovery rather than TRT-LLM-specific control flow
  • map Dynamo preprocessed requests to OpenEngine generation and prefill/decode streams, including sampling, stopping, logprobs, priority, cache controls, ordered media, media options, and LoRA selection
  • forward cancellation, drain, health, load, and KV event sources through the existing backend-common worker framework
  • reuse backend-common's LoRA controller for adapter downloads, deterministic IDs, model cards, and control endpoints
  • add aggregate, 1P1D, multimodal, audio, and LoRA launch examples and DGD manifests
  • preserve media modality placeholders and adapter/media semantics through frontend preprocessing

Why

This adds a process-isolated TRT-LLM deployment path without replacing Dynamo's existing in-process TRT-LLM backend. The sidecar remains engine-neutral and communicates with the GPU engine exclusively through OpenEngine gRPC.

Dependencies

Validation

  • Rust formatting and Clippy with warnings denied
  • focused LLM preprocessor, backend-common, and fake OpenEngine sidecar tests passed
  • OpenEngine descriptor, generated-code, Python/Rust fixture, and package checks passed in the dependent contract repository
  • TRT-LLM fake-servicer and protocol compatibility suite: 64 passed
  • computelab frontend smoke matrix passed:
    • Qwen3-0.6B aggregate text and LoRA lifecycle on 1 H100
    • Qwen3-0.6B context-first 1P1D text and LoRA on both roles on 2 NVLink H100s
    • Qwen3-VL-2B-Instruct image/video aggregate and 1P1D on 1 then 2 H100s
    • Phi-4-multimodal-instruct aggregate audio on 1 H100

Each GPU smoke verified nonempty output, terminal usage, zero post-request load, and graceful shutdown; disaggregated cases also verified the actual prefill/decode handoff.

Compatibility

The existing in-process TRT-LLM backend remains available. OpenEngine deployments are opt-in through the new sidecar binary and launch examples.

Signed-off-by: Connor Carpenter <connorc@nvidia.com>
Signed-off-by: Connor Carpenter <connorc@nvidia.com>
Signed-off-by: Connor Carpenter <connorc@nvidia.com>
Signed-off-by: Connor Carpenter <connorc@nvidia.com>
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot added external-contribution Pull request is from an external contributor documentation Improvements or additions to documentation backend::trtllm Relates to the trtllm backend frontend `python -m dynamo.frontend` and `dynamo-run in=http|text|grpc` labels Jul 13, 2026
@datadog-official

datadog-official Bot commented Jul 13, 2026

Copy link
Copy Markdown

Pipelines

⚠️ Warnings

🚦 8 Pipeline jobs failed

PR | backend-status-check   View in Datadog   GitHub Actions

PR | dynamo-runtime / rust-gpu   View in Datadog   GitHub Actions

PR | dynamo-status-check   View in Datadog   GitHub Actions

View all 8 failed jobs.

ℹ️ Info

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 43.16% (-2.28%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: ac8502c | Docs | Give us feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend::trtllm Relates to the trtllm backend documentation Improvements or additions to documentation external-contribution Pull request is from an external contributor feat frontend `python -m dynamo.frontend` and `dynamo-run in=http|text|grpc` size/XXL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant