Skip to content

[None][feat] add CuteDSL FP8/FP16 MLA decode attention fmha lib - #15138

Merged
brnguyen2 merged 25 commits into
NVIDIA:mainfrom
haow-nv:feat/cutedsl-mla-decode-fp8
Aug 5, 2026
Merged

[None][feat] add CuteDSL FP8/FP16 MLA decode attention fmha lib#15138
brnguyen2 merged 25 commits into
NVIDIA:mainfrom
haow-nv:feat/cutedsl-mla-decode-fp8

Conversation

@haow-nv

@haow-nv haow-nv commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds CuteDSL MLA decode as an internal FMHA library of the TRTLLM attention backend (not a separate attn_backend). The new CuteDslMlaFmha library intercepts the generation-phase (decode) MLA portion of a batch and dispatches it to Blackwell CuTe DSL kernels; context-phase requests and anything the library rejects fall through to the next library in the ordered list (flashinfer_trtllm_gen, then fallback).

Selection & gating

  • Registered as cute_dsl_mla in the FMHA library registry. The default order is cute_dsl_mla,flashinfer_trtllm_gen,fallback; override with TLLM_FMHA_LIBS (exact list, e.g. TLLM_FMHA_LIBS=flashinfer_trtllm_gen,fallback, or deltas, e.g. TLLM_FMHA_LIBS=-cute_dsl_mla).
  • is_available() (static): SM100/103 + nvidia-cutlass-dsl installed + MLA with kv_lora_rank=512, qk_rope_head_dim=64, num_heads <= 128 (DeepSeek geometry).
  • Per-forward: the kernel's own can_implement check, plus a perf allowlist — the library only takes (num_heads, seq_len_q) in {(16, 2), (16, 4), (128, 1)}, the shapes where CuteDSL measured as an end-to-end win over TRTLLM-Gen in DeepSeek-V3 A/B runs (TP8 + MTP, and attention-DP without MTP). All other shapes fall back to TRTLLM-Gen with a debug log.

Main pieces

  • attention_backend/fmha/cute_dsl.py: CuteDslMlaFmha(PhasedFmha) — generation-phase hook that prepares latent/rope Q views, paged-KV page table, and per-request cache lengths, then calls the CuteDSL decode op. FP8 KV cache routes to the FP8 kernel; FP16/BF16 activations route to the FP16/BF16 kernel.
  • cute_dsl_kernels/blackwell/attention/mla/: vendored Blackwell CuTe DSL MLA decode kernels (FP8 and FP16/BF16) + helpers, adapted from the CUTLASS MLA reference and aligned with FlashInfer's mla_decode (persistent and split-KV modes, seq_len_q > 1 causal masking with fold-sq for MTP).
  • custom_ops/cute_dsl_custom_ops.py: registers trtllm::cute_dsl_mla_decode_{fp8,fp16}_blackwell and the kernel runner (JIT compile/cache). split_kv and is_persistent are AutoTuner tactic elements chosen per shape (power-of-two split-KV candidate ladder, batch-bucketed tuning config); o/lse/workspace are mutated in place, and the workspace is sized batch-independently so CUDA-graph capture across batch sizes stays valid.
  • pyexecutor/model_engine.py: adds one mixed context+generation warmup request so TRTLLM-Gen kernels are JIT-warmed for the mixed batches that cute_dsl_mla does not take (it is decode-only).
  • modules/fused_moe/moe_scheduler.py: attention-DP empty-chunk substitution fix — the substitution now updates every rank's slot in the collective sizes (emptiness is deterministic from the cross-rank-consistent all_rank_num_tokens_list), keeping the variable-size all-gather consistent across ranks. Previously each rank only patched its own slot, which deadlocked warmup with imbalanced attention-DP batches.
  • modules/ATTENTION_DEVELOPER_GUIDE.md and lint-exclusion lists (.pre-commit-config.yaml, legacy-files.txt, pyproject.toml, ruff-legacy.toml) updated for the new library and vendored kernel files.

MTP (seq_len_q > 1) and CUDA graphs are supported on the CuteDSL path.

Test Coverage

