Repository navigation
Conversation
Signed-off-by: krishung5 <krish@nvidia.com>
Signed-off-by: krishung5 <krish@nvidia.com>
krishung5
requested review from
alec-flowers,
dagil-nvidia,
nv-anants,
nvda-mesharma and
saturley-hall
as code owners
November 4, 2026 16:58
This was referenced Nov 4, 2026
Signed-off-by: Kris Hung <krish@nvidia.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Add encoder-only execution and engine-owned encoder-output handoffs to OpenEngine. A client receives an opaque reference from an encoder and forwards it to a compatible generation engine; tensor contents stay outside the inference RPC payload.
EncoderOptions,EncoderReady, andEncoderCacheRefmessages.ModelInfo.encoder.Control.TransferEncoderCache; success means transfer completed, and an uncertain single-use handoff must not be replayed.Why
Refs #17.
This is a smaller first step toward the encoder-disaggregation use case in #17. It reuses
Generateand keeps backend-specific artifact layouts opaque rather than introducing the separate media service and portable tensor descriptors proposed there. That design choice is open for review; this PR does not complete the broader issue or add a newEngineRoleenum value.The reference implementation covers image E+PD and E+P+D at TP/PP/CP=1. E+P+D consumes the encoder reference at P, then uses the existing native KV-session handoff for D; it needs no additional encoder-protocol fields. Video/audio encoder handoff, reusable encoder caches, explicit artifact-release APIs, and portable tensor descriptors remain outside this change.
Validation
buf buildbuf lintmainThe additions retain existing field numbers and RPCs. Matching TRT-LLM and Dynamo implementations have CPU regression coverage and prior cross-host native gRPC and Dynamo HTTP validation for image E+PD and E+P+D. The dependent PRs record their exact validation scope and runtime prerequisites.
Protocol checklist
Additional context
Dependent implementations: TRT-LLM transport, TRT-LLM serving, and Dynamo integration. They pin this proposal's immutable source revision. This PR can be reviewed independently of the known CUDA IPC shutdown cleanup issue in the TRT-LLM reference implementation.