Skip to content

[None][feat] Add BaseResourceManager-based KV-cache compression manager framework - #15106

Merged
Hudayday merged 20 commits into
NVIDIA:mainfrom
Hudayday:kvcache-compression-framework
Jun 25, 2026
Merged

[None][feat] Add BaseResourceManager-based KV-cache compression manager framework#15106
Hudayday merged 20 commits into
NVIDIA:mainfrom
Hudayday:kvcache-compression-framework

Conversation

@Hudayday

@Hudayday Hudayday commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds a standalone KV-cache compression framework: a BaseResourceManager
base class that lets a KV-reduction algorithm (e.g. periodic token eviction /
KV compaction) run alongside the normal KV cache manager, driven entirely by
PyExecutor's existing resource-manager loop. No PyExecutor changes, no
attention-backend changes
; fully dormant unless a compression config is set.

Framework only — no concrete algorithm ships in this PR.

Design

KV-cache compression changes which KV is stored, not the attention
computation — so it is a resource manager, kept entirely separate from
SparseAttentionConfig and the attention backend.

  • BaseKVCacheCompressionManager(BaseResourceManager) (in resource_manager.py)
    — four KV-cache lifecycle hooks, all default no-op:

    • on_request_init — per-request setup (e.g. allocate scoring buffers)
    • on_context_step_end — end of prefill (one-shot prefill-end eviction)
    • on_generation_step_end — each decode step (periodic / budget eviction)
    • on_request_finish — release per-request state

    Because it is a BaseResourceManager, PyExecutor's main loop already drives
    it: prepare_resources / update_resources / free_resources translate into
    the four hooks, gated on the same signals the peer resource managers use
    (is_first_context_chunk, context_requests_last_chunk) — no manager-side
    request bookkeeping. It holds a KVCacheManagerV2 as a tool and never inherits
    from it (the cache manager owns the physical KV). __init__ refuses KV-cache
    block reuse (a method that rewrites stored K/V can't share prefix blocks — the
    same guard RocketKVCacheManager makes); get_max/needed_resource_to_completion
    return 0 (it owns no physical resource, so it never gates the scheduler).

  • create_kv_cache_compression_manager(config, kv_cache_manager) — factory
    dispatched from LLM init; framework-only, so it warns + returns None for any
    algorithm (concrete methods add a dispatch branch in a follow-up PR).

  • KvCacheCompressionConfig — a top-level LlmArgs field, separate from
    SparseAttentionConfig.

Wiring

create_py_executor (_util.py) builds the manager from
kv_cache_compression_config when set and registers it in the resource-manager
registry (ResourceManagerType.KV_CACHE_COMPRESSION_MANAGER) the same way the
KV cache manager is registered; it runs after the cache manager so it reconciles
once the cache is resized.

Scope

  • Framework only — no concrete algorithm ships in this PR.
  • Touches no attention-backend or sparse-attention code: a compression
    method drives standard attention over the (physically compacted) KV; it is not
    sparse attention.
  • Fully dormant when no compression config is set — zero behavior change for
    existing inference.

Changes per file

File Change
_torch/pyexecutor/resource_manager.py BaseKVCacheCompressionManager(BaseResourceManager) (4 lifecycle hooks + RM-API→hook translation + zero resource counts + block-reuse guard) + create_kv_cache_compression_manager factory + ResourceManagerType.KV_CACHE_COMPRESSION_MANAGER.
_torch/pyexecutor/_util.py Build + register the compression manager from kv_cache_compression_config, before warmup.
llmapi/llm_args.py KvCacheCompressionConfig + LlmArgs.kv_cache_compression_config.
tests/unittest/_torch/pyexecutor/test_kv_cache_compression_manager.py Unit tests (below).

Test Coverage

tests/unittest/_torch/pyexecutor/test_kv_cache_compression_manager.py:

  • BaseResourceManager inheritance; four hooks default no-op + accept extra
    kwargs; zero resource counts.
  • RM-API → hook translation: prepare_resources fires on_request_init on the
    first prefill chunk only; update_resources fires on_context_step_end for
    context_requests_last_chunk + exactly one on_generation_step_end per
    iteration; free_resources fires on_request_finish.
  • Factory returns None + warns for an unregistered algorithm.
  • Block-reuse guard raises; canonical names live in resource_manager, not in
    the sparse module.