Validated locally on B200 (SM100); both suites are gated on get_sm_version() in (100, 103) and IS_CUTLASS_DSL_AVAILABLE.

  • tests/unittest/_torch/attention/test_attention_mla.py (existing): full MLA module dispatch passes with cute_dsl_mla in the default library order.

End-to-end: DeepSeek-V3 FP8 on 8x B200 (TP8/EP8, CUDA graphs on) runs green with and without attention-DP and MTP — no fallbacks, correct outputs, MTP acceptance rate identical to the TRTLLM-Gen baseline; throughput on allowlisted shapes is at parity or better, which is what the perf allowlist encodes.

# ADP seq_len_q baseline (tok/s) cutedsl (tok/s) speedup
1 OFF 1 3081.9 3082.0 +0.00%
2 OFF 2 4304.5 4358.6 +1.26%
3 OFF 4 4771.4 4911.6 +2.94%
4 ON 1 2676.1 2719.8 +1.63%
5 ON 2 3918.0 3919.7 +0.04%
6 ON 4 4403.5 4458.4 +1.25%

PR Checklist

  • Please check this after reviewing the above items as appropriate for this PR.

GitHub Bot Help

To see a list of available CI bot commands, please comment /bot help.

Dev Engineer Review

  • Added a Blackwell-only FMHA backend (CuteDslMlaFmha) under the cute_dsl_mla registry key and exported it from the FMHA package for dispatch of eligible DeepSeek MLA generation-phase decode requests to CuTe DSL kernels (FP8 and FP16/BF16).
  • Implemented strict runtime gating/rejection in tensorrt_llm/_torch/attention_backend/fmha/cute_dsl.py, including CuTe/SM100/103 availability and tight geometry/mode constraints (decode-only, specific lora/head-dim expectations, head-count limits, and rejection of unsupported speculative/beam/tree/custom mask modes).
  • Added CuTe DSL MLA decode custom ops plus an autotuned CUDA kernel runner (CuteDSLNVMlaDecodeBlackwellRunner) in tensorrt_llm/_torch/custom_ops/cute_dsl_custom_ops.py:
    • enumerates feasible MMA tilers via can_implement,
    • autotunes split-K and persistence,
    • validates and slices workspace for LSE/output and optional split-K intermediates,
    • constructs Cute tensors from input page-table/cache/paged KV layouts,
    • includes CUDA-graph-safe caching for FP8 decode scales.
  • Added new Blackwell CuTe DSL MLA kernel modules under tensorrt_llm/_torch/cute_dsl_kernels/blackwell/attention/mla/:
    • mla_decode_fp8.py, mla_decode_fp16.py,
    • mla_helpers.py (static tile scheduling helpers for persistent/non-persistent modes),
    • and updated package __init__.py exports.
  • Updated FMHA documentation to include cute_dsl_mla in the default/ordering guidance (ATTENTION_DEVELOPER_GUIDE.md).
  • Fixed attention-DP empty-chunk collective sizing in ExternalCommMoEScheduler._forward_multiple_chunks (tensorrt_llm/_torch/modules/fused_moe/moe_scheduler.py) by ensuring all ranks use identical sizes vectors when split_chunk yields 0-token chunks on some ranks.
  • Adjusted TRTLLM-Gen FMHA JIT warmup configuration in tensorrt_llm/_torch/pyexecutor/model_engine.py to enable a mixed context+generation warmup only under the specified compatibility conditions.
  • Updated lint/config allowlists so the newly added CuTe DSL MLA Python modules are included in pre-commit and Ruff scopes (e.g., .pre-commit-config.yaml, legacy-files.txt, pyproject.toml, ruff-legacy.toml).

Review notes / risk areas

  • Correctness/performance risks concentrate in eligibility/rejection gating, FP8 vs FP16/BF16 dispatch feasibility (can_implement + tiler selection), workspace sizing/slicing (including split-K paths), and persistent vs non-persistent static tile scheduling.
  • Given the described CI flakiness patterns, failures should be revalidated with the requested multi-GPU CI invocations, paying special attention to CUDA-graph capture/warmup behavior and allowlisted shape routing.

QA Engineer Review

No test changes.

@limin2021
limin2021 requested review from hyukn, limin2021 and yuxianq June 9, 2026 05:06
@haow-nv
haow-nv force-pushed the feat/cutedsl-mla-decode-fp8 branch from 0596464 to e7b9ea6 Compare June 24, 2026 03:07
@haow-nv haow-nv changed the title [None][feat] add CuteDSL FP8/FP16 MLA decode attention backend [None][feat] add CuteDSL FP8/FP16 MLA decode attention fmha lib Jun 30, 2026
@haow-nv

haow-nv commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast --add-multi-gpu-test

@haow-nv
haow-nv marked this pull request as ready for review June 30, 2026 07:56
@haow-nv
haow-nv requested review from a team as code owners June 30, 2026 07:56
@haow-nv
haow-nv requested a review from a team June 30, 2026 07:56
@haow-nv
haow-nv requested a review from a team as a code owner June 30, 2026 07:56
@haow-nv
haow-nv requested review from dpitman-nvda and yiqingy0 June 30, 2026 07:56
@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a Blackwell CuTe DSL MLA decode backend with static tile scheduling, FP8 and FP16/BF16 custom operations, FMHA registration, runtime gating, paged-KV execution, warmup integration, and lint configuration. Also fixes cross-rank empty-chunk handling in the MoE scheduler.

Changes

CuTe DSL MLA Decode Backend

Layer / File(s) Summary
MLA tile scheduler and kernel package
tensorrt_llm/_torch/cute_dsl_kernels/blackwell/attention/...
Adds static tile scheduling parameters, work-tile tracking, persistent/non-persistent scheduling, and MLA package exports.
Blackwell MLA custom operations
tensorrt_llm/_torch/custom_ops/cute_dsl_custom_ops.py
Adds tactic selection, compiled-kernel caching, and FP8/FP16/BF16 custom decode operations.
CuteDslMlaFmha backend
tensorrt_llm/_torch/attention_backend/fmha/cute_dsl.py
Adds eligibility checks, dtype and page-table handling, split-KV computation, paged-KV preparation, scaling, and MLA generation execution.
FMHA integration and developer configuration
tensorrt_llm/_torch/attention_backend/fmha/..., tensorrt_llm/_torch/pyexecutor/model_engine.py, tensorrt_llm/_torch/modules/ATTENTION_DEVELOPER_GUIDE.md, .pre-commit-config.yaml, legacy-files.txt, pyproject.toml, ruff-legacy.toml
Registers and exports the backend, adjusts warmup requests and documentation, and adds MLA files to linting scopes.

MoE Scheduler Fix

Layer / File(s) Summary
Cross-rank empty-chunk size substitution
tensorrt_llm/_torch/modules/fused_moe/moe_scheduler.py
Propagates chunk-0 token counts to all ranks with empty chunks while retaining local tensor substitution for unused chunks.

Estimated code review effort: 5 (Critical) | ~90 minutes

Sequence Diagram(s)

sequenceDiagram
  participant FMHARegistry
  participant CuteDslMlaFmha
  participant MLADecodeCustomOp
  participant CuteDSLNVMlaDecodeBlackwellRunner
  participant CompiledMLAKernel
  FMHARegistry->>CuteDslMlaFmha: select cute_dsl_mla backend
  CuteDslMlaFmha->>CuteDslMlaFmha: validate support and prepare paged KV
  CuteDslMlaFmha->>MLADecodeCustomOp: invoke FP8 or FP16/BF16 decode
  MLADecodeCustomOp->>CuteDSLNVMlaDecodeBlackwellRunner: select tactic and launch
  CuteDSLNVMlaDecodeBlackwellRunner->>CompiledMLAKernel: compile-cache and execute
  CompiledMLAKernel->>CuteDslMlaFmha: write output and workspace
Loading

Suggested reviewers: bowenfu, chienchunhung, yihuilu512

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 30.77% 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 is concise, follows the required ticket/type pattern, and accurately summarizes the new CuteDSL MLA decode FMHA library.
Description check ✅ Passed The description matches the template well, with clear Description, Test Coverage, and PR Checklist sections filled in.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@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: 3