PR Checklist

  • New functionality is covered by unit tests.
  • No change to existing inference paths when no compression method is configured.

@Hudayday
Hudayday requested review from a team as code owners June 8, 2026 13:45
…nager-based)

Adds a standalone L2 KV-cache compression framework, decoupled from any
concrete algorithm:

- BaseKVCacheCompressionManager(BaseResourceManager) with 8 semantic
  lifecycle hooks (on_request_init; on_context_attention[_end];
  on_context_end; on_generation_attention[_end]; on_generation_step_end;
  on_request_finish), auto-driven by PyExecutor's prepare/update/
  free_resources -- no PyExecutor changes needed.
- SparseAttentionManager / KVCacheStorageManager axis subclasses.
- A single compression manager is registered in the resource-manager
  registry; the per-layer attention hooks fire from TrtllmAttention.forward
  via metadata.compression_manager.
- Factory: create_compression_manager / create_sparse_attention_manager.
- Unit tests (test_compression_manager.py).

Framework only: no concrete behavior-layer algorithm ships here, and
multi-method stacking (composing several axes) is intentionally future work.
Legacy rocket/dsa/skip_softmax paths are untouched.

Signed-off-by: Hu Tianrui <tianruih@nvidia.com>
@Hudayday
Hudayday force-pushed the kvcache-compression-framework branch from 0c9ebc8 to 3d7a89e Compare June 8, 2026 13:50
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR introduces a behavior-layer KV-cache compression manager framework for sparse attention. It defines lifecycle hooks for request initialization, per-layer attention (context/generation), phase boundaries, and completion, integrates these hooks into the attention backend and PyExecutor resource management, and provides factory dispatch routing based on a new is_behavior_layer_method configuration flag to avoid legacy sparse KV-cache manager conflicts.

Changes

KV-Cache Compression Manager Framework

Layer / File(s) Summary
Compression manager framework foundation
tensorrt_llm/_torch/attention_backend/sparse/kv_cache_compression_manager.py
Introduces BaseKVCacheCompressionManager base class extending BaseResourceManager with 8 lifecycle hooks (on_request_init, on_context_attention, on_context_attention_end, on_context_end, on_generation_attention, on_generation_attention_end, on_generation_step_end, on_request_finish), convenience subclasses SparseAttentionManager and KVCacheStorageManager, type alias SparseAttentionIndices, and implements() introspection helper.
Configuration and dispatch routing
tensorrt_llm/llmapi/llm_args.py, tensorrt_llm/_torch/attention_backend/utils.py, tensorrt_llm/_torch/pyexecutor/_util.py
Adds BaseSparseAttentionConfig.is_behavior_layer_method property to classify sparse methods as behavior-layer vs memory-layer, and implements routing logic in get_attention_backend and get_kv_cache_manager_cls to skip legacy sparse dispatch for behavior-layer configurations.
Factory methods and legacy path updates
tensorrt_llm/_torch/attention_backend/sparse/utils.py
Introduces create_sparse_attention_manager and create_compression_manager factory functions, adds defensive behavior-layer check in get_sparse_attn_kv_cache_manager, and updates backend dispatch comments to clarify behavior-layer methods do not reach legacy trtllm/flashinfer paths.
Attention metadata and backend integration
tensorrt_llm/_torch/attention_backend/interface.py, tensorrt_llm/_torch/attention_backend/trtllm.py
Extends AttentionMetadata with compression_manager field and routes sparse KV/attention index prediction through compression manager hooks in TrtllmAttention.forward(), with pre-attention on_context_attention/on_generation_attention calls for index prediction and post-attention callbacks for layer output processing.
Model engine and executor integration
tensorrt_llm/_torch/pyexecutor/model_engine.py, tensorrt_llm/_torch/pyexecutor/_util.py, tensorrt_llm/_torch/pyexecutor/resource_manager.py
Adds compression_manager field to PyTorchModelEngine, threads it through attention metadata construction, adds KV_CACHE_COMPRESSION_MANAGER resource type, creates and registers compression manager before PyExecutor instantiation, and fixes KVCacheManagerV2 pool-scaling estimation via issubclass check to support V2 subclasses.
Module exports and public API
tensorrt_llm/_torch/attention_backend/sparse/__init__.py
Updates package-level re-exports to include BaseKVCacheCompressionManager, SparseAttentionManager, KVCacheStorageManager, and factory functions create_sparse_attention_manager and create_compression_manager with expanded __all__.
Comprehensive test suite
tests/unittest/_torch/attention/sparse/test_compression_manager.py
Validates BaseKVCacheCompressionManager ABC defaults, subclass relationships, semantic translation from resource-manager API calls to lifecycle hooks, factory behavior with unsupported/legacy configs, and canonical module exports/availability.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