🧹 Nitpick comments (1)
tensorrt_llm/_torch/custom_ops/cute_dsl_custom_ops.py (1)

7666-7857: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Optional: de-duplicate the FP8/FP16 dispatch bodies.

After the per-dtype in_dtype selection, both ops run an identical block (SM gate, runner construction, inputs list, choose_one, runner(...)), and the two register_fake stubs are byte-identical. Folding the shared portion into one helper keeps the FP8 and FP16 paths from diverging during future maintenance.

♻️ Sketch of a shared dispatch helper
def _run_cute_dsl_mla_decode_blackwell(
    op_name, in_dtype, q_latent, q_rope, c_latent, c_rope, page_table,
    cache_seqs, block_split_kvs, o, lse, workspace, num_heads, seq_len_q,
    page_size, is_persistent, is_var_seq, is_var_split_kv,
    split_kv, softmax_scale, output_scale,
):
    runner = CuteDSLNVMlaDecodeBlackwellRunner(
        in_dtype=in_dtype, num_heads=num_heads, seq_len_q=seq_len_q,
        page_size=page_size, is_persistent=is_persistent,
        is_var_seq=is_var_seq, is_var_split_kv=is_var_split_kv,
    )
    inputs = [q_latent, q_rope, c_latent, c_rope, page_table, cache_seqs,
              block_split_kvs, o, lse, workspace]
    _, best_tactic = AutoTuner.get().choose_one(
        op_name, [runner], runner.get_tuning_config(), inputs)
    runner(inputs, tactic=best_tactic, split_kv=split_kv,
           softmax_scale=softmax_scale, output_scale=output_scale)

Each @torch.library.custom_op then keeps only its SM check + dtype resolution and delegates the rest. The register_fake bodies (return None) can share a single function passed to both registrations.