KV-Cache Management, api-compatible

Suggested reviewers

  • schetlur-nv
  • byshiue
  • jieli-matrix
  • Superjomn
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 40.82% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and accurately summarizes the main change: adding a BaseResourceManager-based KV-cache compression manager framework.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description thoroughly explains the KV-cache compression framework, design decisions, file-by-file changes, test coverage, and includes a comprehensive architecture diagram.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Nitpick comments (1)
tests/unittest/_torch/attention/sparse/test_compression_manager.py (1)

89-226: Coverage assessment: unit scope here is sufficient; integration can be follow-up.

For tests/unittest/_torch/attention/sparse/test_compression_manager.py, coverage is sufficient for the unit contracts (ABC defaults, RM hook translation, factory None behavior, and canonical exports). If you want to extend coverage later, do it as follow-up integration tests around tensorrt_llm/_torch/attention_backend/trtllm.py and tensorrt_llm/_torch/pyexecutor/model_engine.py wiring paths.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/unittest/_torch/attention/sparse/test_compression_manager.py` around
lines 89 - 226, The review says unit coverage in
tests/unittest/_torch/attention/sparse/test_compression_manager.py is sufficient
and no code changes are required; leave the test file as-is (classes
TestBaseABC, TestSubclasses, TestResourceManagerAPI, TestFactories,
TestCanonicalImports and factory functions like
create_compression_manager/create_sparse_attention_manager need no
modifications) and defer any additional coverage to follow-up integration tests
around tensorrt_llm/_torch/attention_backend/trtllm.py and
tensorrt_llm/_torch/pyexecutor/model_engine.py.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tensorrt_llm/_torch/attention_backend/sparse/__init__.py`:
- Around line 1-6: Update the module docstring to accurately describe the
current public API: state that concrete manager subclasses are re-exported at
package level (list the re-exported subclass names) and that factory dispatchers
create_sparse_attention_manager and create_compression_manager still exist and
use the Pydantic discriminator SparseAttentionConfig to select implementations;
keep guidance that users should prefer the factory dispatchers for production
code while acknowledging the convenience of direct imports of the re-exported
subclasses.

In `@tensorrt_llm/_torch/attention_backend/sparse/utils.py`:
- Around line 86-89: The behavior-layer configs are being allowed to run on
backends that don't implement the compression hooks (so TrtllmAttention.forward
invokes on_*_attention* but vanilla/flashinfer never see them), causing silent
degradation; update the per-method dispatch in utils.py to detect when a
behavior-layer config is being used with a non-TRTLLM backend (use the existing
backend identity check — e.g., inspect the backend returned by
get_attention_backend or type/name of the backend) and immediately raise a clear
RuntimeError indicating that behavior-layer attention requires the TRTLLM
backend; apply the same fail-fast check to the other affected block(s) around
the 100-118 region so behavior-layer configs cannot be routed to
vanilla/flashinfer until those backends implement the on_*_attention* hooks
(reference TrtllmAttention.forward and the on_*_attention* hook names).

In `@tensorrt_llm/_torch/attention_backend/trtllm.py`:
- Around line 1738-1757: Compression hooks are being called with k=None
(fused-QKV path) and both on_context_attention and on_generation_attention are
invoked every forward; change the logic so you only call compression_manager
hooks when k is non-None and when the hook matches the current phase (call
on_context_attention only during context phase and on_generation_attention only
during generation phase using the phase indicator on metadata, e.g.,
metadata.is_generation or metadata.phase), and for fused-QKV where k is None
skip compression_manager and fall back to the existing sparse_kv_predict /
sparse_attn_predict paths (functions: metadata.compression_manager,
on_context_attention, on_generation_attention, sparse_kv_predict,
sparse_attn_predict, get_local_layer_idx) to avoid passing None into the hook
API and to prevent double/incorrect state updates.