🤖 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 `@tensorrt_llm/_torch/custom_ops/cute_dsl_custom_ops.py` around lines 7666 -
7857, The FP8 and FP16 Blackwell MLA decode ops currently duplicate the same SM
gate, runner setup, tuning, and execution flow in
cute_dsl_mla_decode_fp8_blackwell and cute_dsl_mla_decode_fp16_blackwell, and
the two register_fake stubs are identical. Extract the shared dispatch logic
into a helper such as _run_cute_dsl_mla_decode_blackwell that takes op_name and
in_dtype, then have each custom_op only handle its dtype validation/resolution
before delegating. Reuse a single fake implementation for both
`@torch.library.register_fake` registrations so the two paths stay aligned and
easier to maintain.
🤖 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/fmha/cute_dsl.py`:
- Around line 522-523: The page-table adjustment in the `cute_dsl.py` path that
folds in the interleaved layer slot is using only `layer_in_pool`, which can
point to the wrong KV page after `kv_pool` is re-viewed as packed combined
slots. Update the logic around `page_table` so the layer contribution is scaled
by `layers_in_pool` (matching the logical mapping used by the packed view) and
keep the behavior in the same `layers_in_pool > 1` branch.
- Around line 539-644: The split-KV selection in cute_dsl.py can still enable
is_var_split_kv even when fixed-sequence mode is forced, which creates an
invalid kernel configuration. In the decode path around
_split_kv_from_max_splits, _compute_block_split_kvs, and the is_var_seq toggle,
gate the variable split-KV logic on is_var_seq being true, and force split_kv
back to 1 when TLLM_CUTE_DSL_VAR_SEQ=0 so is_var_split_kv can never be set in
fixed-sequence mode. Ensure the workspace allocation and downstream kernel
arguments follow the adjusted split_kv value.

In `@tests/unittest/_torch/attention/test_cute_dsl_mla_decode.py`:
- Around line 82-92: The FP16 decode path is still advertised by
CuteDslMlaFmha._get_kernel_dtype() and routes to
cute_dsl_mla_decode_fp16_blackwell, but the test matrix in
test_cute_dsl_mla_decode.py now omits torch.float16 and hides the crash. Update
the runtime in tensorrt_llm/_torch/attention_backend/fmha/cute_dsl.py to gate
FP16 out until it is fixed, or add an explicit xfail/regression test that
exercises the FP16 path and documents the aborting behavior. Keep the test
coverage aligned with the actual supported kernel dtypes so the unsupported FP16
path is not silently masked.

---

Nitpick comments:
In `@tensorrt_llm/_torch/custom_ops/cute_dsl_custom_ops.py`:
- Around line 7666-7857: The FP8 and FP16 Blackwell MLA decode ops currently
duplicate the same SM gate, runner setup, tuning, and execution flow in
cute_dsl_mla_decode_fp8_blackwell and cute_dsl_mla_decode_fp16_blackwell, and
the two register_fake stubs are identical. Extract the shared dispatch logic
into a helper such as _run_cute_dsl_mla_decode_blackwell that takes op_name and
in_dtype, then have each custom_op only handle its dtype validation/resolution
before delegating. Reuse a single fake implementation for both
`@torch.library.register_fake` registrations so the two paths stay aligned and
easier to maintain.
🪄 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: e1c74753-bc97-42cb-8418-7ace8aa2ef65

📥 Commits

Reviewing files that changed from the base of the PR and between cdd6230 and cd3edb0.

📒 Files selected for processing (19)
  • .pre-commit-config.yaml
  • legacy-files.txt
  • pyproject.toml
  • ruff-legacy.toml
  • tensorrt_llm/_torch/attention_backend/fmha/__init__.py
  • tensorrt_llm/_torch/attention_backend/fmha/cute_dsl.py
  • tensorrt_llm/_torch/attention_backend/fmha/registry.py
  • tensorrt_llm/_torch/custom_ops/cute_dsl_custom_ops.py
  • tensorrt_llm/_torch/cute_dsl_kernels/blackwell/attention/__init__.py
  • tensorrt_llm/_torch/cute_dsl_kernels/blackwell/attention/mla/__init__.py
  • tensorrt_llm/_torch/cute_dsl_kernels/blackwell/attention/mla/mla_decode_fp16.py
  • tensorrt_llm/_torch/cute_dsl_kernels/blackwell/attention/mla/mla_decode_fp8.py
  • tensorrt_llm/_torch/cute_dsl_kernels/blackwell/attention/mla/mla_helpers.py
  • tensorrt_llm/_torch/modules/ATTENTION_DEVELOPER_GUIDE.md
  • tensorrt_llm/_torch/modules/fused_moe/moe_scheduler.py
  • tensorrt_llm/_torch/pyexecutor/model_engine.py
  • tensorrt_llm/tools/layer_wise_benchmarks/runner.py
  • tests/unittest/_torch/attention/test_attention_mla.py
  • tests/unittest/_torch/attention/test_cute_dsl_mla_decode.py

Comment thread tensorrt_llm/_torch/attention_backend/fmha/cute_dsl_mla.py
Comment thread tensorrt_llm/_torch/attention_backend/fmha/cute_dsl.py Outdated
Comment thread tests/unittest/_torch/attention/test_cute_dsl_mla_decode.py Outdated
@haow-nv
haow-nv force-pushed the feat/cutedsl-mla-decode-fp8 branch 2 times, most recently from fc530d6 to cf75689 Compare July 6, 2026 06:45
@haow-nv

haow-nv commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast --add-multi-gpu-test

@haow-nv
haow-nv force-pushed the feat/cutedsl-mla-decode-fp8 branch from bd40e10 to 5dceec8 Compare July 6, 2026 07:12
@haow-nv

haow-nv commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast --add-multi-gpu-test

@haow-nv

haow-nv commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@yuxianq

yuxianq commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

/bot run --disable-fail-fast --add-multi-gpu-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #57746 [ run ] triggered by Bot. Commit: cc8a8fc Link to invocation

@yuxianq

yuxianq commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

/bot run --disable-fail-fast --add-multi-gpu-test

haow-nv added 2 commits August 3, 2026 22:14
…_mla.py

The module holds the MLA-only decode FMHA library, and the FMHA registry
already exposes it under the key "cute_dsl_mla"; the file name now matches.
This also disambiguates it from the unrelated CuTe DSL modules
(custom_ops/cute_dsl_custom_ops.py, cute_dsl_utils.py, and the VisualGen
attention_backend/cute_dsl package).

Pure rename: the registry key, the TLLM_FMHA_LIBS token and the class name
are unchanged, so no configuration or script needs updating. Imports in
fmha/__init__.py and fmha/registry.py plus two path references in a comment
and in ATTENTION_DEVELOPER_GUIDE.md follow the new name.

Verified on B200: import resolves to the new module, the registry still
returns CuteDslMlaFmha first for TLLM_FMHA_LIBS, and
tests/unittest/_torch/attention/test_attention_mla.py passes 96/96.

Signed-off-by: haow <haow@nvidia.com>
The perf gate was skipped wholesale while the AutoTuner was in tuning mode,
so shapes the gate rejects on dtype, num_heads or seq_len_q grounds were
still profiled and cached. Only the batch-size floor needs to be lifted
during tuning (autotuner warmup issues gen requests at a single batch size,
which the floor would reject, keeping the shape from ever being tuned).

_is_perf_favorable now accepts batch_size=None to evaluate only the
batch-size-independent conditions, and the caller passes None while tuning.

Signed-off-by: haow <haow@nvidia.com>
@haow-nv
haow-nv force-pushed the feat/cutedsl-mla-decode-fp8 branch from cf8dc0b to b2f3b28 Compare August 4, 2026 05:15
@haow-nv
haow-nv requested a review from a team as a code owner August 4, 2026 05:15
@haow-nv
haow-nv force-pushed the feat/cutedsl-mla-decode-fp8 branch from b2f3b28 to faf5aba Compare August 4, 2026 05:20
@haow-nv

haow-nv commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast --add-multi-gpu-test

@haow-nv
haow-nv removed the request for review from a team August 4, 2026 05:28
@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63676 [ run ] triggered by Bot. Commit: faf5aba Link to invocation

@yuanjingx87 yuanjingx87 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.

Approved on oss compliance perspective

yuanjingx87

This comment was marked as duplicate.

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63676 [ run ] completed with state FAILURE. Commit: faf5aba
/LLM/main/L0_MergeRequest_PR pipeline #51628 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

…lowlist

The measured fp8-KV win region for num_heads=128 only holds at
seq_len_q 1 and 2; remove the (128,4) and (128,8) entries so those
shapes fall back to the next FMHA library instead of being admitted
above a batch floor.

Signed-off-by: haow <haow@nvidia.com>
@haow-nv

haow-nv commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast --add-multi-gpu-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63737 [ run ] triggered by Bot. Commit: 346fb8c Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63737 [ run ] completed with state FAILURE. Commit: 346fb8c
/LLM/main/L0_MergeRequest_PR pipeline #51688 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

@haow-nv

haow-nv commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --add-multi-gpu-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63922 [ run ] triggered by Bot. Commit: 346fb8c Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63922 [ run ] completed with state FAILURE. Commit: 346fb8c
/LLM/main/L0_MergeRequest_PR pipeline #51860 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

@haow-nv

haow-nv commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --add-multi-gpu-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63955 [ run ] triggered by Bot. Commit: 346fb8c Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63955 [ run ] completed with state SUCCESS. Commit: 346fb8c
/LLM/main/L0_MergeRequest_PR pipeline #51889 completed with status: 'SUCCESS'
Pipeline passed with automatic retried tests. Check the rerun report for details.

CI Report

Link to invocation

@Shixiaowei02

Copy link
Copy Markdown
Collaborator

Default-on and decode-only means this takes nearly every attention call on a disaggregated generation server, and no stage on that hardware exercises it. Can we get coverage in before it's the default?

@haow-nv

haow-nv commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

Default-on and decode-only means this takes nearly every attention call on a disaggregated generation server, and no stage on that hardware exercises it. Can we get coverage in before it's the default?

Hi @Shixiaowei02 , I contact you through slack. It seems that I don't find the correct people. Could you ping me? Do we have testcases for disaggregated generation server? I think the cutedsl mla is naturally covered by those cases?

@brnguyen2
brnguyen2 merged commit 7e239d6 into NVIDIA:main Aug 5, 2026
14 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.