In `@tensorrt_llm/_torch/attention_backend/utils.py`:
- Around line 22-31: The code currently sets sparse_attn_config = None when
sparse_attn_config.is_behavior_layer_method, silently disabling behavior-layer
configs; instead, detect the backend and raise an explicit error when a
behavior-layer sparse config is used on a non-TRTLLM backend. Update the branch
that checks sparse_attn_config.is_behavior_layer_method to: if the active
backend (check the variable representing the backend or a helper like
is_trtllm_backend) is TRTLLM allow the config to proceed (or keep existing
behavior), otherwise raise a ValueError (or other appropriate exception)
indicating that behavior-layer sparse_attn_config is invalid on non-TRTLLM
backends; reference sparse_attn_config and its is_behavior_layer_method
attribute to locate the logic to change.

In `@tensorrt_llm/_torch/pyexecutor/_util.py`:
- Around line 1670-1691: The new KV cache compression manager must not run after
the KV cache manager; update the registration so
ResourceManagerType.KV_CACHE_MANAGER remains the last entry. After creating
compression_manager (in the block that uses create_compression_manager,
ResourceManagerType.KV_CACHE_COMPRESSION_MANAGER, kv_cache_manager,
model_engine.compression_manager), insert the compression manager into
resource_manager.resource_managers and then, if
ResourceManagerType.KV_CACHE_MANAGER is present, pop and reinsert that existing
KV_CACHE_MANAGER entry so it becomes the final item (preserving the documented
prepare/update/free_resources ordering).

In `@tests/unittest/_torch/attention/sparse/test_compression_manager.py`:
- Line 1: Add the required NVIDIA copyright/license header at the very top of
the file so it appears before the existing module docstring in
test_compression_manager.py; ensure the header matches the repo's standard
template and includes the current modification year, then keep the existing
docstring and tests unchanged below it.

---

Nitpick comments:
In `@tests/unittest/_torch/attention/sparse/test_compression_manager.py`:
- Around line 89-226: The review says unit coverage in
tests/unittest/_torch/attention/sparse/test_compression_manager.py is sufficient
and no code changes are required; leave the test file as-is (classes
TestBaseABC, TestSubclasses, TestResourceManagerAPI, TestFactories,
TestCanonicalImports and factory functions like
create_compression_manager/create_sparse_attention_manager need no
modifications) and defer any additional coverage to follow-up integration tests
around tensorrt_llm/_torch/attention_backend/trtllm.py and
tensorrt_llm/_torch/pyexecutor/model_engine.py.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: c2478dfa-b3e1-4eda-b235-45fae8142df5

📥 Commits

Reviewing files that changed from the base of the PR and between 2bf4d3d and 0c9ebc8.

📒 Files selected for processing (11)
  • tensorrt_llm/_torch/attention_backend/interface.py
  • tensorrt_llm/_torch/attention_backend/sparse/__init__.py
  • tensorrt_llm/_torch/attention_backend/sparse/kv_cache_compression_manager.py
  • tensorrt_llm/_torch/attention_backend/sparse/utils.py
  • tensorrt_llm/_torch/attention_backend/trtllm.py
  • tensorrt_llm/_torch/attention_backend/utils.py
  • tensorrt_llm/_torch/pyexecutor/_util.py
  • tensorrt_llm/_torch/pyexecutor/model_engine.py
  • tensorrt_llm/_torch/pyexecutor/resource_manager.py
  • tensorrt_llm/llmapi/llm_args.py
  • tests/unittest/_torch/attention/sparse/test_compression_manager.py

Comment thread tensorrt_llm/_torch/attention_backend/sparse/__init__.py Outdated
Comment thread tensorrt_llm/_torch/attention_backend/sparse/utils.py Outdated
Comment thread tensorrt_llm/_torch/attention_backend/trtllm.py Outdated
Comment thread tensorrt_llm/_torch/attention_backend/utils.py Outdated
Comment thread tensorrt_llm/_torch/pyexecutor/_util.py Outdated
@Hudayday
Hudayday requested review from bobboli, heyuhhh and lfr-0531 June 8, 2026 14:29
@Hudayday

Hudayday commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52796 [ run ] triggered by Bot. Commit: 3d7a89e Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52796 [ run ] completed with state FAILURE. Commit: 3d7a89e

Link to invocation

@Hudayday

Hudayday commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52798 [ run ] triggered by Bot. Commit: 3d7a89e Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52798 [ run ] completed with state SUCCESS. Commit: 3d7a89e
/LLM/main/L0_MergeRequest_PR pipeline #42051 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@Hudayday

Hudayday commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52903 [ run ] triggered by Bot. Commit: 3d7a89e Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52903 [ run ] completed with state SUCCESS. Commit: 3d7a89e
/LLM/main/L0_MergeRequest_PR pipeline #42149 completed with status: 'SUCCESS'

CI Report

Link to invocation

@Hudayday
Hudayday force-pushed the kvcache-compression-framework branch from d0dcc81 to 3d7a89e Compare June 10, 2026 01:44
Comment thread tensorrt_llm/_torch/attention_backend/sparse/__init__.py Outdated
Comment thread tensorrt_llm/_torch/attention_backend/sparse/kv_cache_compression_manager.py Outdated
Comment thread tensorrt_llm/_torch/attention_backend/sparse/kv_cache_compression_manager.py Outdated
Comment thread tensorrt_llm/_torch/attention_backend/sparse/kv_cache_compression_manager.py Outdated
Comment thread tensorrt_llm/_torch/attention_backend/sparse/kv_cache_compression_manager.py Outdated
@Hudayday

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54561 [ run ] triggered by Bot. Commit: 11814be Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54561 [ run ] completed with state SUCCESS. Commit: 11814be
/LLM/main/L0_MergeRequest_PR pipeline #43608 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

Link to invocation

…ramework

Signed-off-by: Hu Tianrui <tianruih@nvidia.com>

# Conflicts:
#	tensorrt_llm/_torch/pyexecutor/_util.py
#	tensorrt_llm/_torch/pyexecutor/resource_manager.py
@Hudayday

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54708 [ run ] triggered by Bot. Commit: 634229f Link to invocation

@DomBrown DomBrown left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM for the API stability part.

@Hudayday
Hudayday removed the request for review from suyoggupta June 17, 2026 08:48
@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54708 [ run ] completed with state SUCCESS. Commit: 634229f
/LLM/main/L0_MergeRequest_PR pipeline #43745 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

Link to invocation

Hudayday added 2 commits June 17, 2026 02:34
The executor factory create_py_executor_instance reads
llm_args.kv_cache_compression_config to decide whether to build a
compression manager. Real LlmArgs always defines this optional field, but
minimal unit-test mocks (test_dual_pool_kv_cache) do not, so the direct
attribute access raised AttributeError before the scheduler was built. Look
it up with getattr defaulting to None so an absent field is treated the same
as None.

Signed-off-by: Hu Tianrui <tianruih@nvidia.com>
…ramework

Signed-off-by: Hu Tianrui <tianruih@nvidia.com>
@Hudayday

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54851 [ run ] triggered by Bot. Commit: 4df96be Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54851 [ run ] completed with state SUCCESS. Commit: 4df96be
/LLM/main/L0_MergeRequest_PR pipeline #43861 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

…ramework

Signed-off-by: Hu Tianrui <tianruih@nvidia.com>
@Hudayday

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54926 [ run ] triggered by Bot. Commit: c6b5bfb Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54926 [ run ] completed with state SUCCESS. Commit: c6b5bfb
/LLM/main/L0_MergeRequest_PR pipeline #43928 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

Link to invocation

@Hudayday

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54950 [ run ] triggered by Bot. Commit: c6b5bfb Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #54950 [ run ] completed with state SUCCESS. Commit: c6b5bfb
/LLM/main/L0_MergeRequest_PR pipeline #43950 completed with status: 'SUCCESS'

CI Report

Link to invocation

@thorjohnsen thorjohnsen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

Comment thread tensorrt_llm/_torch/pyexecutor/resource_manager.py
@Hudayday
Hudayday requested review from a team, hchings and lowsfer June 23, 2026 05:52

@hchings hchings left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM on LLM API part.

@Hudayday
Hudayday merged commit ca81b2a into NVIDIA:main Jun 25, 2026
7 checks passed
BrianLi23 pushed a commit to BrianLi23/TensorRT-LLM that referenced this pull request Jul 9, 2026
…er framework (NVIDIA#15106)

Signed-off-by: Hu Tianrui <tianruih@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-compatible Accepted LLM API contract change that is backwards-compatible

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants