diff --git a/candidates/eval-gaps.yaml b/candidates/eval-gaps.yaml index 250801ad..cb99bc50 100644 --- a/candidates/eval-gaps.yaml +++ b/candidates/eval-gaps.yaml @@ -1,7 +1,7 @@ schema_version: 1 gaps: - id: eval-H01 - generated_at: '2026-07-23' + generated_at: '2026-07-24' status: proposed category: ranking-gap eval_case: H01 @@ -21,7 +21,7 @@ gaps: - kernel-rmsnorm - hw-mfma - id: eval-H10 - generated_at: '2026-07-23' + generated_at: '2026-07-24' status: proposed category: evidence-gap eval_case: H10 @@ -40,7 +40,7 @@ gaps: - hw-chiplet-xcd - technique-hip-graphs - id: eval-H21 - generated_at: '2026-07-23' + generated_at: '2026-07-24' status: proposed category: evidence-gap eval_case: H21 diff --git a/candidates/runs/20260724T031505418000Z/ATOM.yaml b/candidates/runs/20260724T031505418000Z/ATOM.yaml new file mode 100644 index 00000000..98c294aa --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/ATOM.yaml @@ -0,0 +1,436 @@ +schema_version: 1 +source_id: rocm-atom +source_kind: github-prs +repo: ROCm/ATOM +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: + merged_at: '2026-07-23T07:06:08Z' + pr: 1676 + merge_sha: c2f59617b1a4b1e1bd529706c9edf192c8903513 + captured_at: '2026-07-23' +counts: + defer: 1 + exclude: 5 + include: 2 +candidates: +- id: rocm-atom:pr:1685 + source_id: rocm-atom + source_kind: github-pr + repo: ROCm/ATOM + component: null + pr: 1685 + title: 'ci: add DSpark benchmark run' + author: ZhangLirong-amd + merged_at: '2026-07-23T16:08:13Z' + merge_sha: 00266a01f58cf3dc3f0ed39217162ff9055d7e2b + source_url: https://github.com/ROCm/ATOM/pull/1685 + source_fingerprint: sha256:144e4c9ab7c04cb6a80ae1dea19ece26fc41d1afb266d15409cbe264d557b650 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/benchmark/models.json + - .github/benchmark/models_accuracy.json + - .github/scripts/catalog.py + - tests/test_benchmark_catalog.py + changed_path_count: 4 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: "Motivation\n\nTechnical Details\n\nTest Plan\n\nTest Result\n\ + \nSubmission Checklist\n\n Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests." + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-atom:pr:1689 + source_id: rocm-atom + source_kind: github-pr + repo: ROCm/ATOM + component: null + pr: 1689 + title: 'feat(benchmark): report Concurrency, Accept length and Acceptance rate' + author: valarLip + merged_at: '2026-07-23T16:02:10Z' + merge_sha: 7b3d8db79ce76fabca89669715307b39a4f90de2 + source_url: https://github.com/ROCm/ATOM/pull/1689 + source_fingerprint: sha256:4fc91d0657c0e9e2b9c63b5233177be575cc0edede5f071d0c625c04e992120f + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/scripts/plugin_benchmark_to_dashboard.py + - atom/benchmarks/benchmark_serving.py + - docs/serving_benchmarking_guide.md + changed_path_count: 3 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: 'Motivation + + The serving benchmark reported throughput and latency but not a few metrics + + that help interpret a run: + + + Concurrency — how many requests were actually in flight on average. + + Accept length — for speculative decoding, mean tokens emitted per model + + forward (1 + accepted draft tokens). + + Acceptance rate — for speculative decoding, the fraction of drafted + + tokens that were accepted. + + + Technical Details + + atom/benchmarks/benchmark_serving.py: + + + Concurrency = sum of per-request end-to-end latencies / wall-clock + + duration. Computed client-side in calculate_metrics, always printed. + + Accept length (average_tokens_per_forward) and Acceptance rate + + (acceptance_rate) are fetched together from the server''s existing + + /debug/mtp_stats endpoint via get_spec_stats. They print only when + + spec-decode is enabled; get_spec_stats returns None when the endpoint is + + unavailable or spec-decode is off, so the lines are skipped. No new + + dependency — aiohttp is already used by the benchmark client and declared + + in pyproject.toml. + + All three values are written to the result JSON. + + + .github/scripts/plugin_benchmark_to_dashboard.py: + + + Tracks Accept Length and Acceptance Rate on the dashboard. + + append_metric skips None, so ' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-atom:pr:1688 + source_id: rocm-atom + source_kind: github-pr + repo: ROCm/ATOM + component: null + pr: 1688 + title: '[SGL][m3]Update M3 recipe for SGLang-atom' + author: zhuyuhua-v + merged_at: '2026-07-23T14:52:18Z' + merge_sha: 673e6e016f048de0f94ca212011fd39503ac5b94 + source_url: https://github.com/ROCm/ATOM/pull/1688 + source_fingerprint: sha256:0ba5c032983a8fe8b470f56e76fe30b838b91fabd8c11c0ecc2d6b837f70cf5f + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - recipes/atom_sglang/MiniMax-M3.md + changed_path_count: 1 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: 'Motivation + + [SGL][m3]Update M3 recipe for SGLang-atom' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-atom:pr:1686 + source_id: rocm-atom + source_kind: github-pr + repo: ROCm/ATOM + component: null + pr: 1686 + title: 'feat(cli): accept both --kebab-case and --snake_case for every flag' + author: valarLip + merged_at: '2026-07-23T14:28:02Z' + merge_sha: 6a12488b4247dfc4c3a96cc18cd43f1d295b80c0 + source_url: https://github.com/ROCm/ATOM/pull/1686 + source_fingerprint: sha256:45d8219912a54c408e8788bd344596636351aad422e8bbbcef193b031f382db2 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - README.md + - atom/benchmarks/benchmark_serving.py + - atom/entrypoints/atomesh/server.py + - atom/entrypoints/openai/api_server.py + - atom/examples/multimodal_inference.py + - atom/examples/profile_offline.py + - atom/examples/simple_inference.py + - atom/model_engine/arg_utils.py + - atom/utils/arg_parser.py + - tests/test_arg_utils_spec.py + changed_path_count: 10 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: 'Motivation + + ATOM flags were registered inconsistently — most kebab-case + + (--tensor-parallel-size), a few snake_case (--kv_cache_dtype, + + --enable_prefix_caching, ...) — so users had to remember which spelling each + + flag used. #1597 fixed this for a single flag by spelling out both option + + strings and a dest= on that one add_argument. Doing that for every flag + + would be repetitive and easy to forget on new flags. + + Technical Details + + Introduces FlexibleArgumentParser (atom/utils/arg_parser.py), a drop-in + + argparse.ArgumentParser whose add_argument auto-registers the + + dash/underscore counterpart of every long option as an alias for the same + + dest. One place, all flags — current and future. + + + Only the flag name (after the leading --) is transformed, so option + + values are never touched — safe for JSON-valued flags like + + --online_quant_config ''{"use_index_cache": true}''. + + Short flags (-tp) and positionals are left untouched. + + dest still derives from the first (original) option string, so existing + + callers are unaffected. + + An auto-alias that would collide with an already-registered flag is skipped + + (a real argument always wins; never raises "conflicting option string"). + + + Wiring: + + + Reverts the per-flag manual ' + hardware_features: [] + kernel_types: + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-atom:pr:1684 + source_id: rocm-atom + source_kind: github-pr + repo: ROCm/ATOM + component: null + pr: 1684 + title: '[atom-vllm/sglang-benchmark] Add Crusoe_Cluster_Node Hugging Face model + cache mount' + author: junyyang-amd + merged_at: '2026-07-23T13:17:00Z' + merge_sha: 09613be567d28698de5f1b98e9ace066503f4204 + source_url: https://github.com/ROCm/ATOM/pull/1684 + source_fingerprint: sha256:4ca5de03c3a493dd355ca1f75470407df7793b4a98979a9b215d54d5225e2e98 + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/workflows/atom-sglang-benchmark-gpu-shard.yaml + - .github/workflows/atom-vllm-benchmark.yaml + changed_path_count: 2 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: 'Summary + + + Add /shared_nfs/huggingface_models as a preferred host model cache mount for ATOM + vLLM benchmarks. + + Add the same shared NFS model cache support to SGLang benchmark shard jobs. + + Normalize /shared_nfs/huggingface_models/... model paths to container-local /models/... + during model download and benchmark startup. + + + Test plan + + + Checked workflow YAML diagnostics in Cursor. + + Verified the git diff only changes benchmark model cache mount/path handling.' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-atom:pr:860 + source_id: rocm-atom + source_kind: github-pr + repo: ROCm/ATOM + component: null + pr: 860 + title: Atom-RAPIDserve merge + author: amnamasood-amd + merged_at: '2026-07-23T12:48:02Z' + merge_sha: 817676249b2a0db3afec7fe184ba24c0f9901dde + source_url: https://github.com/ROCm/ATOM/pull/860 + source_fingerprint: sha256:2abc13a5e1d1dc5bb986d1d1ae4eb956f8329fa146b6cdf6422b94a13d7bf81d + decision: include + relevance_reason: kernel path 'atom/model_ops/attentions/aiter_mla.py'; keyword + 'attention' + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/scripts/run_unit_tests.sh + - atom/config.py + - atom/model_engine/arg_utils.py + - atom/model_engine/disagg_types.py + - atom/model_engine/engine_core.py + - atom/model_engine/engine_core_mgr.py + - atom/model_engine/ipc_utils.py + - atom/model_engine/llm_engine.py + - atom/model_engine/model_runner.py + - atom/model_engine/scheduler.py + - atom/model_ops/attentions/aiter_mla.py + - tests/test_disagg_modes.py + - tests/test_disagg_types.py + - tests/test_io_processor_fanout.py + - tests/test_prefill_scheduler.py + changed_path_count: 15 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: 'Motivation + + This PR implements IntraGPU disaggregation (RAPID-Serve: https://arxiv.org/abs/2601.11822). + The main idea is to run prefill and decode on the same GPU(s) concurrently on + separate streams to maximize GPU utilization and throughput while improving latencies. + This techniques avoids the TPOT overheads associated with chunked prefill and + also avoids KV cache transfers required for Inter-GPU/node disaggregation. + + Technical Details + + Major changes include: + + + "enable-disagg" parameter to enable Intra-GPU disaggregation + + Separate prefill and decode processes, engines and schedulers + + Model weights and KV cache tensors are shared through IPC + + Only decode manages the KV cache blocks to avoid inter-process syncs and locks + + A new request is routed to both prefill and decode. The decode assigns the KV + cache blocks based on the prefill length and notifies the prefill process. The + prefill process then processes the prompt, populates the KV cache and notifies + decode. The decode process then adds the new decode to the running batch. + + Two supported modes: unconstrained and constrained. In Unconstrained mode, both + prefill and decode run on separate streams and the workgroup scheduling is done + by the ' + hardware_features: [] + kernel_types: + - attention + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-atom:pr:1677 + source_id: rocm-atom + source_kind: github-pr + repo: ROCm/ATOM + component: null + pr: 1677 + title: 'dspark: fused qk_norm_rope' + author: ZhangLirong-amd + merged_at: '2026-07-23T09:32:24Z' + merge_sha: 8bf457c3cc62ba9efdd1d89b1b36ac87d8d568b0 + source_url: https://github.com/ROCm/ATOM/pull/1677 + source_fingerprint: sha256:20405b3149831984d9c326a9a8360515dfabcf06b878773ec606522478fb98a0 + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - atom/models/deepseek_v4_dspark.py + changed_path_count: 1 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: "Motivation\n\nTechnical Details\n\nTest Plan\n\nTest Result\n\ + \nSubmission Checklist\n\n Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests." + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-atom:pr:1673 + source_id: rocm-atom + source_kind: github-pr + repo: ROCm/ATOM + component: null + pr: 1673 + title: '[sglang plugin] Fix SGLang DSV4 fp8 KV cache binding' + author: qichu-yun + merged_at: '2026-07-23T08:56:54Z' + merge_sha: 5c3a5b4f399bf4f3bed33a53d257a2fb8dda5cae + source_url: https://github.com/ROCm/ATOM/pull/1673 + source_fingerprint: sha256:5e0839a0772b58912e725d51a8017215d40efb526b5b4f3a8e2a060de4958554 + decision: include + relevance_reason: kernel path 'atom/plugin/sglang/models/deepseek_v4_attention.py'; + keyword 'attention' + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - atom/plugin/sglang/deepseek_v4_bridge.py + - atom/plugin/sglang/models/deepseek_v4_attention.py + changed_path_count: 2 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: "Motivation\nFix SGLang DeepSeek-V4 startup/runtime failures\ + \ when fp8 KV cache is enabled. The SGLang proxy KV pool did not fully bind the\ + \ native DSV4 fp8 2-buffer layout, causing attention modules to miss RoPE companion\ + \ buffers such as unified_kv_rope.\nTechnical Details\n\nAdd SGLang proxy KV cache\ + \ support for DSV4 fp8 2-buffer layout: packed fp8 NoPE/scale buffer plus bf16\ + \ RoPE companion buffer.\nBind unified_kv_rope, swa_kv_rope, and compressor kv_cache_rope\ + \ consistently for CSA/HCA layers.\nSet the correct compressor write_mode for\ + \ bf16, fp8 main cache, and fp8 indexer cache.\nPopulate decode page metadata\ + \ needed by the fp8 paged decode kernel.\nClean up the slicing logic to share\ + \ the bf16/fp8 path and keep the effective kv_fp8 state in metadata.\n\nTest Plan\n\ + server:\nset -x\nexport AITER_BF16_FP8_MOE_BOUND=0\nexport ATOM_MOE_GU_ITLV=1\n\ + export SGLANG_DEFAULT_THINKING=1\nexport SGLANG_DSV4_REASONING_EFFORT=max\nexport\ + \ SGLANG_USE_AITER=1\nexport SGLANG_DSV4_FP4_EXPERTS=true\n\nexport SGLANG_EXTERNAL_MODEL_PACKAGE=atom.plugin.sglang.models\n\ + export SGLANG_ENABLE_TORCH_COMPILE=1\n\nmodel_path=/shared/data/amd_int/models/deepseek-ai/DeepSeek-V4-Pro\n\ + \ \nTORCHINDUCTOR_COMPILE_THREADS=128 \\\npython3 -m sglang.l" + hardware_features: + - fp8 + - fp4 + kernel_types: + - attention + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' diff --git a/candidates/runs/20260724T031505418000Z/FlyDSL.yaml b/candidates/runs/20260724T031505418000Z/FlyDSL.yaml new file mode 100644 index 00000000..92d7b4fa --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/FlyDSL.yaml @@ -0,0 +1,228 @@ +schema_version: 1 +source_id: rocm-flydsl +source_kind: github-prs +repo: ROCm/FlyDSL +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: + merged_at: '2026-07-23T02:59:27Z' + pr: 882 + merge_sha: 8fcfee4421e48d9f011a6af88eecd512e345176b + captured_at: '2026-07-23' +counts: + exclude: 2 + quarantine: 1 +candidates: +- id: rocm-flydsl:pr:788 + source_id: rocm-flydsl + source_kind: github-pr + repo: ROCm/FlyDSL + component: null + pr: 788 + title: 'autotune: keep CI search opt-in (#770)' + author: jhinpan + merged_at: '2026-07-23T15:04:17Z' + merge_sha: 1afc0b0f5188c5c9eac679930afb392268bfaaa9 + source_url: https://github.com/ROCm/FlyDSL/pull/788 + source_fingerprint: sha256:293a79e1c4799e608ca527daa6736bf8970feabd554b954e8619b36c3a1dd0ed + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - scripts/run_tests.sh + - tests/unit/test_autotune.py + changed_path_count: 2 + trust: first-party + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Summary + + Keep broad FlyDSL test runs deterministic: + + + scripts/run_tests.sh explicitly sets FLYDSL_AUTOTUNE=0 before pytest and standalone + examples. + + The GPU-free default/cache-path test exercises that explicit off value and fails + if benchmarking is reached. + + Dedicated autotune tests remain responsible for setting FLYDSL_AUTOTUNE=1 around + the forced-search cases they own. + + + The shared runner is used by both the source and wheel CI workflows, so this is + one guard rather than duplicated workflow configuration. + + Why this is the right CI boundary + + Autotune search is timing-sensitive and expensive. Shared CI should verify deterministic + control-flow and correctness contracts, not select or commit a performance winner + from noisy runner timing. + + The current offline-artifact work in #786 already owns artifact identity, validation, + fallback, and emit/load tests. Its artifacts are content-addressed deployment + inputs generated on the intended GPU; FlyDSL currently has no committed artifact + tree. The previous configs/autotune/ registry and standalone committed-config + validator were therefore both stale and unnecessary. + + This PR adds no job, runner, config registry, or autotuner API. + + Verification + + + python3' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-flydsl:pr:893 + source_id: rocm-flydsl + source_kind: github-pr + repo: ROCm/FlyDSL + component: null + pr: 893 + title: 'Release: bump version to 0.3.0' + author: coderfeli + merged_at: '2026-07-23T14:56:38Z' + merge_sha: e571a23c0b6b77cbdafa107706858ef3b5e21149 + source_url: https://github.com/ROCm/FlyDSL/pull/893 + source_fingerprint: sha256:68c05e1319c879f3d53558308b429b58b92102c04c21660fb0377e58a0df508d + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - docs/conf.py + - python/flydsl/__init__.py + changed_path_count: 2 + trust: first-party + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Release: bump version to 0.3.0' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-flydsl:pr:880 + source_id: rocm-flydsl + source_kind: github-pr + repo: ROCm/FlyDSL + component: null + pr: 880 + title: 'refactor(expr): move buffer_ops and split gfx1250 mcast policy to kernels.common' + author: Phil-amd + merged_at: '2026-07-23T14:26:51Z' + merge_sha: 7dac0826746b158a3d44a7fd323faf2ed02aa2db + source_url: https://github.com/ROCm/FlyDSL/pull/880 + source_fingerprint: sha256:7877ede3b92490d626dcbb7fb8ff4e5d73865f6a36c69f2f8dffe14e2f063446 + decision: quarantine + relevance_reason: kernel path 'docs/kernel_authoring_guide.md'; keyword 'mfma' + architectures: [] + architecture_status: out-of-scope + scope_status: out-of-scope + changed_paths: + - docs/api/compiler.rst + - docs/api/dsl.rst + - docs/architecture_guide.md + - docs/kernel_authoring_guide.md + - docs/prebuilt_kernels_guide.md + - examples/notebooks/02_struct.ipynb + - kernels/attention/flash_attn_utils.py + - kernels/attention/fused_rope_cache_kernel.py + - kernels/attention/mla_fwd_decode_m16x8_fp8_fp8.py + - kernels/attention/pa_common.py + - kernels/attention/pa_decode_fp8.py + - kernels/attention/pa_decode_swa.py + - kernels/attention/pa_metadata.py + - kernels/attention/qk_norm_rope_quant.py + - kernels/comm/custom_all_reduce_kernel.py + - kernels/comm/flydsl_dispatch_combine_intranode_kernel.py + - kernels/common/buffer_ops.py + - kernels/common/gfx1250_cluster.py + - kernels/common/mem_ops.py + - kernels/common/mma/mfma_epilogues.py + - kernels/common/mma/mfma_preshuffle_pipeline.py + - kernels/common/tensor_shim.py + - kernels/conv/conv3d_implicit_8wave.py + - kernels/conv/conv3d_implicit_8wave_fp8.py + - kernels/gemm/blockscale_preshuffle_gemm.py + - kernels/gemm/fp4_gemm_4wave.py + - kernels/gemm/fp8_gemm_4wave.py + - kernels/gemm/gemm_common_gfx1250.py + - kernels/gemm/gemm_fp8fp4_gfx1250.py + - kernels/gemm/hgemm_splitk.py + - kernels/gemm/preshuffle_gemm.py + - kernels/gemm/rdna3_f16_gemm.py + - kernels/gemm/rdna_f16_gemm.py + - kernels/gemm/rdna_fp8_preshuffle_gemm.py + - kernels/gemm/small_m_hgemm.py + - kernels/gemm/splitk_hgemm.py + - kernels/gemm/wmma_gemm_gfx1250.py + - kernels/moe/mixed_moe_gemm_2stage/gemm1.py + - kernels/moe/mixed_moe_gemm_2stage/gemm2.py + - kernels/moe/moe_blockscale_2stage/gemm1.py + - kernels/moe/moe_blockscale_2stage/gemm2.py + - kernels/moe/moe_blockscale_2stage/reduction.py + - kernels/moe/moe_common.py + - kernels/moe/moe_gemm_2stage/gemm1.py + - kernels/moe/moe_gemm_2stage/gemm2.py + - kernels/moe/moe_gemm_2stage/reduction.py + - kernels/moe/moe_gemm_2stage_mxscale_gfx1250.py + - kernels/moe/moe_gemm_2stage_wmma_gfx1250.py + - kernels/moe/moe_sorting_kernel.py + - kernels/moe/silu_and_mul_fq.py + - kernels/moe/topk_gating_softmax_kernel.py + - kernels/norm/layernorm_kernel.py + - kernels/norm/rmsnorm_bwd_kernel.py + - kernels/norm/rmsnorm_common.py + - kernels/norm/rmsnorm_kernel.py + - kernels/norm/softmax_kernel.py + - python/flydsl/expr/__init__.py + - python/flydsl/expr/rocdl/cluster.py + - python/flydsl/expr/rocdl/tdm_ops.py + - python/flydsl/expr/vector.py + - tests/kernels/test_fused_rope_cache.py + - tests/kernels/test_quant.py + - tests/perf/bench_tdm_bandwidth_gfx1250.py + - tests/system/test_closure_freevars_mismatch.py + - tests/system/test_for_auto_iter_args_e2e.py + - tests/system/test_for_vector_carry_shape_e2e.py + - tests/system/test_if_liveout_minimal.py + - tests/system/test_ifexp_e2e.py + - tests/system/test_inline_compare_scf_if.py + - tests/system/test_while_e2e.py + - tests/unit/test_expr_optional_rocdl.py + - tests/unit/test_for_auto_iter_args.py + - tests/unit/test_tdm_mcast_add_gfx1250.py + - tests/unit/test_vector.py + changed_path_count: 74 + trust: first-party + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: '- move expr/buffer_ops.py -> expr/rocdl/buffer_ops.py, drop + root lazy alias + + - migrate all call sites to `from flydsl.expr.rocdl import buffer_ops` + + - split compute_mcast_masks() out of rocdl/cluster.py into kernels/common/gfx1250_cluster.py + + - update optional-rocdl test, docs, and import paths + + + Co-Authored-By: Feng Shijie ' + hardware_features: + - mfma + - fp8 + - fp4 + kernel_types: + - attention + - moe + - fp8-gemm + - gemm + - rmsnorm + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' diff --git a/candidates/runs/20260724T031505418000Z/aiter.yaml b/candidates/runs/20260724T031505418000Z/aiter.yaml new file mode 100644 index 00000000..a13fe3e6 --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/aiter.yaml @@ -0,0 +1,267 @@ +schema_version: 1 +source_id: rocm-aiter +source_kind: github-prs +repo: ROCm/aiter +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: + merged_at: '2026-07-23T03:55:21Z' + pr: 4338 + merge_sha: 23dd8d95392eb3add7fe5031e5c6f400b16d6218 + captured_at: '2026-07-23' +counts: + defer: 1 + include: 2 + quarantine: 1 +candidates: +- id: rocm-aiter:pr:4345 + source_id: rocm-aiter + source_kind: github-pr + repo: ROCm/aiter + component: null + pr: 4345 + title: '[MLA v4 nm] Force occupancy-only split selection (ignore total_kv)' + author: liyjiang + merged_at: '2026-07-23T14:15:19Z' + merge_sha: ae0bae8954110b12655e3232f68262dd63cd694e + source_url: https://github.com/ROCm/aiter/pull/4345 + source_fingerprint: sha256:08b1e22c9a8fab7854fd962e261831c3e5e039a4cabc564404f0ade7e7ce8dd5 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - aiter/mla.py + - op_tests/test_mla_v4_nm.py + changed_path_count: 2 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: 'get_meta_param gains an ignore_total_kv flag (default 0 = legacy). + When set, the auto split-count search uses only the CU-occupancy factor (drops + the avg_kv HBM-efficiency term) and skips the fp8 min-block cap, giving a pure + occupancy-driven pick independent of per-seq KV length. + + mla_decode_fwd_v4_nm forces this on internally so v4 nm decode selects splits + purely by CU occupancy. Because this can pick num_kv_splits > 1 even for short + KV (where the fp8 cap previously forced single-pass), test_v4_nm_sink now compares + the authoritative BF16 output buffer (populated for both single- and multi-pass) + instead of the single-pass-only packed-BF16 logits view.' + hardware_features: + - fp8 + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-aiter:pr:4352 + source_id: rocm-aiter + source_kind: github-pr + repo: ROCm/aiter + component: null + pr: 4352 + title: 'perf(gptoss): tune bf16 GEMM shapes to non-hipblaslt kernels' + author: valarLip + merged_at: '2026-07-23T13:52:20Z' + merge_sha: 219d610832b95c414efc0df9aac007431da71c02 + source_url: https://github.com/ROCm/aiter/pull/4352 + source_fingerprint: sha256:9809b2dbaf673f1ae38fe83502fe52a4a0b7cadd3c7463edca7653d0b6332f66 + decision: quarantine + relevance_reason: kernel path 'aiter/configs/model_configs/gptoss_bf16_tuned_gemm.csv'; + keyword 'gemm' + architectures: + - gfx950 + architecture_status: metadata-evidence + scope_status: out-of-scope + changed_paths: + - aiter/configs/model_configs/gptoss_bf16_tuned_gemm.csv + changed_path_count: 1 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: 'Problem + + Starting gpt-oss-120b with -tp 2 --enable-dp-attention --enable-expert-parallel + --enable-tbo crashes during CUDA/HIP graph capture: + + Hip error: ''operation not permitted when stream is capturing''(900) at hipblaslt.cpp:147 + + Engine Core: load model runner failed + + + Root cause + + Several gpt-oss bf16 GEMM shapes have no tuned config, so they fall back to the + torch path (F.linear → hipBLASLt). Under --enable-tbo, decode batches are split + into bs/2 micro-batches, producing GEMM shapes (e.g. m=2880 n=128 k=4096, the + o/down projection at the TBO ubatch token count) that are executed for the first + time during cudagraph capture. hipBLASLt''s algorithm/workspace init on first + touch of a shape is stream-capture-illegal → HIP error 900. + + Confirmed via HIPBLASLT_LOG_MASK=32 trace: the crashing matmul carries a hipBLASLt + solution_index, i.e. it went through the hipBLASLt path. + + Fix + + Tune the affected gpt-oss bf16 GEMM shapes (all dtype=bf16 outdtype=bf16) so they + resolve to direct-launch kernels instead of torch/hipBLASLt: + + + + + N + + K + + role + + + + + + 2880 + + 4096 + + o / down proj + + + + 5120 + + 2880 + + qkv / gate-up + + + + 128 + + 2880 + + router gate + + + + 201088 + + 2880 + + lm_head + + + + + Result: all resolve to asm / flydsl / triton / opus — no torch/hi' + hardware_features: [] + kernel_types: + - attention + - moe + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-aiter:pr:3732 + source_id: rocm-aiter + source_kind: github-pr + repo: ROCm/aiter + component: null + pr: 3732 + title: HD256 FMHA FP8 GFX950 + author: JohnNikolay84 + merged_at: '2026-07-23T09:37:13Z' + merge_sha: 75c5e0f0b382d335d2698a4c5177a252dba7d8cc + source_url: https://github.com/ROCm/aiter/pull/3732 + source_fingerprint: sha256:3d9658361b1ca20bb2269d1d3a380f43e979b35b0ff78003435232102726ea83 + decision: include + relevance_reason: kernel path 'csrc/cpp_itfs/mha_fwd.cu'; keyword 'attention' + architectures: + - gfx950 + architecture_status: path-evidence + scope_status: active + changed_paths: + - aiter/ops/mha.py + - csrc/cpp_itfs/mha_fwd.cu + - hsa/gfx950/fmha_v3_fwd/fmha_fwd.csv + - hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8.co + - hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_causal.co + - hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_causal_group.co + - hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_group.co + changed_path_count: 7 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: "Motivation\nqwen3.5 is using triton attention which is slow,\ + \ we have tried to implement an asm alternative to increase performance.\nTechnical\ + \ Details\nUse hd128 reference attention kernel and implement hd256 support. kv\ + \ tile is reduced to 64 to fit into registers req.\nTest Plan\n\nTest Result\n\ + Light blue is a new fmha f8 hd256.\n\n## Submission Checklist\n\n Look over the\ + \ contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests." + hardware_features: + - fp8 + kernel_types: + - flash-attention + - attention + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-aiter:pr:3951 + source_id: rocm-aiter + source_kind: github-pr + repo: ROCm/aiter + component: null + pr: 3951 + title: '[Configs] DSv3.2 gfx942 (MI325X): tuned a8w8 blockscale GEMM + FMoE configs + (TP8)' + author: frida-andersson + merged_at: '2026-07-23T08:33:18Z' + merge_sha: 84493f0e5b083b02c9ff3d60961f58bae547045a + source_url: https://github.com/ROCm/aiter/pull/3951 + source_fingerprint: sha256:bf38f45e82ae94ce63aa49342693c3967fed7fc1c02d6f30b701619f59c77438 + decision: include + relevance_reason: kernel path 'aiter/configs/model_configs/a8w8_blockscale_tuned_fmoe_ds_v3.csv'; + keyword 'gemm' + architectures: + - gfx942 + architecture_status: metadata-evidence + scope_status: quarantine + changed_paths: + - aiter/configs/model_configs/a8w8_blockscale_tuned_fmoe_ds_v3.csv + - aiter/configs/model_configs/a8w8_blockscale_tuned_gemm_ds_v3.csv + changed_path_count: 2 + trust: first-party + license: MIT + injection_signals: [] + untrusted_excerpt: 'Summary + + Tuned a8w8 blockscale GEMM + FMoE configs for DeepSeek-V3.2 on gfx942 (MI325X), + TP8. Config data only — no kernel/code changes. + + Changes + + + aiter/configs/a8w8_blockscale_tuned_gemm.csv (+525): new per-M autotuned rows + for the DSv3.2 TP8 GEMM shapes (attention-projection + MLA/dense). All 525 are + new (M,N,K,cu_num,gfx) shapes — none overwrite existing rows. + + aiter/configs/tuned_fmoe.csv (+46): new autotuned FMoE rows for the DSv3.2 expert + shapes (all new shapes). + + aiter/configs/model_configs/a8w8_blockscale_tuned_gemm_ds_v3.csv (−62): removes + stale, coarse override rows for shapes now covered by the main CSV — 512×7168, + 256×7168, 2112×7168, 3072×1536, 4096×512, 7168×2048. + + + Why remove the ds_v3 overrides? + + The loader (aiter/jit/core.py) merges a8w8_blockscale_tuned_gemm.csv with every + model_configs/*a8w8_blockscale_tuned_gemm*.csv and dedups on (M,N,K,cu_num,gfx) + against the untuned key file. The old ds_v3 rows for these shapes pinned a single + coarse kernel across all M; keeping them alongside the new per-M autotuned rows + would (a) trip the loader''s duplicate-shape guard at load time and (b) shadow + the better configs. The retained main-CSV rows are strictly faster (lower us) + for ev' + hardware_features: [] + kernel_types: + - attention + - moe + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' diff --git a/candidates/runs/20260724T031505418000Z/amdgpu-guide.yaml b/candidates/runs/20260724T031505418000Z/amdgpu-guide.yaml new file mode 100644 index 00000000..cd83ddf6 --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/amdgpu-guide.yaml @@ -0,0 +1,11 @@ +schema_version: 1 +source_id: amdgpu-optimization-guide +source_kind: github-tree +repo: nod-ai/amd-shark-ai +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: + commit: efa471aeef66a260c85983cc41e833bfa769dade + captured_at: '2026-07-23' +counts: {} +candidates: [] diff --git a/candidates/runs/20260724T031505418000Z/flash-attention.yaml b/candidates/runs/20260724T031505418000Z/flash-attention.yaml new file mode 100644 index 00000000..d5fd8c4d --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/flash-attention.yaml @@ -0,0 +1,9 @@ +schema_version: 1 +source_id: rocm-flash-attention +source_kind: github-prs +repo: ROCm/flash-attention +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: null +counts: {} +candidates: [] diff --git a/candidates/runs/20260724T031505418000Z/manifest.yaml b/candidates/runs/20260724T031505418000Z/manifest.yaml new file mode 100644 index 00000000..de6a7320 --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/manifest.yaml @@ -0,0 +1,59 @@ +schema_version: 1 +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +registry_sha256: a8f03b8b6d6690443821596cd173a3f32172eebdae475668ba489e8a61364caa +sources: +- source_id: rocm-aiter + count: 4 + decisions: + defer: 1 + include: 2 + quarantine: 1 +- source_id: rocm-flydsl + count: 3 + decisions: + exclude: 2 + quarantine: 1 +- source_id: rocm-atom + count: 8 + decisions: + defer: 1 + exclude: 5 + include: 2 +- source_id: rocm-rocm-libraries + count: 25 + decisions: + defer: 10 + exclude: 8 + include: 4 + quarantine: 3 +- source_id: rocm-triton + count: 0 + decisions: {} +- source_id: rocm-flash-attention + count: 0 + decisions: {} +- source_id: vllm-rocm + count: 33 + decisions: + defer: 2 + exclude: 31 +- source_id: sglang-rocm + count: 31 + decisions: + defer: 1 + exclude: 29 + include: 1 +- source_id: rocm-blogs + count: 24 + decisions: + defer: 5 + exclude: 19 +- source_id: amdgpu-optimization-guide + count: 0 + decisions: {} +totals: + defer: 20 + exclude: 94 + include: 9 + quarantine: 5 diff --git a/candidates/runs/20260724T031505418000Z/refresh-summary.yaml b/candidates/runs/20260724T031505418000Z/refresh-summary.yaml new file mode 100644 index 00000000..3372c64e --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/refresh-summary.yaml @@ -0,0 +1,45 @@ +schema_version: 1 +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +discovery: + included: 9 + deferred: 20 + excluded: 94 + quarantined: 5 + total: 128 + run_id: 20260724T031505418000Z + run_date: '2026-07-24' +gap_proposals: 0 +machine_changes: 0 +changed_files: +- candidates/eval-gaps.yaml +- candidates/runs/20260724T031505418000Z/ATOM.yaml +- candidates/runs/20260724T031505418000Z/FlyDSL.yaml +- candidates/runs/20260724T031505418000Z/aiter.yaml +- candidates/runs/20260724T031505418000Z/amdgpu-guide.yaml +- candidates/runs/20260724T031505418000Z/flash-attention.yaml +- candidates/runs/20260724T031505418000Z/manifest.yaml +- candidates/runs/20260724T031505418000Z/refresh-summary.yaml +- candidates/runs/20260724T031505418000Z/rocm-blogs.yaml +- candidates/runs/20260724T031505418000Z/rocm-libraries.yaml +- candidates/runs/20260724T031505418000Z/sglang.yaml +- candidates/runs/20260724T031505418000Z/triton.yaml +- candidates/runs/20260724T031505418000Z/vllm.yaml +- candidates/synthesis-proposals.yaml +- data/corpus-manifest.yaml +- data/evolution-state.yaml +- queries/by-hardware-feature.md +- queries/by-kernel-type.md +- queries/by-language.md +- queries/by-repo.md +- sources/prs/ATOM/PR-1673.md +- sources/prs/ATOM/PR-860.md +- sources/prs/aiter/PR-3732.md +- sources/prs/aiter/PR-3951.md +- sources/prs/rocm-libraries/PR-9305.md +- sources/prs/rocm-libraries/PR-9308.md +- sources/prs/rocm-libraries/PR-9588.md +- sources/prs/rocm-libraries/PR-9759.md +- sources/prs/sglang/PR-32191.md +changed_lines: 7714 +dry_run: false diff --git a/candidates/runs/20260724T031505418000Z/rocm-blogs.yaml b/candidates/runs/20260724T031505418000Z/rocm-blogs.yaml new file mode 100644 index 00000000..f4fdc86e --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/rocm-blogs.yaml @@ -0,0 +1,397 @@ +schema_version: 1 +source_id: rocm-blogs +source_kind: github-tree +repo: ROCm/rocm-blogs +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: + commit: e8b2ff4be13151b6a89bbdc7b256f145f29cf90d + captured_at: '2026-07-23' +counts: + defer: 5 + exclude: 19 +candidates: +- id: rocm-blogs:tree:3c060a6f8be0e35a + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: .wordlist.txt + status: modified + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/.wordlist.txt + source_fingerprint: sha256:637e90593e3647b3a4a092e024c6b407c193cb3dab8bb3933c060a6f8be0e35a + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:302e1d383eb7272f + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/README.md + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/README.md + source_fingerprint: sha256:065d5344be7f52bd85dce20ba12dcd507644a1c797d36db8302e1d383eb7272f + discovered_at: '2026-07-24' + decision: defer + relevance_reason: allowlisted source path changed + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:d9d65764052000ab + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/chat-response.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/chat-response.png + source_fingerprint: sha256:2f87e45d38e2f3a40dc8c162ec38aceb9313a6c95a117365d9d65764052000ab + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:3fca310c2af06dc8 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/custom-model-tab.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/custom-model-tab.png + source_fingerprint: sha256:64db82a0f9bc7bcf1828e43cf20cc18034c806c635115b7c3fca310c2af06dc8 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:fa1201a9ae6e06bc + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/custom-models-thumbnail.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/custom-models-thumbnail.png + source_fingerprint: sha256:0d069e2e86282c6570d40f2954425e75f7cd2188bdade9d1fa1201a9ae6e06bc + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:667bcf8192d0dcc8 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/deployed-model.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/deployed-model.png + source_fingerprint: sha256:49ca8375171da671cd6386b194fb319140ce316f04237011667bcf8192d0dcc8 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:f5901f2407bd6495 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/deployment-drawer.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/deployment-drawer.png + source_fingerprint: sha256:75a93759f64b7a3032168cd837c9a1c8280b384d5f8e811bf5901f2407bd6495 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:ba2eb8bfa616c6bc + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/model-card.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/model-card.png + source_fingerprint: sha256:e60a78b7705321ec393207e9a176d6c127f638e5eeee8794ba2eb8bfa616c6bc + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:bcfb8156b2f3f1d1 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/model-information.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/model-information.png + source_fingerprint: sha256:6198dd95ceba1bfedede595ce62c9887dbe2b2e960236a18bcfb8156b2f3f1d1 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:146f7cc94c057f4b + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/model-source.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/model-source.png + source_fingerprint: sha256:37b80cf040f27532d102ceccd58c021f9cf883a36fc21186146f7cc94c057f4b + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:04c7583257b91abf + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/runtime-profile-edits.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/runtime-profile-edits.png + source_fingerprint: sha256:773361be15fc0a8834042fe308eb1ccdab9cc9ae2cf2fcdc04c7583257b91abf + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:c10faac19d07e021 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/aiwb-custom-models/images/runtime-profile-step.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/aiwb-custom-models/images/runtime-profile-step.png + source_fingerprint: sha256:cb8b36fde4447d5a27dc548a67eafc280962f46da6527979c10faac19d07e021 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:e7324e1c9f18093f + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/amd-infinity-context/README.md + status: modified + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/amd-infinity-context/README.md + source_fingerprint: sha256:b00eea569afb202908e50cd3e35742bc7d08946fb1841d57e7324e1c9f18093f + discovered_at: '2026-07-24' + decision: defer + relevance_reason: allowlisted source path changed + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:0eb695a43197391c + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/hyperloom/README.md + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/hyperloom/README.md + source_fingerprint: sha256:c0e4d90478f02bd5b4d2cc6d9ac10f8984c571dabaee79c30eb695a43197391c + discovered_at: '2026-07-24' + decision: defer + relevance_reason: allowlisted source path changed + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:c16df1699962af64 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/hyperloom/images/Hyperloom_architecture.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/hyperloom/images/Hyperloom_architecture.png + source_fingerprint: sha256:f92ca00d5fded281608975f7ee7087fc1dec2047cbc4a71cc16df1699962af64 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:367ecf317f559846 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/hyperloom/images/Hyperloom_blog.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/hyperloom/images/Hyperloom_blog.png + source_fingerprint: sha256:f6d5ec4946af47cba4082dd0941f02ac8ea4e8224be7114b367ecf317f559846 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:1929e43da499749d + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/infera-di/README.md + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/infera-di/README.md + source_fingerprint: sha256:249cb49aeb807a8ac45a78966d637192ce9276f4fd2cc4681929e43da499749d + discovered_at: '2026-07-24' + decision: defer + relevance_reason: allowlisted source path changed + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:91a3bc9b956a7004 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/infera-di/images/infera-distributed-inference-blog.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/infera-di/images/infera-distributed-inference-blog.png + source_fingerprint: sha256:771b67330bd6bdcb40e67dbab31947aa6c570648e13ac78091a3bc9b956a7004 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:d9ec0abfcc2b65cb + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/infera-di/images/infera_architecture.svg + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/infera-di/images/infera_architecture.svg + source_fingerprint: sha256:5e78f914941773b5cca6fe37eeec037ab3ac8d73f34f5061d9ec0abfcc2b65cb + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:dabe9765636a4a48 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/infera-di/images/infera_capabilities.svg + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/infera-di/images/infera_capabilities.svg + source_fingerprint: sha256:350fc873ff354e365af486b00980466f65180b964dc2c2d4dabe9765636a4a48 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:4f65c413dd1e3a9b + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/infera-di/images/infera_goodput_results.svg + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/infera-di/images/infera_goodput_results.svg + source_fingerprint: sha256:197f98965c124ff6a6180e1383093d493baea2865954d1de4f65c413dd1e3a9b + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:5c9b4f1453460e4b + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/infera-di/images/infera_request_flow.svg + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/infera-di/images/infera_request_flow.svg + source_fingerprint: sha256:52054147c8b7a8974f5c16a1d9960219e8297b433784bd585c9b4f1453460e4b + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:92b50eaf29827956 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/kimi-k25-mxfp4-atom/README.md + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/kimi-k25-mxfp4-atom/README.md + source_fingerprint: sha256:abb8c538978ee34e07fef3331a3eeb0e83ab5182197099ce92b50eaf29827956 + discovered_at: '2026-07-24' + decision: defer + relevance_reason: allowlisted source path changed + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream +- id: rocm-blogs:tree:88169a72779839a8 + source_id: rocm-blogs + source_kind: github-tree + repo: ROCm/rocm-blogs + path: blogs/software-tools-optimization/kimi-k25-mxfp4-atom/images/kimi-k25-mxfp4-atom-thumbnail.png + status: added + source_url: https://github.com/ROCm/rocm-blogs/blob/97cb1971730336784d58f95250064cf51c28bc79/blogs/software-tools-optimization/kimi-k25-mxfp4-atom/images/kimi-k25-mxfp4-atom-thumbnail.png + source_fingerprint: sha256:2a409135bac5198c351759fa333b11f8cf8c394441bc5c8288169a72779839a8 + discovered_at: '2026-07-24' + decision: exclude + relevance_reason: path is outside the source allowlist + architectures: [] + architecture_status: unknown + scope_status: quarantine + trust: first-party + license: mixed-upstream diff --git a/candidates/runs/20260724T031505418000Z/rocm-libraries.yaml b/candidates/runs/20260724T031505418000Z/rocm-libraries.yaml new file mode 100644 index 00000000..dd759d8d --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/rocm-libraries.yaml @@ -0,0 +1,1639 @@ +schema_version: 1 +source_id: rocm-rocm-libraries +source_kind: github-prs +repo: ROCm/rocm-libraries +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: + merged_at: '2026-07-23T06:08:26Z' + pr: 9351 + merge_sha: d04f6751f3df4a716fdd5d2ead6c2918d285964b + captured_at: '2026-07-23' +counts: + defer: 10 + exclude: 8 + include: 4 + quarantine: 3 +candidates: +- id: rocm-rocm-libraries:pr:9357 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9357 + title: chore(hipblas) Remove unused include + author: benrichard-amd + merged_at: '2026-07-24T03:00:39Z' + merge_sha: 64d663c00fbeb5c1a762fd4f93eef4e16a34fc16 + source_url: https://github.com/ROCm/rocm-libraries/pull/9357 + source_fingerprint: sha256:931c640b04c22e2dcd25ddb5fc9e5dd18e719e555f756331a479c9832a86a1ef + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/hipblas/clients/include/hipblas_arguments.hpp + changed_path_count: 1 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Remove unused include from hipBLAS header + + Motivation + + Removing in unused x86-specific header helps improve code portability (ROCm/TheRock#5518). + + Technical Details + + immintrin.h is the header for Intel SSE. There is no code relying on this include + statement. + + Test Plan + + Verify hipBLAS library and tests build successfully + + Test Result + + hipBLAS library and tests build successfully + + Submission Checklist + + + [*] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9121 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: hipblaslt + pr: 9121 + title: 'feat(hipsparselt-tensilelite): Gate Residual Epilogue - Phase 1 : FP16 on + gfx942' + author: alex391a + merged_at: '2026-07-24T02:50:25Z' + merge_sha: c42e983504188ed4af24d3c26bc9e7f07247c975 + source_url: https://github.com/ROCm/rocm-libraries/pull/9121 + source_fingerprint: sha256:ebc5fefdc32a4d954dc50355b2d4dd7fc8cf4dec59a8b0267ecf9a463f4660ae + decision: quarantine + relevance_reason: kernel path 'projects/hipblaslt/tensilelite/Tensile/AsmAddressCalculation.py'; + keyword 'kernel' + architectures: + - gfx942 + architecture_status: path-evidence + scope_status: out-of-scope + changed_paths: + - projects/hipblaslt/tensilelite/Tensile/AsmAddressCalculation.py + - projects/hipblaslt/tensilelite/Tensile/AsmStoreState.py + - projects/hipblaslt/tensilelite/Tensile/BenchmarkProblems.py + - projects/hipblaslt/tensilelite/Tensile/BenchmarkStructs.py + - projects/hipblaslt/tensilelite/Tensile/ClientWriter.py + - projects/hipblaslt/tensilelite/Tensile/Common/GlobalParameters.py + - projects/hipblaslt/tensilelite/Tensile/Common/ValidParameters.py + - projects/hipblaslt/tensilelite/Tensile/Components/ComputeStoreVgprs.py + - projects/hipblaslt/tensilelite/Tensile/Components/GlobalWriteBatch.py + - projects/hipblaslt/tensilelite/Tensile/Components/LSU.py + - projects/hipblaslt/tensilelite/Tensile/Components/Signature.py + - projects/hipblaslt/tensilelite/Tensile/Contractions.py + - projects/hipblaslt/tensilelite/Tensile/KernelWriter.py + - projects/hipblaslt/tensilelite/Tensile/KernelWriterAssembly.py + - projects/hipblaslt/tensilelite/Tensile/KernelWriterConversion.py + - projects/hipblaslt/tensilelite/Tensile/LibraryIO.py + - projects/hipblaslt/tensilelite/Tensile/SolutionLibrary.py + - projects/hipblaslt/tensilelite/Tensile/SolutionStructs/Problem.py + - projects/hipblaslt/tensilelite/Tensile/SolutionStructs/Solution.py + - projects/hipblaslt/tensilelite/Tensile/TensileLibLogicToYaml.py + - projects/hipblaslt/tensilelite/Tensile/Tests/common/sparse/gfx94x/fp16_gate_r.yaml + - projects/hipblaslt/tensilelite/Tensile/Tests/unit/characterization/Contractions/__snapshots__/test_contractions_char.ambr + - projects/hipblaslt/tensilelite/Tensile/Tests/unit/characterization/ProblemType/__snapshots__/test_helpers_char.ambr + - projects/hipblaslt/tensilelite/Tensile/Tests/unit/characterization/ProblemType/__snapshots__/test_problemtype_char.ambr + - projects/hipblaslt/tensilelite/Tensile/Tests/unit/characterization/SolutionClass/__snapshots__/test_solution_class_char.ambr + - projects/hipblaslt/tensilelite/Tensile/Tests/unit/characterization/ValidParameters/__snapshots__/test_builders_char.ambr + - projects/hipblaslt/tensilelite/Tensile/Tests/unit/test_data/cpu_only_clientconfig.golden.ini + - projects/hipblaslt/tensilelite/Tensile/Utilities/tensile_generator/tensile_config_generator.py + - projects/hipblaslt/tensilelite/client/include/ClientProblemFactory.hpp + - projects/hipblaslt/tensilelite/client/include/ReferenceValidator.hpp + - projects/hipblaslt/tensilelite/client/main.cpp + - projects/hipblaslt/tensilelite/client/src/ClientProblemFactory.cpp + - projects/hipblaslt/tensilelite/client/src/DataInitialization.cpp + - projects/hipblaslt/tensilelite/client/src/Reference.cpp + - projects/hipblaslt/tensilelite/client/src/ReferenceValidator.cpp + - projects/hipblaslt/tensilelite/include/Tensile/ContractionProblem.hpp + - projects/hipblaslt/tensilelite/include/Tensile/ContractionProblemPredicates.hpp + - projects/hipblaslt/tensilelite/include/Tensile/ContractionProblem_Detail.hpp + - projects/hipblaslt/tensilelite/include/Tensile/ContractionSolution.hpp + - projects/hipblaslt/tensilelite/include/Tensile/MasterSolutionLibrary.hpp + - projects/hipblaslt/tensilelite/include/Tensile/Serialization/ContractionPredicates.hpp + - projects/hipblaslt/tensilelite/include/Tensile/Serialization/ContractionSolution.hpp + - projects/hipblaslt/tensilelite/src/ContractionProblem.cpp + - projects/hipblaslt/tensilelite/src/ContractionSolution.cpp + - projects/hipsparselt/clients/bench/client.cpp + - projects/hipsparselt/clients/include/hipsparselt_arguments.hpp + - projects/hipsparselt/clients/include/hipsparselt_common.yaml + - projects/hipsparselt/clients/include/spmm/testing_spmm.hpp + - projects/hipsparselt/clients/include/type_dispatch.hpp + - projects/hipsparselt/clients/test/spmm_batched_gtest.yaml + - projects/hipsparselt/clients/test/spmm_batched_gtest_row.yaml + - projects/hipsparselt/clients/test/spmm_gtest.cpp + - projects/hipsparselt/clients/test/spmm_gtest.yaml + - projects/hipsparselt/clients/test/spmm_gtest_row.yaml + - projects/hipsparselt/clients/test/spmm_strided_batched_gtest.yaml + - projects/hipsparselt/clients/test/spmm_strided_batched_gtest_row.yaml + - projects/hipsparselt/library/include/hipsparselt.h + - projects/hipsparselt/library/src/hcc_detail/hipsparselt.cpp + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/include/rocsparselt-types.h + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/handle.cpp + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/include/handle.h + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/include/tensile_host.hpp + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/rocsparselt_auxiliary.cpp + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/Equality/aquavanjaram_Cijk_Ailk_Bjlk_HHS_BH_Bias_FDMN_SPAML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/Equality/aquavanjaram_Cijk_Ailk_Bjlk_HHS_BH_Bias_FDMN_SPBML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/Equality/aquavanjaram_Cijk_Ailk_Bljk_HHS_BH_Bias_FDMN_SPAML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/Equality/aquavanjaram_Cijk_Ailk_Bljk_HHS_BH_Bias_FDMN_SPBML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/Equality/aquavanjaram_Cijk_Alik_Bjlk_HHS_BH_Bias_FDMN_SPAML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/Equality/aquavanjaram_Cijk_Alik_Bjlk_HHS_BH_Bias_FDMN_SPBML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/Equality/aquavanjaram_Cijk_Alik_Bljk_HHS_BH_Bias_FDMN_SPAML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/Equality/aquavanjaram_Cijk_Alik_Bljk_HHS_BH_Bias_FDMN_SPBML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/GridBased/aquavanjaram_Cijk_Ailk_Bjlk_HHS_BH_Bias_FDMN_SPAML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/GridBased/aquavanjaram_Cijk_Ailk_Bjlk_HHS_BH_Bias_FDMN_SPBML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/GridBased/aquavanjaram_Cijk_Ailk_Bljk_HHS_BH_Bias_FDMN_SPAML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/GridBased/aquavanjaram_Cijk_Ailk_Bljk_HHS_BH_Bias_FDMN_SPBML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/GridBased/aquavanjaram_Cijk_Alik_Bjlk_HHS_BH_Bias_FDMN_SPAML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/GridBased/aquavanjaram_Cijk_Alik_Bjlk_HHS_BH_Bias_FDMN_SPBML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/GridBased/aquavanjaram_Cijk_Alik_Bljk_HHS_BH_Bias_FDMN_SPAML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/Tensile/Logic/asm_full/aquavanjaram/gfx942/GridBased/aquavanjaram_Cijk_Alik_Bljk_HHS_BH_Bias_FDMN_SPBML0_A_S_SAV_GateRes_H.yaml + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/spmm/rocsparselt_spmm.cpp + - projects/hipsparselt/library/src/hcc_detail/rocsparselt/src/tensile_host.cpp + changed_path_count: 81 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: "AIHPBLAS-3620\nJIRA ID : AIHPBLAS-3620\nMotivation\nAdd a gate-residual\ + \ epilogue for hipsparselt:\n D = gate * (alpha * A * B + beta * C + bias) +\ + \ gate\n\nThis lets a per-element gate matrix scale and residual-add in a single\ + \ fused\nepilogue.\nTechnical Details\n\n\n\nItem\nSupported\n\n\n\n\nArch\ngfx942\n\ + \n\nData type\nHHS (A/B = fp16, compute = fp32, D = fp16)\n\n\nGate type\nfp16\n\ + \n\n\nUsage\nhipsparseLtMatDescriptor_t matGate;\n// init the matrix descroptor\ + \ of Gate Matrix.\n// the type should same as Matrix A, the shapes and memory\ + \ order should same as the Matrix D\nhipsparseLtDenseDescriptorInit(handle,\n\ + \ &matGate,\n M,\n \ + \ N,\n ld,\n \ + \ 16,\n HIP_R_16F,\n \ + \ orderD);\n\n//[Optional] setting batch, the number must same\ + \ as A/B/C/D's batch\nhipsparseLtMatDescSetAttribute(handle, matGate, HIPSPARSELT_MAT_NUM_BATCHES,\ + \ &num_batches, sizeof(int));\n\n// [Optional] setting stride for different batch\ + \ type\n// - Broadcast mode (one gate matrix shared across all batches):\n// \ + \ stride_gate = 0 (default)\n// - One-to-one batch mode (each batch has" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9419 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: hipblaslt + pr: 9419 + title: 'fix(tensilelite): fix subtile kernel cluster barrier pairing' + author: WorldofKerry + merged_at: '2026-07-24T01:10:48Z' + merge_sha: 64e51261821e5ed94c2e7565002637b424ca8137 + source_url: https://github.com/ROCm/rocm-libraries/pull/9419 + source_fingerprint: sha256:1ab257e01ba420acc03ddf7f915162c14a6a227d5c3364fe5429a3c25db6a78a + decision: quarantine + relevance_reason: kernel path 'projects/hipblaslt/tensilelite/Tensile/Components/Subtile/ClusterBarrier.py'; + keyword 'kernel' + architectures: [] + architecture_status: out-of-scope + scope_status: out-of-scope + changed_paths: + - projects/hipblaslt/tensilelite/Tensile/Components/Subtile/ClusterBarrier.py + - projects/hipblaslt/tensilelite/Tensile/Tests/unit/test_ClusterBarrierPairing.py + changed_path_count: 2 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: "ISSUE ID: AIHPBLAS-4126\nMotivation\nOn gfx1250 FFM, get error\ + \ wave dbg_id:0x300 signaled barrier (-3) that is already completed.\nTechnical\ + \ Details\nPreviously s_barrier_wait -3 was appended at the end of the loop section\n\ + module. Early-exit branches (SkipToNLL, SkipToNGLL, SkipTailLoopL) could\njump\ + \ past the deferred wait, leaving the barrier signalled but never\nwaited, which\ + \ trips FFM assertions and is incorrect on hardware.\nAdd a second pass that places\ + \ the wait before the first early-exit\nbranch (SCBranchSCC1) that follows each\ + \ signal. This guarantees no exit\npath can skip the wait while preserving a latency-hiding\ + \ gap (typically\n8+ WMMAs) between signal and wait. If no exit branch follows\ + \ a signal,\nthe wait is appended at the module end as before.\nTest Result\n\n\ + Cluster yaml now passes on FFM with no error\n Run on gfx1250\n\nAsm changes\n\ + 1) Move preloop wait to be before the branch\n\n2) Adjust tail loop wait location" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9808 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9808 + title: 'build(deps): bump gitpython from 3.1.47 to 3.1.52 in /projects/hipblas/docs/sphinx' + author: dependabot + merged_at: '2026-07-23T23:58:22Z' + merge_sha: 06bf294055b731705df01386b7e458cb5fb6cb46 + source_url: https://github.com/ROCm/rocm-libraries/pull/9808 + source_fingerprint: sha256:fcb6f76d4bab66f54b688b9b8367038d17e4fdf7815114ea4e92c8b8c00d880f + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/hipblas/docs/sphinx/requirements.txt + changed_path_count: 1 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Bumps gitpython from 3.1.47 to 3.1.52. + + + Release notes + + Sourced from gitpython''s releases. + + + 3.1.52 Security + + GHSA-rwj8-pgh3-r573: Environment-variable exfiltration via os.path.expandvars() + on Repo.clone_from() URL + + What''s Changed + + + Skip cross-drive relative config test on Windows by @​Byron in gitpython-developers/GitPython#2171 + + fix: preserve literal clone URLs by @​Byron in gitpython-developers/GitPython#2172 + + + Full Changelog: gitpython-developers/GitPython@3.1.51...3.1.52 + + 3.1.51 - Security + + What''s Changed + + + Add AI-disclosure and quality requirements to the contribution guidelines by @​Byron + in gitpython-developers/GitPython#2143 + + docs(cmd): clarify Git.execute() string vs list command argument by @​mvanhorn + in gitpython-developers/GitPython#2144 + + Rewrite Git.execute() command parameter docstring per #2146 by @​EliahKagan in + gitpython-developers/GitPython#2147 + + Document init script behavior with multiple master remotes by @​EliahKagan in + gitpython-developers/GitPython#2148 + + Bump git/ext/gitdb from 335c0f6 to 0a019a2 by @​dependabot[bot] in gitpython-developers/GitPython#2149 + + Support relative worktree paths (git 2.48+ worktree.useRelativePaths) by @​elovelan + in gitpython-developers/GitPython#2' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9822 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: rocblas + pr: 9822 + title: 'build(deps): bump soupsieve from 2.8.3 to 2.8.4 in /projects/rocblas/docs/sphinx' + author: dependabot + merged_at: '2026-07-23T23:57:18Z' + merge_sha: d1dfc97c1a27d29fb680c64849fe1ee46e2dc327 + source_url: https://github.com/ROCm/rocm-libraries/pull/9822 + source_fingerprint: sha256:3e7f44f91ff77ba47d998a8a460d068b41f5539d05ef1375e969af264453fa22 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/rocblas/docs/sphinx/requirements.txt + changed_path_count: 1 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Bumps soupsieve from 2.8.3 to 2.8.4. + + + Release notes + + Sourced from soupsieve''s releases. + + + 2.8.4 + + + FIX: Fix another inefficient attribute pattern (@​mauriceng98). + + FIX: Limit total number of selectors processed in a pattern to prevent massive + selector requests (@​mauriceng98). + + + + + + Commits + + + 28108ab Limit excessive selectors + + ef18872 Fix test for Windows + + eb43976 Merge commit from fork + + 3a661b2 Fix typo in pseudo-classes.md (#294) + + 0cb533d Update hatchling version requirement in pyproject.toml (#290) + + See full diff in compare view + + + + + + Dependabot will resolve any conflicts with this PR as long as you don''t alter + it yourself. You can also trigger a rebase manually by commenting @dependabot + rebase. + + + + Dependabot commands and options + + + You can trigger Dependabot actions by commenting on this PR: + + + @dependabot rebase will rebase this PR + + @dependabot recreate will recreate this PR, overwriting any edits that have been + made to it + + @dependabot show ignore conditions will show all of the ignore + conditions of the specified dependency + + @dependabot ignore this major version will close this PR and stop Dependabot creating + any more for this major version (unless you reopen the PR or upgrade to i' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9566 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9566 + title: 'docs(rocke): add rocke compliance policy and style guides' + author: cgmillette + merged_at: '2026-07-23T23:34:43Z' + merge_sha: e04339910b0d8ffbf7496a608566927738702b47 + source_url: https://github.com/ROCm/rocm-libraries/pull/9566 + source_fingerprint: sha256:98102f4aa6f87a3c9c9fa830e96988e80fb8a86b4091e37a82aa1aef95424849 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - dnn-providers/hip-kernel-provider/rocke/platform/AGENTS.md + - dnn-providers/hip-kernel-provider/rocke/style/CPP_STYLE.md + - dnn-providers/hip-kernel-provider/rocke/style/PYTHON_STYLE.md + changed_path_count: 3 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Motivation + + The rocke package (dnn-providers/hip-kernel-provider/rocke/platform/) had no + + written coding standards or contribution policy of its own — it inherited only + the + + monorepo-wide formatters. This PR establishes three reference documents so new + code + + (and AI-assisted contributions) stay consistent and compliant: + + + A non-negotiable Compliance policy in AGENTS.md that binds every agent and + + contributor (AMD export controls, restricted-data handling, no NPI, device-names-only, + + no public performance data, no legal/marketing claims, no internal links). + + Python and C++ style guides derived from the existing rocke code, so new code + is + + indistinguishable from what is already there. + + + ISSUE ID : AICK-1575 + + Related: AICK-1671 (C/C++ style guide), AICK-1672 (compliance enforcement) + + Technical Details + + Docs-only change (3 files, +625/−1): + + + platform/AGENTS.md — adds a prominent "Compliance — non-negotiable" section at + + the top (source of truth for the shared rules), a "Code style" pointer to the + two new + + guides, and a venv path typo fix. AGENTS.md remains the single source of truth + for + + compliance and hard invariants (byte-identity, relative paths, cross-platform). + + platform/PYTHON_STYLE.md (new) — for' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9796 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9796 + title: 'feat(ci): add ASAN workflows for manual and nightly runs' + author: geomin12 + merged_at: '2026-07-23T23:22:55Z' + merge_sha: ef8d618eee0d7690540af378752206234836d24e + source_url: https://github.com/ROCm/rocm-libraries/pull/9796 + source_fingerprint: sha256:4ae5ece3f4e2dbd9cf2576f70a4ccc54c3851d135b3d31fd1ad57d1c25846fbe + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/workflows/therock-multi-arch-ci-asan-nightly.yml + - .github/workflows/therock-multi-arch-ci-asan.yml + changed_path_count: 2 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Split ASAN CI into two separate workflows: + + + therock_multi_arch_ci_asan.yml: workflow_dispatch only for manual testing + + therock_multi_arch_ci_asan_nightly.yml: scheduled nightly at 7 AM UTC + + + ISSUE ID: ROCm/TheRock#6627' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9244 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9244 + title: 'build(deps): bump soupsieve from 2.5 to 2.8.4 in /projects/rpp/docs/sphinx' + author: dependabot + merged_at: '2026-07-23T23:08:33Z' + merge_sha: 8c8cdb514ce012887a9f43ec8ba05915fcb99a76 + source_url: https://github.com/ROCm/rocm-libraries/pull/9244 + source_fingerprint: sha256:92ba0a11d89e26d682bd8938e4549b7f2aafa0acdcd23bb7392a96d2e3dfea14 + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/rpp/docs/sphinx/requirements.txt + changed_path_count: 1 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Bumps soupsieve from 2.5 to 2.8.4. + + + Release notes + + Sourced from soupsieve''s releases. + + + 2.8.4 + + + FIX: Fix another inefficient attribute pattern (@​mauriceng98). + + FIX: Limit total number of selectors processed in a pattern to prevent massive + selector requests (@​mauriceng98). + + + 2.8.3 + + + FIX: Fix inefficient attribute pattern. + + + 2.8.2 + + + FIX: Ensure custom selectors or namespace dictionaries reject non-string keys + (@​mundanevision20). + + FIX: Fix handling of :in-range and :out-of-range with end of year weeks (@​mundanevision20). + + FIX: Fix a potential infinite loop in the pretty printing debug function (@​mundanevision20). + + + 2.8.1 + + + FIX: Changes in tests to accommodate latest Python HTML parser changes. + + + 2.8 + + + NEW: Drop support for Python 3.8. + + NEW: Add support for Python 3.14. + + NEW: Deploy with PyPI''s "Trusted Publisher". + + + 2.7 + + + NEW: Add :open pseudo selector. + + NEW: Add :muted pseudo selector. + + NEW: Recognize the following pseudo selectors: :autofill, :buffering, :fullscreen, + :picture-in-picture, + + :popover-open, :seeking, :stalled, and :volume-locked. These selectors, while + recognized, will not match any + + element as they require a live environment to check element states and browser + states. This just prevent' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9770 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: rocblas + pr: 9770 + title: 'doc(rocBLAS) : additions and fixes' + author: TorreZuk + merged_at: '2026-07-23T23:07:51Z' + merge_sha: dc15e1f7ca94488299cf73091060b90b3d04f80e + source_url: https://github.com/ROCm/rocm-libraries/pull/9770 + source_fingerprint: sha256:413d3f818657050e07e9987c43ec658d2a6de6a807bd250afa3e4c8001b68662 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/hipblas/CHANGELOG.md + - projects/rocblas/CHANGELOG.md + changed_path_count: 2 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Motivation + + Updates CHANGELOG pre-release. + + JIRA ID: AIROCBLAS-1329' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9657 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9657 + title: 'build(deps): bump gitpython from 3.1.43 to 3.1.51 in /projects/rpp/docs/sphinx' + author: dependabot + merged_at: '2026-07-23T23:01:16Z' + merge_sha: e0dde3cffda0c942dce57419d53146c4c6054b1e + source_url: https://github.com/ROCm/rocm-libraries/pull/9657 + source_fingerprint: sha256:6e37569c92080653e8f66a55873b5cb134b36f9953eb9594b7a090980be9eb1a + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/rpp/docs/sphinx/requirements.txt + changed_path_count: 1 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Bumps gitpython from 3.1.43 to 3.1.51. + + + Release notes + + Sourced from gitpython''s releases. + + + 3.1.51 - Security + + What''s Changed + + + Add AI-disclosure and quality requirements to the contribution guidelines by @​Byron + in gitpython-developers/GitPython#2143 + + docs(cmd): clarify Git.execute() string vs list command argument by @​mvanhorn + in gitpython-developers/GitPython#2144 + + Rewrite Git.execute() command parameter docstring per #2146 by @​EliahKagan in + gitpython-developers/GitPython#2147 + + Document init script behavior with multiple master remotes by @​EliahKagan in + gitpython-developers/GitPython#2148 + + Bump git/ext/gitdb from 335c0f6 to 0a019a2 by @​dependabot[bot] in gitpython-developers/GitPython#2149 + + Support relative worktree paths (git 2.48+ worktree.useRelativePaths) by @​elovelan + in gitpython-developers/GitPython#2151 + + Defer xfail condition evaluation with xfail_if_raises context manager by @​elovelan + in gitpython-developers/GitPython#2153 + + Run more submodule tests on Cygwin (fix flaky xfails) by @​EliahKagan in gitpython-developers/GitPython#2154 + + Cut xtrace noise from POSIX-ownership diagnostic steps by @​EliahKagan in gitpython-developers/GitPython#2156 + + Support index diffs against the empty' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9363 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9363 + title: 'ci(hipblaslt): rocjitsu race checks for gfx942/gfx950/gfx1151' + author: newling + merged_at: '2026-07-23T21:27:12Z' + merge_sha: eae132fefcf43743f1365c48db72ebd93454330c + source_url: https://github.com/ROCm/rocm-libraries/pull/9363 + source_fingerprint: sha256:f8316ce112c214123b5519a8d683c5c13cf702ed36574f52170f4f75c6ed1c5a + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: + - gfx942 + - gfx950 + architecture_status: metadata-evidence + scope_status: out-of-scope + changed_paths: + - .github/scripts/run_rocjitsu_hipblaslt_race_check.sh + - .github/workflows/therock-ci-linux.yml + - .github/workflows/therock-ci.yml + - .github/workflows/therock-rocjitsu-race-check-linux.yml + changed_path_count: 4 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Motivation + + Adds minimal rocjitsu race detection for GEMMs on gfx1151, gfx950, and gfx942/gfx94X, + run through hipblaslt-bench and tensilelite-client. + + This is the third step in the evolution of race detection for hipBLASLt: + + + #7951 did not use TheRock. It used a free GitHub runner, checked out rocm-libraries + and rocm-systems, built them, and ran rocjitsu with hipBLASLt. + + #8929 used TheRock, but only ran hipblaslt-bench on gfx950. + + This PR uses TheRock, adds gfx1151 and gfx942/gfx94X coverage, adds a reduced + tensilelite-client path, and runs rocjitsu on a CPU build runner instead of consuming + a GPU test runner. + + + JIRA ID : AIHPBLAS-3605 + + https://amd-hub.atlassian.net/browse/AIHPBLAS-3605 + + High Level Overview + + For hipBLASLt TheRock Linux rows on supported GPU families, this adds a post-build + rocjitsu race-check job. + + The flow is: + + + The normal TheRock build produces the ROCm runtime, hipBLASLt, and TensileLite + test artifacts. + + The race-check job fetches those artifacts from the same TheRock run. + + The job builds rocjitsu from a pinned rocm-systems revision. + + The job runs small hipblaslt-bench and tensilelite-client workloads under rocjitsu + race detection. + + The script reports a failure if a workload f' + hardware_features: + - lds + kernel_types: + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9308 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: composable-kernel + pr: 9308 + title: 'feat(ck-tile): multi-D GEMM TE to dispatcher bridge' + author: ozturkosu + merged_at: '2026-07-23T21:00:26Z' + merge_sha: 7fcb5f3609abea6d00938e36666fd862f67677a7 + source_url: https://github.com/ROCm/rocm-libraries/pull/9308 + source_fingerprint: sha256:812219471d7e246a4e7ee4879a1ed31c3f0a8468cbd6089fc77b085f80e39070 + decision: include + relevance_reason: kernel path 'projects/composablekernel/dispatcher/bindings/ctypes/MULTI_D_GEMM_BRIDGE.md'; + keyword 'gemm' + architectures: + - gfx942 + architecture_status: metadata-evidence + scope_status: quarantine + changed_paths: + - projects/composablekernel/dispatcher/bindings/ctypes/MULTI_D_GEMM_BRIDGE.md + - projects/composablekernel/dispatcher/bindings/ctypes/multi_d_gemm_ctypes_lib.cpp + - projects/composablekernel/dispatcher/codegen/unified_gemm_codegen.py + - projects/composablekernel/dispatcher/python/gemm_utils.py + - projects/composablekernel/dispatcher/tests/test_multi_d_bridge.py + - projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d/configs/default_ci_config.json + - projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d/configs/default_config.json + - projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d_full_benchmark.py + - projects/composablekernel/tile_engine/ops/gemm/run_one_gemm_multi_d_kernel.py + changed_path_count: 9 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'ISSUE ID: #8997 + + Motivation + + The TileEngine → Dispatcher bridge had no path for the gemm_multi_d op, which + + fuses one or more extra D operands into the GEMM epilogue + + (E = elementwise_op(A@B, D0, D1, ...)). This is a real Old-TE capability used + for + + fused bias/residual-style epilogues with no dispatcher equivalent, so this PR + adds a + + complete bridge so the dispatcher can generate, build, and launch multi_d at parity + + with the legacy Tile Engine version. + + The capability set matches the Old-TE gemm_multi_d_instance_builder.py exactly: + + fp16, the 4-char layouts {rcrr, rrrr, ccrr, crrr} (A/B vary, C and D row-major), + + the element-wise ops {MultiDAdd, MultiDMultiply, PassThrough}, and a swept number + of + + D tensors (1 and 2). It follows the registry-bypass bridge pattern used by the + grouped + + (#9000) and stream-K (#9028) bridges. + + Test Plan + + + Run the CPU-only unit tests (no GPU required): + + python3 -m pytest dispatcher/tests/test_multi_d_bridge.py -v + + On-GPU numeric verify over the full capability matrix + + (fp16 × {rcrr, rrrr, ccrr, crrr} × {MultiDAdd, MultiDMultiply} × {num_d 1, 2} + = 16 + + combos) at M=N=K=1024 against an fp32 reference, gate 2e-2. + + Confirm the CI config builds real kernels and the sweep covers' + hardware_features: + - lds + kernel_types: + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9723 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9723 + title: 'feat(ci): bump TheRock hash to `44146cd` (2026-07-22)' + author: geomin12 + merged_at: '2026-07-23T20:16:21Z' + merge_sha: 4832e718df6ef581f71d503543739a8d7ce3ec2d + source_url: https://github.com/ROCm/rocm-libraries/pull/9723 + source_fingerprint: sha256:b92daf474435f44988dbbd1ab62ca8800982f174beff4302702e36067cb547ee + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/actions/ci-env/action.yml + changed_path_count: 1 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: bump TheRock hash to 44146cd (2026-07-22) + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:6461 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 6461 + title: '[rocSOLVER] 64-bit eigensolver API' + author: qjojo + merged_at: '2026-07-23T19:46:36Z' + merge_sha: 1d5e766cb8c05a0c5af3043bc24c5f126910be43 + source_url: https://github.com/ROCm/rocm-libraries/pull/6461 + source_fingerprint: sha256:744eef0ee668d579bb106a8b28820878a9e65fbb745f8a410219d3a72c0154b8 + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/hipsolver/library/src/amd_detail/hipsolver_dense64.cpp + - projects/rocsolver/CHANGELOG.md + - projects/rocsolver/CMakeLists.txt + - projects/rocsolver/clients/common/lapack/testing_syev_heev.cpp + - projects/rocsolver/clients/common/lapack/testing_syev_heev.hpp + - projects/rocsolver/clients/common/lapack/testing_syevd_heevd.cpp + - projects/rocsolver/clients/common/lapack/testing_syevd_heevd.hpp + - projects/rocsolver/clients/common/misc/rocsolver.hpp + - projects/rocsolver/clients/common/misc/rocsolver_dispatcher.hpp + - projects/rocsolver/clients/gtest/CMakeLists.txt + - projects/rocsolver/clients/gtest/lapack/syev_heev_gtest.cpp + - projects/rocsolver/clients/gtest/lapack/syevd_heevd_gtest.cpp + - projects/rocsolver/docs/reference/lapack.rst + - projects/rocsolver/library/include/rocsolver/rocsolver-functions.h + - projects/rocsolver/library/src/CMakeLists.txt + - projects/rocsolver/library/src/auxiliary/rocauxiliary_stedc.cpp + - projects/rocsolver/library/src/auxiliary/rocauxiliary_stedc.hpp + - projects/rocsolver/library/src/auxiliary/rocauxiliary_steqr.hpp + - projects/rocsolver/library/src/auxiliary/rocauxiliary_sterf.hpp + - projects/rocsolver/library/src/include/lib_device_helpers.hpp + - projects/rocsolver/library/src/lapack/roclapack_syev_heev.cpp + - projects/rocsolver/library/src/lapack/roclapack_syev_heev.hpp + - projects/rocsolver/library/src/lapack/roclapack_syev_heev_batched.cpp + - projects/rocsolver/library/src/lapack/roclapack_syev_heev_strided_batched.cpp + - projects/rocsolver/library/src/lapack/roclapack_syevd_heevd.cpp + - projects/rocsolver/library/src/lapack/roclapack_syevd_heevd.hpp + - projects/rocsolver/library/src/lapack/roclapack_syevd_heevd_batched.cpp + - projects/rocsolver/library/src/lapack/roclapack_syevd_heevd_strided_batched.cpp + changed_path_count: 28 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'JIRA ID : AISOLVE-70 + + Adds 64-bit functions for eigensolvers (stedc, syev, syevd) to rocsolver. To be + updated with docs.' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9503 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9503 + title: 'docs(rocalution): resolve documentation warnings and refactor API notes' + author: anisha-amd + merged_at: '2026-07-23T19:22:20Z' + merge_sha: 6f6fb36eb2b75b1a1f75551f11b369239892f0ac + source_url: https://github.com/ROCm/rocm-libraries/pull/9503 + source_fingerprint: sha256:a2b06bccc831f0e24a77ace07e111a9a88162498bdd8372b325ebcb6caa453ff + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/rocalution/docs/conceptual/rocALUTION-organization.rst + - projects/rocalution/docs/conf.py + - projects/rocalution/docs/doxygen/Doxyfile + - projects/rocalution/docs/doxygen/bibliography.bib + - projects/rocalution/docs/doxygen/modules.dox + - projects/rocalution/docs/how-to/extending-rocALUTION.rst + - projects/rocalution/docs/install/rocALUTION-install.rst + - projects/rocalution/docs/reference/rocALUTION-accelerators.rst + - projects/rocalution/docs/reference/rocALUTION-api-basics.rst + - projects/rocalution/docs/reference/rocALUTION-api.rst + - projects/rocalution/docs/reference/rocALUTION-functionality-table.rst + - projects/rocalution/docs/reference/rocALUTION-multi-node-comp.rst + - projects/rocalution/docs/reference/rocALUTION-preconditioners.rst + - projects/rocalution/docs/reference/rocALUTION-single-node-comp.rst + - projects/rocalution/docs/reference/rocALUTION-solvers.rst + - projects/rocalution/docs/sphinx/_toc.yml.in + - projects/rocalution/src/base/parallel_manager.hpp + - projects/rocalution/src/solvers/preconditioners/preconditioner.hpp + - projects/rocalution/src/solvers/preconditioners/preconditioner_as.hpp + - projects/rocalution/src/solvers/preconditioners/preconditioner_blockjacobi.hpp + - projects/rocalution/src/solvers/preconditioners/preconditioner_multicolored.hpp + - projects/rocalution/src/solvers/preconditioners/preconditioner_multicolored_gs.hpp + - projects/rocalution/src/solvers/preconditioners/preconditioner_multicolored_ilu.hpp + - projects/rocalution/src/solvers/solver.hpp + changed_path_count: 24 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Motivation + + This issue is tracked in JIRA here: + + • JIRA ID : AIROCDOC-4130 + + 1. doxygenfunction cannot find warnings (14 warnings) + + Files: rocALUTION-api.rst lines 15–31, rocALUTION-api-basics.rst lines 63–64 + + Root cause: Breathe''s doxygenfunction directive was failing to locate standalone + namespace functions (like init_rocalution, allocate_host, etc.) in the CI doxygen + XML output. These functions are all members of the backend_module doxygen group. + + Fix: + + + In rocALUTION-api.rst: Replaced the 14 individual doxygenfunction directives with + a single doxygengroup:: backend_module directive, which resolves directly from + the group XML and is more reliable. + + In rocALUTION-api-basics.rst: Removed the duplicate doxygenfunction references + for init_rocalution and stop_rocalution and pointed to the API reference page + instead. + + + 2. Duplicate C++ declaration warnings (60+ warnings) + + Files: rocALUTION-api-basics.rst, rocALUTION-multi-node-comp.rst, rocALUTION-preconditioners.rst, + rocALUTION-solvers.rst + + Root cause: rocALUTION-api.rst uses doxygenclass :members: for every class, which + registers each class and all its methods in Sphinx''s C++ domain. The individual + topic pages then re-declared the same classes ' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9759 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: composable-kernel + pr: 9759 + title: 'Revert "feat(composablekernel): [CK][CK_TILE] Add batched contraction multiple + ABD"' + author: jefyang1 + merged_at: '2026-07-23T19:21:16Z' + merge_sha: 799134a5a2b80068f4c4c9652b4aa92059de24bf + source_url: https://github.com/ROCm/rocm-libraries/pull/9759 + source_fingerprint: sha256:28ea4c82de620f3cd1b512440ef86f32aaa10184f10a768be558c1f9935e3232 + decision: include + relevance_reason: kernel path 'projects/composablekernel/example/ck_tile/53_contraction_multi_abd/CMakeLists.txt'; + keyword 'gemm' + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/composablekernel/example/ck_tile/53_contraction_multi_abd/CMakeLists.txt + - projects/composablekernel/example/ck_tile/53_contraction_multi_abd/contraction_multi_abd.cpp + - projects/composablekernel/example/ck_tile/53_contraction_multi_abd/contraction_multi_abd_utils.hpp + - projects/composablekernel/example/ck_tile/53_contraction_multi_abd/run_contraction_multi_abd_example.inc + - projects/composablekernel/example/ck_tile/CMakeLists.txt + - projects/composablekernel/groovy/vars/ck.groovy + - projects/composablekernel/include/ck_tile/host/reference/reference_batched_contraction.hpp + - projects/composablekernel/include/ck_tile/ops/batched_contraction/kernel/batched_contraction_kernel.hpp + - projects/composablekernel/include/ck_tile/ops/batched_contraction/kernel/batched_contraction_multi_abd_kernel.hpp + - projects/composablekernel/include/ck_tile/ops/batched_contraction/pipeline/batched_contraction_multi_abd_problem.hpp + - projects/composablekernel/include/ck_tile/ops/batched_contraction/utils/tensor_descriptor_utils.hpp + - projects/composablekernel/include/ck_tile/ops/batched_contraction_multi_abd.hpp + - projects/composablekernel/test/ck_tile/CMakeLists.txt + - projects/composablekernel/test/ck_tile/contraction_multi_abd/CMakeLists.txt + - projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_cshuffle.cpp + - projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_default2d.cpp + - projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_ut_cases_cshuffle.inc + - projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_ut_cases_default2d.inc + - projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_util.hpp + - projects/composablekernel/tile_engine/ops/common/utils.hpp + - projects/composablekernel/tile_engine/ops/gemm/CMakeLists.txt + - projects/composablekernel/tile_engine/ops/gemm/contraction_multi_abd/CMakeLists.txt + - projects/composablekernel/tile_engine/ops/gemm/contraction_multi_abd/configs/default_config.json + - projects/composablekernel/tile_engine/ops/gemm/contraction_multi_abd/configs/smoke_ci_config.json + - projects/composablekernel/tile_engine/ops/gemm/contraction_multi_abd/contraction_multi_abd_benchmark.hpp + - projects/composablekernel/tile_engine/ops/gemm/contraction_multi_abd/contraction_multi_abd_benchmark_single.cpp + - projects/composablekernel/tile_engine/ops/gemm/contraction_multi_abd/contraction_multi_abd_common.hpp + - projects/composablekernel/tile_engine/ops/gemm/contraction_multi_abd/contraction_multi_abd_instance_builder.py + - projects/composablekernel/tile_engine/ops/gemm/contraction_multi_abd/contraction_multi_abd_profiler.hpp + - projects/composablekernel/tile_engine/ops/gemm/gemm_common.hpp + - projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d/CMakeLists.txt + - projects/composablekernel/tile_engine/ops/gemm/gemm_preshuffle/CMakeLists.txt + - projects/composablekernel/tile_engine/ops/gemm/gemm_preshuffle/gemm_preshuffle_common.hpp + - projects/composablekernel/tile_engine/ops/gemm/gemm_universal/CMakeLists.txt + - projects/composablekernel/tile_engine/ops/gemm/grouped_gemm/CMakeLists.txt + - projects/composablekernel/tile_engine/ops/gemm/grouped_gemm/grouped_gemm_benchmark.hpp + - projects/composablekernel/tile_engine/ops/gemm/grouped_gemm/grouped_gemm_benchmark_single.cpp + - projects/composablekernel/tile_engine/ops/gemm/grouped_gemm/grouped_gemm_common.hpp + - projects/composablekernel/tile_engine/ops/gemm/grouped_gemm/grouped_gemm_profiler.hpp + - projects/composablekernel/tile_engine/ops/gemm_streamk/CMakeLists.txt + - projects/composablekernel/tile_engine/ops/gemm_streamk/gemm_streamk_benchmark.hpp + - projects/composablekernel/tile_engine/ops/gemm_streamk/gemm_streamk_benchmark_single.cpp + - projects/composablekernel/tile_engine/ops/gemm_streamk/gemm_streamk_common.hpp + - projects/composablekernel/tile_engine/ops/gemm_streamk/gemm_streamk_profiler.hpp + - projects/composablekernel/tile_engine/ops/pooling/CMakeLists.txt + changed_path_count: 45 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Reverts #6339 + + This commit broke the CI tile_engine tests at the build 1875. + + JIRA ID : AICK-1731 + + Test Plan + + test_tile_engine' + hardware_features: [] + kernel_types: + - grouped-gemm + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9305 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: composable-kernel + pr: 9305 + title: 'feat(ck-tile): multi-ABD GEMM TE to dispatcher bridge' + author: ozturkosu + merged_at: '2026-07-23T18:10:00Z' + merge_sha: 34cb16fb1eaa9b370fc4fdfcbf383184f7be2f35 + source_url: https://github.com/ROCm/rocm-libraries/pull/9305 + source_fingerprint: sha256:3a9be98f7ce4a394b773a364669a70447018ba00479af72dff58f924e743335f + decision: include + relevance_reason: kernel path 'projects/composablekernel/dispatcher/bindings/ctypes/CMakeLists.txt'; + keyword 'gemm' + architectures: + - gfx942 + architecture_status: metadata-evidence + scope_status: quarantine + changed_paths: + - projects/composablekernel/dispatcher/bindings/ctypes/CMakeLists.txt + - projects/composablekernel/dispatcher/bindings/ctypes/gemm_multi_abd_ctypes_lib.cpp + - projects/composablekernel/dispatcher/codegen/unified_gemm_codegen.py + - projects/composablekernel/dispatcher/python/ctypes_utils.py + - projects/composablekernel/dispatcher/python/gemm_utils.py + - projects/composablekernel/dispatcher/tests/test_multi_abd_bridge.py + - projects/composablekernel/tile_engine/ops/gemm/gemm_full_benchmark.py + - projects/composablekernel/tile_engine/ops/gemm/gemm_multi_abd/configs/default_ci_config.json + - projects/composablekernel/tile_engine/ops/gemm/run_one_gemm_kernel.py + changed_path_count: 9 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'ISSUE ID: #8997 + + Motivation + + The CK Tile dispatcher could already generate and launch regular GEMM through + the + + TileEngine → Dispatcher bridge, but it had no path for the multi-tensor + + gemm_multi_abd op. Multi-ABD is used when a GEMM needs to combine several A and + + B operands and fuse several D operands in the epilogue + + (E = cde_op(a_op(As) @ b_op(Bs), {Ds})), which is a real Old-TE capability with + no + + dispatcher equivalent. This PR closes that gap so Python callers can drive multi_abd + + through the dispatcher at parity with the legacy Tile Engine version, without + touching + + C++. + + It follows the divergent-ABI pattern established by the grouped bridge (#9000) + because + + multi_abd needs arrays of A/B/D device pointers, not the single-pointer regular + + GEMM ABI. The capability set matches the Old-TE gemm_multi_abd_instance_builder.py + + exactly: fp16, rcrr layout, configurable A/B/D tensor counts, and the element-wise + + op set {PassThrough, AddScale, MultiDMultiply, MultiDAdd}. + + Test Plan + + + Run the CPU-only unit tests (no GPU required): + + python3 -m pytest dispatcher/tests/test_multi_abd_bridge.py -v + + On-GPU numeric verification through the bridge launch path (gfx942 / MI300X), + + 512x512x512 fp16 rcrr, across the' + hardware_features: [] + kernel_types: + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9607 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9607 + title: 'feat(hipdnn): resolve runtime pass-by-value scalars in CPU ref' + author: SamuelReeder + merged_at: '2026-07-23T16:42:10Z' + merge_sha: af3ef9a38fc34fd98177214d5eb77e34582ddea4 + source_url: https://github.com/ROCm/rocm-libraries/pull/9607 + source_fingerprint: sha256:0145cdfc2dbcb551c82bdab01022a6dc43b32bb39390999920c8d982781d7f55 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - dnn-providers/integration-tests/src/harness/gpu-graph-executor/GpuReferenceGraphExecutor.hpp + - dnn-providers/integration-tests/tests/TestGpuReferenceGraphExecutor.cpp + - projects/hipdnn/flatbuffers_sdk/include/hipdnn_flatbuffers_sdk/utilities/FlatbufferUtils.hpp + - projects/hipdnn/flatbuffers_sdk/tests/utilities/TestFlatbufferUtils.cpp + - projects/hipdnn/frontend/include/hipdnn_frontend/node/SdpaBwdNode.hpp + - projects/hipdnn/frontend/include/hipdnn_frontend/node/SdpaFwdNode.hpp + - projects/hipdnn/frontend/tests/TestSdpaBwdNode.cpp + - projects/hipdnn/frontend/tests/TestSdpaFwdNode.cpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/BatchnormFwdInferenceWithVariancePlan.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/BatchnormTrainPlan.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/LayernormBpropPlan.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/LayernormFpropPlan.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/RMSNormFwdPlan.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/SdpaBwdPlan.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/SdpaFwdPlan.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/detail/FlatbufferTensorAttributesUtils.hpp + - projects/hipdnn/test_sdk/tests/CMakeLists.txt + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/BatchnormGraphUtils.hpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/LayernormGraphUtils.hpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/RMSNormGraphUtils.hpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/SdpaGraphUtils.hpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/SdpaTensorBundles.hpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestBatchnormFwdInferenceWithVariancePlan.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestBatchnormTrainPlan.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestLayernormBpropPlan.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestLayernormFpropPlan.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestRMSNormFwdPlan.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestSdpaBwdPlan.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestSdpaFwdPlan.cpp + changed_path_count: 29 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Summary + + JIRA ID : ALMIOPEN-2292 + + Teaches the CPU reference graph executor to resolve runtime pass-by-value scalars + (epsilon, momentum, SDPA scale) from the variant pack at execute time, mirroring + the provider contract in plugin_sdk/RuntimePassByValue.hpp: a pure-runtime scalar + reads its host value from the pack, while a baked (compile-time constant or runtime-with-default) + scalar keeps using the graph value. This is a follow-up to PR #9577, which added + the harness-side host-value synthesis this change now lets the CPU reference actually + consume. + + Risk Assessment + + Low risk. Scope is confined to the hipDNN test SDK''s CPU reference plans and + the integration-tests GPU-reference routing harness — no product provider or public + API surface is touched. The resolution rule is a straight mirror of the existing + provider-side contract, and every changed path (5 normalization plans, SDPA fwd/bwd + scale, GPU rejection routing) has direct unit and end-to-end test coverage. + + ASIC Coverage + + ASIC-independent. This changes CPU-side reference math and a test-harness routing + decision (GPU reference executor now declines runtime-PBV graphs so the harness + falls back to the CPU reference); it does not touch pro' + hardware_features: [] + kernel_types: + - rmsnorm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9577 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9577 + title: 'test(hipdnn): support runtime pass-by-value harness inputs' + author: SamuelReeder + merged_at: '2026-07-23T16:42:09Z' + merge_sha: 298c733e8e746901c48caf6a47167efbbeb4c36d + source_url: https://github.com/ROCm/rocm-libraries/pull/9577 + source_fingerprint: sha256:5dc48e67d776137df4b1057fa9f8e8518567a162a59bdef79a3db2a5275c3aea + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: out-of-scope + scope_status: out-of-scope + changed_paths: + - dnn-providers/hip-kernel-provider/src/integration_tests/IntegrationGraphVerificationHarness.hpp + - dnn-providers/hip-kernel-provider/src/integration_tests/hip_mlops_engine/IntegrationGpuPassByValue.cpp + - dnn-providers/integration-tests/src/harness/IntegrationGraphVerificationHarness.hpp + - dnn-providers/integration-tests/src/harness/bundle/IntegrationBundleVerificationHarness.cpp + - dnn-providers/integration-tests/src/harness/bundle/IntegrationBundleVerificationHarness.hpp + - dnn-providers/integration-tests/tests/TestBundleVerificationHarness.cpp + - dnn-providers/integration-tests/tests/TestSynthesizeInputs.cpp + - dnn-providers/miopen-provider/integration_tests/IntegrationGpuDeterministic.cpp + - dnn-providers/miopen-provider/integration_tests/IntegrationGpuPassByValue.cpp + - dnn-providers/miopen-provider/integration_tests/IntegrationGraphVerificationHarness.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/FlatbufferGraphTestUtils.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/GraphExecuteTestKit.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/VariantPackUtils.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/GraphTensorBundle.hpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestGraphTensorBundle.cpp + - projects/hipdnn/tests/frontend/IntegrationPassByValueDelivery.cpp + changed_path_count: 16 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Summary + + JIRA ID : ALMIOPEN-2292 + + Updates the shared hipDNN integration test harnesses to recognize runtime pass-by-value + tensors and provide host pointers for their execute-time scalar values. Ordinary + tensors continue to use device pointers. This follows RFC 0016. + + Risk Assessment + + Medium risk. This changes shared test-harness variant-pack construction across + hipDNN, MIOpen, and hip-kernel integration paths, but does not change production + provider dispatch, public APIs, schemas, or kernel code. Focused unit and frontend + delivery coverage passes; PR CI remains pending. + + ASIC Coverage + + ASIC-independent harness plumbing. The change only selects host versus device + pointers for test inputs and does not alter kernel selection or provider support. + Standard PR CI coverage is sufficient; no dedicated multi-arch sweep is required + for this change. + + Testing Summary + + + Scoped pre-commit checks passed for all changed files. + + Integration harness and public frontend test targets built successfully. + + Runtime-PBV bundle construction, automatic fixed/random host-value synthesis, + and frontend scalar delivery regressions passed on gfx90a. + + The updated test-SDK regression translation unit compiled successfully. + + T' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:8139 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 8139 + title: 'feat: build FFT clients with amdgcnspirv arch' + author: evetsso + merged_at: '2026-07-23T15:56:35Z' + merge_sha: 0140ec01809fbe69c8a47d5d43af5f3394c38155 + source_url: https://github.com/ROCm/rocm-libraries/pull/8139 + source_fingerprint: sha256:ba855a85f3c5144640d14c5a40991b1041c021164f63e57c687935d3667aa0bd + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/hipfft/CHANGELOG.md + - projects/hipfft/clients/bench/CMakeLists.txt + - projects/hipfft/clients/tests/CMakeLists.txt + - projects/rocfft/CHANGELOG.md + - projects/rocfft/clients/bench/CMakeLists.txt + - projects/rocfft/clients/samples/rocfft/CMakeLists.txt + - projects/rocfft/clients/samples/rocfft/rocfft_example_callback.cpp + - projects/rocfft/clients/tests/CMakeLists.txt + - projects/rocfft/clients/tests/callback_change_type.cpp + - projects/rocfft/clients/tests/default_callbacks_test.cpp + - projects/rocfft/clients/tests/rocfft_c.c + - projects/rocfft/clients/tests/rocfft_c.h + - projects/rocfft/clients/tests/unit_test.cpp + - projects/rocfft/library/src/CMakeLists.txt + - projects/rocfft/shared/test_callbacks.cpp + changed_path_count: 15 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: "Motivation\nWiden backward and forward compatibility for FFT\ + \ client programs.\nJIRA ID: AIFFT-257\nTechnical Details\nrocFFT will runtime-compile\ + \ any kernels it needs on an architecture it wasn't built to know about, but the\ + \ FFT client programs need kernels built at project build time. Add amdgcnspirv\ + \ architecture to the client programs to ensure that they will run on any arch\ + \ supported by the runtime, rather than only those that were specified at build\ + \ time.\nTest Plan\nManually built TheRock with one architecture and ran that\ + \ build's client programs on another architecture.\nTest Result\nClient programs\ + \ ran successfully, even with kpack enabled.\nSubmission Checklist\n\n Look over\ + \ the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests." + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9498 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9498 + title: 'fix(hipdnn): inconsistent type usage between pointwise plan and CPU reference' + author: brentmaas + merged_at: '2026-07-23T12:40:16Z' + merge_sha: 40d35077599f013c44c6eec78080863e5bebbaa0 + source_url: https://github.com/ROCm/rocm-libraries/pull/9498 + source_fingerprint: sha256:4e74eea0de69f88a15360ec9fe27d561c8f19570f12cfc5294c57b7494b2b221 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/PointwisePlan.hpp + - projects/hipdnn/test_sdk/tests/utilities/TestCpuReferencePointwise.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestPointwisePlan.cpp + changed_path_count: 3 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: "Motivation\nWhile implementing RMSnorm fused activation for\ + \ hip-kernel-provider, I ran into an issue with the CPU reference of pointwise.\ + \ This PR fixes a type usage inconsistency between PointwisePlan.hpp and TestCpuReferencePointwise.cpp.\n\ + Closes #9699.\nTechnical Details\n\nFixed the issue.\nAdded relevant regression\ + \ tests.\n\nTest Plan\nRun the entire hipDNN test suite and a to-be-published\ + \ set of tests for hip-kernel-provider that triggered the rare edge case.\nTest\ + \ Result\nHipDNN tests still pass and the hip-kernel-provider tests that triggered\ + \ the rare edge case now pass as well.\nSubmission Checklist\n\n Look over the\ + \ contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests." + hardware_features: [] + kernel_types: + - rmsnorm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9697 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9697 + title: 'feat(stinkytofu): model SALU sgpr -> tensor_load sgpr hardware hazard' + author: KKyang + merged_at: '2026-07-23T11:18:38Z' + merge_sha: c8a044797cdae30d3f6f23420136f1ac3d33ffb1 + source_url: https://github.com/ROCm/rocm-libraries/pull/9697 + source_fingerprint: sha256:fa30bd7966a85a0bb784d1ed8d11fa700746a242a0559cacb872129497a4e86b + decision: quarantine + relevance_reason: kernel path 'shared/stinkytofu/src/transforms/asm/StinkyDAGSchedulerPass.cpp' + architectures: [] + architecture_status: out-of-scope + scope_status: out-of-scope + changed_paths: + - shared/stinkytofu/src/transforms/asm/StinkyDAGSchedulerPass.cpp + - shared/stinkytofu/src/transforms/asm/dag/CDNA5.hpp + - shared/stinkytofu/src/transforms/asm/dag/ReadyQueue.hpp + - shared/stinkytofu/tests/unit/asm/DAGSchedulerPassTest.cpp + changed_path_count: 4 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: "Close #9696\nStacked on top of #9692 (base branch is that PR's\ + \ branch). Review/merge #9692 first.\nSummary\nModels the CDNA5 hardware hazard\ + \ requiring a fixed gap between a SALU writing an SGPR and a tensor_load reading\ + \ that SGPR as a source (a producer->consumer edge hazard, not either op's own\ + \ issue/latency cycles).\n\nPre-scan records the exact hazard register keys (regDepKey,\ + \ so register type is encoded and this extends to other producer->consumer hazards)\ + \ on the producing node, via the def-use user walk.\nConsumer-side gate: when\ + \ a flagged producer issues, its hazard keys are stamped into a dedicated map\ + \ (separate from regDataReadyCounters so only the tensor_load pick consults it\ + \ — a VALU/SALU reading the same SGPR is not gated). The tensor_load pick waits\ + \ out the remaining hazard.\nProducer-side hoist: a flagged producer outranks\ + \ ds/valu of the same non-WMMA tier, so it drifts earlier and intervening work\ + \ absorbs the gap; when it cannot be fully absorbed, the gate delays the tensor_load.\n\ + \nTest plan\n\n New DAGSchedulerPassTest.SgprToTensorLoadHazard_AtLeast8CycleGap\ + \ — asserts the >= 8 cycle invariant between the SALU and the tensor_load it feeds\ + \ (invariant, not exact order). Observed:" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9588 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: hipblaslt + pr: 9588 + title: 'Fix: revert ignoring of characterization test from coverage collection' + author: pdhirajkumarprasad + merged_at: '2026-07-23T10:29:47Z' + merge_sha: d30b5b256056d7612023663ddc04b10e19d93b96 + source_url: https://github.com/ROCm/rocm-libraries/pull/9588 + source_fingerprint: sha256:ea849de7b97d5da70f2e8728a5df069676dc7609fa94946c797c8950f4851902 + decision: include + relevance_reason: kernel path 'projects/hipblaslt/tensilelite/tox.ini' + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - projects/hipblaslt/tensilelite/tox.ini + changed_path_count: 1 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: "Motivation\nRevert ignoring of characterization test from coverage\ + \ collection\nTechnical Details\nWe had added this check in #8953 which we are\ + \ reverting as we will be handling this differently\nTest Plan\nN/A\nTest Result\n\ + N/A\nSubmission Checklist\n\n Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests." + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9447 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9447 + title: 'fix(rocalution): guard smoothed-aggregation prolongation kernels on wf32 + hw' + author: ntrost57 + merged_at: '2026-07-23T08:53:47Z' + merge_sha: d462c3398118280dbf77dad670cf7fafbe2464b7 + source_url: https://github.com/ROCm/rocm-libraries/pull/9447 + source_fingerprint: sha256:dbf587a712e459684b5dcee82180fa4271379abe0dcdcdeae309e4b9d19bdbed + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: out-of-scope + scope_status: out-of-scope + changed_paths: + - projects/rocalution/CHANGELOG.md + - projects/rocalution/clients/tests/test_saamg.cpp + - projects/rocalution/src/base/hip/hip_matrix_csr.cpp + changed_path_count: 3 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: 'Summary of proposed changes + + + Fix a GPU memory access fault when building a Smoothed-Aggregation AMG (SAAMG) + preconditioner on wave32 hardware (RDNA/RDNA3, e.g. gfx1100). + + Dispatch the smoothed-aggregation prolongation kernels with a WFSIZE that matches + the physical wavefront on wave32 devices. + + Extend the existing SAAMG test so the failing configuration is actually exercised. + + + Root cause + + The smoothed-aggregation prolongation is built by kernel_csr_sa_prolong_nnz and + kernel_csr_sa_prolong_fill (src/base/hip/hip_matrix_csr.cpp, in AMGSmoothedAggregationProlongNnz + / AMGSmoothedAggregationProlongFill). The dispatch selects a compile-time WFSIZE + template argument from the maximum non-zeros per row of the operator, and dense + operators (>= 128 nnz/row) select the WFSIZE = 64 (wave64) kernels. + + These kernels assume WFSIZE equals the physical wavefront size: they keep one + shared-memory hash table per logical wavefront and use cross-lane wavefront reductions/shuffles. + On wave32 hardware a logical 64-lane wavefront spans two physical 32-lane wavefronts, + so neighbouring logical wavefronts overlap in LDS (corrupting the hash tables) + and the reductions read non-existent lanes. This yields a malform' + hardware_features: + - lds + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: rocm-rocm-libraries:pr:9099 + source_id: rocm-rocm-libraries + source_kind: github-pr + repo: ROCm/rocm-libraries + component: null + pr: 9099 + title: 'feat: ResampleFWD backend implementation' + author: BalintCsala + merged_at: '2026-07-23T07:58:23Z' + merge_sha: 4fa2d81fcf0563bc24bc97dc890845cd64a2dbce + source_url: https://github.com/ROCm/rocm-libraries/pull/9099 + source_fingerprint: sha256:c7acf4ba4f5fb58b5828b4498e638161fa27305ab6c8419abd14c9935f5395ac + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: out-of-scope + scope_status: out-of-scope + changed_paths: + - dnn-providers/hip-kernel-provider/src/core/Container.cpp + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/CMakeLists.txt + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/kernels/CMakeLists.txt + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/kernels/resample/ResampleFwd.cpp + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/plans/resample/ResampleApplicabilityChecks.cpp + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/plans/resample/ResampleApplicabilityChecks.hpp + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/plans/resample/ResampleFwdPlan.cpp + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/plans/resample/ResampleFwdPlan.hpp + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/plans/resample/ResamplePlanBuilder.cpp + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/plans/resample/ResamplePlanBuilder.hpp + - dnn-providers/hip-kernel-provider/src/engines/hip_mlops_engine/plans/resample/ResamplePlanUtils.hpp + - dnn-providers/hip-kernel-provider/src/integration_tests/CMakeLists.txt + - dnn-providers/hip-kernel-provider/src/integration_tests/hip_mlops_engine/Resample/IntegrationGpuResampleForward.cpp + - dnn-providers/hip-kernel-provider/src/tests/engines/hip_mlops_engine/CMakeLists.txt + - dnn-providers/hip-kernel-provider/src/tests/engines/hip_mlops_engine/plans/Resample/TestResampleApplicabilityChecks.cpp + - dnn-providers/hip-kernel-provider/src/tests/engines/hip_mlops_engine/plans/Resample/TestResampleFwdPlan.cpp + - dnn-providers/hip-kernel-provider/src/tests/engines/hip_mlops_engine/plans/Resample/TestResamplePlanBuilder.cpp + - projects/hipdnn/frontend/include/hipdnn_frontend/Graph.hpp + - projects/hipdnn/frontend/include/hipdnn_frontend/node/ResampleFwdNode.hpp + - projects/hipdnn/frontend/tests/TestGraph.cpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/CpuFpReferenceResampleFwd.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/CpuFpReferenceValidation.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/FlatbufferGraphTestUtils.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/FrontendGraphFactory.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/CpuReferenceGraphExecutor.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/PlanBuilderRegistry.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/PlanRegistrySignatureKey.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/ResampleFwdPlan.hpp + - projects/hipdnn/test_sdk/include/hipdnn_test_sdk/utilities/cpu_graph_executor/detail/ResampleFwdSignatureKey.hpp + - projects/hipdnn/test_sdk/tests/CMakeLists.txt + - projects/hipdnn/test_sdk/tests/utilities/TestCpuFpReferenceResampleFwd.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestCpuReferenceGraphExecutor.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestResampleFwdPlan.cpp + - projects/hipdnn/test_sdk/tests/utilities/cpu_graph_executor/TestResampleFwdSignatureKey.cpp + - projects/hipdnn/tests/frontend/IntegrationResampleFwdDescriptorLifting.cpp + - projects/hipdnn/tests/frontend/IntegrationResampleFwdDescriptorLowering.cpp + changed_path_count: 36 + trust: first-party + license: mixed-upstream + injection_signals: [] + untrusted_excerpt: "Reopened to remove the the review requirement by the rocprim\ + \ reviewers. Original version: #7859\nMotivation\nImplements the backend portion\ + \ of ResampleFWD\nAlso changes the interface of the resample function to match\ + \ cuDNN in order to fix #8199\nTechnical Details\nUses the kernel from MIOpen\ + \ with some additions.\nTest Plan\nTested with new tests added in this PR\nTest\ + \ Result\nTests passed on an MI200.\nSubmission Checklist\n\n Look over the contributing\ + \ guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests." + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' diff --git a/candidates/runs/20260724T031505418000Z/sglang.yaml b/candidates/runs/20260724T031505418000Z/sglang.yaml new file mode 100644 index 00000000..e24ee99a --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/sglang.yaml @@ -0,0 +1,1761 @@ +schema_version: 1 +source_id: sglang-rocm +source_kind: github-prs +repo: sgl-project/sglang +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: + merged_at: '2026-07-23T07:42:57Z' + pr: 32023 + merge_sha: 9b853e6832e71a3058212df02a025232a453e146 + captured_at: '2026-07-23' +counts: + defer: 1 + exclude: 29 + include: 1 +candidates: +- id: sglang-rocm:pr:32251 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32251 + title: 'fix(attention): read per-runner kv cache dtype off model_runner' + author: ch-wan + merged_at: '2026-07-24T03:08:57Z' + merge_sha: eac7c7d7cd852e7d17ba227f8e2ca539b97f1f3e + source_url: https://github.com/sgl-project/sglang/pull/32251 + source_fingerprint: sha256:bd2ff101c546739cf87234ad45bf9d50550aa101ce6043f4150ccf721b8e9da1 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/layers/attention/dual_chunk_flashattention_backend.py + - python/sglang/srt/layers/attention/flashattention_backend.py + - python/sglang/srt/layers/attention/linear/lightning_backend.py + - python/sglang/srt/layers/attention/xpu_backend.py + - python/sglang/test/kits/attention_unittest/attention_methods/dense_attention.py + - python/sglang/test/kits/attention_unittest/attention_methods/dsa_attention.py + - python/sglang/test/kits/attention_unittest/attention_methods/dsv4_attention.py + - python/sglang/test/kits/attention_unittest/attention_methods/dual_chunk_attention.py + - python/sglang/test/kits/attention_unittest/attention_methods/gdn_attention.py + - python/sglang/test/kits/attention_unittest/attention_methods/kda_attention.py + - python/sglang/test/kits/attention_unittest/attention_methods/lightning_attention.py + - python/sglang/test/kits/attention_unittest/attention_methods/mamba2_attention.py + - python/sglang/test/kits/attention_unittest/attention_methods/mla_attention.py + - test/manual/attention/test_flashattn_backend.py + - test/manual/attention/test_flashattn_mla_backend.py + changed_path_count: 15 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Summary + + The FlashAttention and XPU attention backends resolved kv_cache_dtype_str from + the + + process-global published model config (get_model().kv_cache_dtype). That global + + reflects only the target runner: a draft (speculative) worker configures its own + kv cache + + dtype but does not publish it, so a draft backend would inherit the target''s + dtype string + + and mis-select its fp8 code paths whenever the draft''s kv cache dtype differs + from the + + target''s. + + Read the dtype string straight from model_runner.kv_cache_dtype_str instead, which + is + + set per runner during kv-cache configuration before any attention backend is initialized, + + so each backend — target or draft — uses its own resolved dtype. + + Also drop the getattr(..., server_args.kv_cache_dtype) fallback in the lightning + and + + dual-chunk backends: kv_cache_dtype_str is always set on a real runner before + backend + + init, so the fallback only masked setup bugs. + + Test + + + test/manual/attention/test_flashattn_backend.py mock updated to set the attribute + + directly; the non-CP tests pass. + + + 🤖 Generated with Claude Code + + + + CI States + + Latest PR Test (Base): ✅ Run #30054771755 + + Latest PR Test (Extra): ❌ Run #30054771718' + hardware_features: + - fp8 + kernel_types: + - attention + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32243 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32243 + title: '[CI] Remove redundant Rust cache save-if settings' + author: merrymercy + merged_at: '2026-07-24T01:48:55Z' + merge_sha: bd3f6a79358cd6f21639b8bd2ea03dd4f90bd3bf + source_url: https://github.com/sgl-project/sglang/pull/32243 + source_fingerprint: sha256:d196377c4d1792551eb2006062217eb7dce2f407f51ce5a1307132750651d5bb + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/workflows/pr-benchmark-rust.yml + - .github/workflows/pr-test-rust.yml + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\nRemove Rust cache configuration that redundantly\ + \ restates the Swatinem/rust-cache@v2 default.\nModifications\nRemove save-if:\ + \ true from four Rust cache steps in .github/workflows/pr-test-rust.yml and .github/workflows/pr-benchmark-rust.yml.\n\ + save-if defaults to true, so cache restore and save behavior is unchanged. Conditional\ + \ save-if expressions in other workflows remain intact.\nAccuracy Tests\nNot applicable;\ + \ this does not affect model outputs.\nSpeed Tests and Profiling\nNot applicable;\ + \ cache behavior is unchanged.\nChecklist\n\n Format your code according to the\ + \ formatting guide.\n Unit tests are not applicable to this workflow-only configuration\ + \ change.\n Documentation updates are not applicable.\n Accuracy and speed benchmarks\ + \ are not applicable.\n Follow the SGLang code style guidance.\n\nValidation\n\ + \npre-commit run check-yaml --files .github/workflows/lint.yml .github/workflows/pr-benchmark-rust.yml\ + \ .github/workflows/pr-test-rust.yml\nuv run --with pyyaml python3 scripts/ci/check_workflow_job_names.py\n\ + git diff --check origin/main...HEAD\n\n\n\nCI States\nLatest PR Test (Base): ✅\ + \ Run #30052739710\nLatest PR Test (Extra): ❌ Run #30052739547" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:23534 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 23534 + title: '[XPU] Add XPU device support for LMCache radix cache integration' + author: libinta + merged_at: '2026-07-24T00:41:01Z' + merge_sha: 1e10ec93b346c53aa4984f08bc295d9f39502fb8 + source_url: https://github.com/sgl-project/sglang/pull/23534 + source_fingerprint: sha256:03a051c0ff95f317c8395c211758bc355fbfab34830b39f95af2bc2da9f4a496 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/workflows/pr-test-xpu.yml + - python/sglang/srt/mem_cache/storage/lmcache/lmc_radix_cache.py + - python/sglang/srt/utils/common.py + - test/registered/xpu/test_lmcache_connector.py + - test/registered/xpu/test_lmcache_connector_config.yaml + - test/registered/xpu/test_lmcache_radix_cache.py + changed_path_count: 6 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Replace hardcoded torch.cuda.Stream/stream calls with device-agnostic\ + \ helpers (_create_device_stream, _device_stream_context) that dispatch to torch.xpu\ + \ on Intel XPU devices.\nAdd XPU integration tests verifying store/retrieve round-trip,\ + \ cold cache, negative slot indices, multi-cycle correctness, and bf16 dtype preservation.\n\ + Signed-Off: Libin Tang libin.tang@intel.com\n\nMotivation\n\nModifications\n\n\ + Accuracy Tests\n\nSpeed Tests and Profiling\n\nChecklist\n\n Format your code\ + \ according to the Format code with pre-commit.\n Add unit tests according to\ + \ the Run and add unit tests.\n Update documentation according to Write documentations.\n\ + \ Provide accuracy and speed benchmark results according to Test the accuracy\ + \ and Benchmark the speed.\n Follow the SGLang code style guidance.\n\nReview\ + \ and Merge Process\n\nPing Merge Oncalls to start the process. See the PR Merge\ + \ Process.\nGet approvals from CODEOWNERS and other reviewers.\nTrigger CI tests\ + \ with comments or contact authorized users to do so.\n\nCommon commands include\ + \ /tag-and-rerun-ci, /tag-run-ci-label, /rerun-failed-ci\n\n\nAfter green CI and\ + \ required approvals, ask Merge Oncalls or people with Write permission to merge\ + \ the PR.\n\n\n\nCI States\nLatest PR Te" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32044 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32044 + title: '[Intel GPU] calculate free memory based on allocated memory for XPU' + author: polisettyvarma + merged_at: '2026-07-24T00:38:53Z' + merge_sha: 2f823a2eee8ed2f691ad02b057348be24bcfd7ac + source_url: https://github.com/sgl-project/sglang/pull/32044 + source_fingerprint: sha256:85a55c866c89597f1e390bc87af31024d630e51a1ab13639cca4f0dfce84b583 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/multimodal_gen/runtime/platforms/xpu.py + - python/sglang/srt/utils/common.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\n\nModifications\n\nAccuracy Tests\n\nSpeed Tests\ + \ and Profiling\n\nChecklist\n\n Format your code according to the Format code\ + \ with pre-commit.\n Add unit tests according to the Run and add unit tests.\n\ + \ Update documentation according to Write documentations.\n Provide accuracy and\ + \ speed benchmark results according to Test the accuracy and Benchmark the speed.\n\ + \ Follow the SGLang code style guidance.\n\nReview and Merge Process\n\nPing Merge\ + \ Oncalls to start the process. See the PR Merge Process.\nGet approvals from\ + \ CODEOWNERS and other reviewers.\nTrigger CI tests with comments or contact authorized\ + \ users to do so.\n\nCommon commands include /tag-and-rerun-ci, /tag-run-ci-label,\ + \ /rerun-failed-ci\n\n\nAfter green CI and required approvals, ask Merge Oncalls\ + \ or people with Write permission to merge the PR.\n\n\n\nCI States\nLatest PR\ + \ Test (Base): ❌ Run #29975439334\nLatest PR Test (Extra): ❌ Run #29975439209" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32117 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32117 + title: '[ci][diffusion] Skip `_save_gt_output` for 3d/mesh' + author: AgainstEntropy + merged_at: '2026-07-24T00:14:06Z' + merge_sha: 433429b16a3454b3fbe46d80b67f58b7116694f7 + source_url: https://github.com/sgl-project/sglang/pull/32117 + source_fingerprint: sha256:e77a3bda5f85ed63d0ea0b5deafc4d1e1ad8b27f61cb5a5e0c7dc7f1d16a5532 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/multimodal_gen/test/server/test_server_common.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\n\nMesh files (.glb or .obj) are saved in python/sglang/multimodal_gen/test/server/test_server_utils.py.\n\ + In _save_gt_output it falls into the image branch, saves a 0-byte fake image file,\ + \ and causes a failure in Validate generated GT images when running Diffusion\ + \ CI Ground Truth Generation workflow.\nBefore: https://github.com/sgl-project/sglang/actions/runs/29894151761/job/88840679633#logs\n\ + After: https://github.com/sgl-project/sglang/actions/runs/29959246086/job/89056061829#logs\n\ + Modifications\n\nAccuracy Tests\n\nSpeed Tests and Profiling\n\nChecklist\n\n\ + \ Format your code according to the Format code with pre-commit.\n Add unit tests\ + \ according to the Run and add unit tests.\n Update documentation according to\ + \ Write documentations.\n Provide accuracy and speed benchmark results according\ + \ to Test the accuracy and Benchmark the speed.\n Follow the SGLang code style\ + \ guidance.\n\nReview and Merge Process\n\nPing Merge Oncalls to start the process.\ + \ See the PR Merge Process.\nGet approvals from CODEOWNERS and other reviewers.\n\ + Trigger CI tests with comments or contact authorized users to do so.\n\nCommon\ + \ commands include /tag-and-rerun-ci, /tag-run-ci-label, /rerun-failed-ci\n\n\n\ + After green CI and req" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32188 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32188 + title: '[Fix] Two root causes of the H100 deepep TBO CI break: scale-tensor use-after-free + + missing non-finite quant sanitization' + author: BBuf + merged_at: '2026-07-23T23:29:28Z' + merge_sha: d4a0dfbc31ab9310e6ec7f203a8a2870d331dca6 + source_url: https://github.com/sgl-project/sglang/pull/32188 + source_fingerprint: sha256:9edde3c0091124f0307283d1a9fd8defbf4e941d0f26c6f870cec7603b6e58c2 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/kernels/jit/csrc/gemm/per_token_group_quant.cuh + - python/sglang/srt/layers/deep_gemm_wrapper/entrypoint.py + - test/registered/kernels/ops/quantization/test_per_token_group_quant.py + changed_path_count: 3 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Summary + + Root-cause fixes for the H100 deepep-4-gpu-h100 CI breakage (TestTBOWithTPAttn: + RuntimeError: The specified pointer resides on host memory and is not registered + with any CUDA device during CUDA graph capture, and NaN detected! sampler: next_token_logits) + introduced by #30924. + + There are two independent bugs. This PR fixes both at their root, keeps the unified + JIT quant kernel everywhere, and supersedes #32051 (whose Hopper masked-path revert + does not fix the test — its own /rerun-test failed 5x with the same NaN, because + bug 2 lives in a path that revert keeps). + + Bug 1: use-after-free on the activation scale (the "host memory" crash) + + In sgl-deep-gemm (<= 0.1.4.post1), get_mn_major_tma_aligned_tensor crosses TVM-FFI + via a non-owning torch::from_blob view (csrc/utils/torch_compat.hpp), and the + already-aligned fast path (smxx_layout.hpp) returns that alias directly. The caller + rebinds the result over its only reference: + + down_input_scale = deep_gemm_wrapper.get_mn_major_tma_aligned_tensor(down_input_scale) + + so the storage is freed to the caching allocator and reused before the down GEMM + (enqueued later) reads the scales. #30924 triggered it because the unified kernel + emits scales ' + hardware_features: [] + kernel_types: + - gemm + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:29830 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 29830 + title: '[core/loader] Fix presharded cache-key gaps: moe_dense_tp_size, EPLB with + structural signature' + author: shuwang21 + merged_at: '2026-07-23T22:07:05Z' + merge_sha: 11c9702d90f59060fca3324369fe2a270271a62f + source_url: https://github.com/sgl-project/sglang/pull/29830 + source_fingerprint: sha256:af48977a2807eb7909045f540a1b9852e42890af8c5234f5d80ce962a1c42c1c + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/model_loader/loader.py + - test/registered/unit/model_loader/test_presharded_loader.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + PreshardedModelLoader caches per-rank weight shards under a subfolder derived + from the sharding config. If two launches with different configs map to the same + subfolder, the loader silently serves wrong weights. + + Two concrete gaps in the existing cache key: + + + moe_dense_tp_size: controls dense-layer TP width independently of global tp_size. + A run with --moe-dense-tp-size 1 and a default run both produced TP-4, colliding + on the same directory. + + EPLB settings (ep_num_redundant_experts, init_expert_location): change which logical + expert''s weights land in each physical slot without changing tensor shapes, so + they must be explicit key fields. + + + More broadly, every new sharding dimension requires a manual update to the key-building + code — easy to forget, and the subfolder name grows with each addition. This PR + restructures the key as TP-{tp}-sig-{hash16} and adds a structural signature as + a self-correcting safety net. + + Modifications + + loader.py — _collect_shard_config (new) + _build_subfolder_name (restructured) + + All key dimensions (TP/DP/EP/PP, moe_dense_tp_size, quantization, model dtype, + EPLB fields, structural signature) are collected into a JSON-native dict and folded + into one SHA' + hardware_features: + - lds + kernel_types: + - moe + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32260 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32260 + title: '[Cherry-pick to release/v0.5.16] [spec decoding] fix inkling multi layer + mtp draft extend cuda graph (#32254)' + author: Kangyan-Zhou + merged_at: '2026-07-23T22:04:41Z' + merge_sha: 6870be7448172b35594fd88bbcd2185c64035988 + source_url: https://github.com/sgl-project/sglang/pull/32260 + source_fingerprint: sha256:9256743763950359b1233679020a4659f7d64d987b878c5e024af6d2bb012e0e + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/speculative/multi_layer_eagle_worker_v2.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Cherry-pick of commit a0728ea5026c782b00f13aa91a67d990b1ae649a + to release/v0.5.16. + + Source PR: #32254 (#32254) + + Source commit: a0728ea5026c782b00f13aa91a67d990b1ae649a + + Original title: [spec decoding] fix inkling multi layer mtp draft extend cuda + graph + + + This PR was automatically created by the cherry-pick workflow. + + + + CI States + + Latest PR Test (Base): ❌ Run #30048283037 + + Latest PR Test (Extra): 🚫 Run #30048282922' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32259 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32259 + title: '[Cherry-pick to release/v0.5.16] Fix nvfp4 online scale with pcg (#32246)' + author: Kangyan-Zhou + merged_at: '2026-07-23T21:58:26Z' + merge_sha: 6227ae88b94d9d76973eebfcb11364308b650561 + source_url: https://github.com/sgl-project/sglang/pull/32259 + source_fingerprint: sha256:cbfc0e92465939196fa2388f4921b4be2f47fa3352c17ac1e54e8f972614fa55 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/layers/moe/moe_runner/flashinfer_trtllm.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Cherry-pick of commit 378aea138550853f27bed74f586008df269fffe2 + to release/v0.5.16. + + Source PR: #32246 (#32246) + + Source commit: 378aea138550853f27bed74f586008df269fffe2 + + Original title: Fix nvfp4 online scale with pcg + + + This PR was automatically created by the cherry-pick workflow. + + + + CI States + + Latest PR Test (Base): ❌ Run #30048178874 + + Latest PR Test (Extra): 🚫 Run #30048178651' + hardware_features: + - fp4 + kernel_types: + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32184 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32184 + title: '[Fix] Reserve the mamba pool''s +1 padding slot in the memory budget solve' + author: hnyls2002 + merged_at: '2026-07-23T21:55:36Z' + merge_sha: 59ef3b15cc86eb64c48cd5e687a95dbefb872a29 + source_url: https://github.com/sgl-project/sglang/pull/32184 + source_fingerprint: sha256:e7cecb08bd6e3b161fd75a70837d436cac4039bc0ede06b53c36c6f2db6fff67 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/mem_cache/kv_cache_configurator.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Summary + + + The mamba/hybrid budget solve in _handle_max_mamba_cache reserves only the per-request + state slots, but the pool physically allocates every per-slot buffer with one + extra padding slot (index 0, the sink for cuda-graph padded batches — the ReqToTokenPool + base convention in memory_pool.py): main conv/ssm allocate K + 1 slots, and the + spec intermediate buffers allocate (spec_state_size + 1) x D rows + + The unreserved padding slots ((1 + D) * per_req, ~0.5 GB at fp32 ssm with D=8) + silently came out of the profiled slack; reserve them exactly in all three arms + + + The calculation, before vs after + + What the pool actually allocates per GPU: main state (K + 1) * per_req; with spec, + intermediates (max_running + 1) * D * per_req, where K = max_mamba_cache_size, + max_running = K // S, and S = state slots per running request from _calculate_mamba_ratio(). + + Before (ratio-based auto arm, spec): + + K = budget // (per_req * (1 + D/S)) + + reserved = K*per_req + (K//S)*D*per_req # both +1 paddings unaccounted + + + After: + + K = (budget - (1 + D)*per_req) // (per_req * (1 + D/S)) + + reserved = (K+1)*per_req + (K//S + 1)*D*per_req # == allocated + + + Non-spec auto arm: K = budget // per_req -> K =' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32181 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32181 + title: '[Fix] Fix trtllm_mla backend + fp8 kv cache without rope' + author: Fridge003 + merged_at: '2026-07-23T21:55:18Z' + merge_sha: 3d0c6bf57fd1a6ab9b4f1d8e26c71259a5206d2b + source_url: https://github.com/sgl-project/sglang/pull/32181 + source_fingerprint: sha256:edc4250b6c66963d0918907af60e772f0b97529177941a23a40ebf49938c24bc + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/kernels/ops/attention/utils.py + - python/sglang/srt/layers/attention/trtllm_mla_backend.py + - python/sglang/srt/models/deepseek_common/attention_forward_methods/forward_mla.py + changed_path_count: 3 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\n\nModifications\n\nAccuracy Tests\n\nSpeed Tests\ + \ and Profiling\n\nChecklist\n\n Format your code according to the Format code\ + \ with pre-commit.\n Add unit tests according to the Run and add unit tests.\n\ + \ Update documentation according to Write documentations.\n Provide accuracy and\ + \ speed benchmark results according to Test the accuracy and Benchmark the speed.\n\ + \ Follow the SGLang code style guidance.\n\nReview and Merge Process\n\nPing Merge\ + \ Oncalls to start the process. See the PR Merge Process.\nGet approvals from\ + \ CODEOWNERS and other reviewers.\nTrigger CI tests with comments or contact authorized\ + \ users to do so.\n\nCommon commands include /tag-and-rerun-ci, /tag-run-ci-label,\ + \ /rerun-failed-ci\n\n\nAfter green CI and required approvals, ask Merge Oncalls\ + \ or people with Write permission to merge the PR.\n\n\n\nCI States\nLatest PR\ + \ Test (Base): \U0001F6AB Run #30041388654\nLatest PR Test (Extra): ✅ Run #30043850641" + hardware_features: + - fp8 + kernel_types: + - attention + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32254 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32254 + title: '[spec decoding] fix inkling multi layer mtp draft extend cuda graph' + author: Qiaolin-Yu + merged_at: '2026-07-23T21:52:30Z' + merge_sha: a0728ea5026c782b00f13aa91a67d990b1ae649a + source_url: https://github.com/sgl-project/sglang/pull/32254 + source_fingerprint: sha256:63e78b6ee8688c2f9a40a43b9597bc5573b9cf299d5471325aba5064511efc0a + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/speculative/multi_layer_eagle_worker_v2.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\n\nModifications\n\nAccuracy Tests\n\nSpeed Tests\ + \ and Profiling\n\nChecklist\n\n Format your code according to the Format code\ + \ with pre-commit.\n Add unit tests according to the Run and add unit tests.\n\ + \ Update documentation according to Write documentations.\n Provide accuracy and\ + \ speed benchmark results according to Test the accuracy and Benchmark the speed.\n\ + \ Follow the SGLang code style guidance.\n\nReview and Merge Process\n\nPing Merge\ + \ Oncalls to start the process. See the PR Merge Process.\nGet approvals from\ + \ CODEOWNERS and other reviewers.\nTrigger CI tests with comments or contact authorized\ + \ users to do so.\n\nCommon commands include /tag-and-rerun-ci, /tag-run-ci-label,\ + \ /rerun-failed-ci\n\n\nAfter green CI and required approvals, ask Merge Oncalls\ + \ or people with Write permission to merge the PR.\n\n\n\nCI States\nLatest PR\ + \ Test (Base): ❌ Run #30046404681\nLatest PR Test (Extra): ❌ Run #30046404529" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32257 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32257 + title: 'Revert "docker: install dynamo nightly in the dev image for rapid iteration/testing"' + author: Fridge003 + merged_at: '2026-07-23T21:51:43Z' + merge_sha: ed26a111b240f567c40b5294b1f7964d793f3091 + source_url: https://github.com/sgl-project/sglang/pull/32257 + source_fingerprint: sha256:d9952565909471455728e037ad23dd94d8924f2c0443d04555c133279cd353a9 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/workflows/release-docker-dev.yml + - docker/Dockerfile + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Reverts #29634 + + Error: https://github.com/sgl-project/sglang/actions/runs/29969356548 + + + + CI States + + Latest PR Test (Base): ✅ Run #30047368809 + + Latest PR Test (Extra): ❌ Run #30047368584' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32256 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32256 + title: init sglang rust server project + author: rainj-me + merged_at: '2026-07-23T21:47:16Z' + merge_sha: 20eb37a2a10fb899e66b4837010eb10acba41e5c + source_url: https://github.com/sgl-project/sglang/pull/32256 + source_fingerprint: sha256:0ce7b1ed877b6f7d1c2d7539578bfc9f700be5bdae53e2a3c94c2ac94a706609 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - rust/Cargo.toml + - rust/sglang-server/Cargo.toml + - rust/sglang-server/pyproject.toml + - rust/sglang-server/src/lib.rs + changed_path_count: 4 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\nSplit PR from #29799\nModifications\n\nAccuracy\ + \ Tests\n\nSpeed Tests and Profiling\n\nChecklist\n\n Format your code according\ + \ to the Format code with pre-commit.\n Add unit tests according to the Run and\ + \ add unit tests.\n Update documentation according to Write documentations.\n\ + \ Provide accuracy and speed benchmark results according to Test the accuracy\ + \ and Benchmark the speed.\n Follow the SGLang code style guidance.\n\nReview\ + \ and Merge Process\n\nPing Merge Oncalls to start the process. See the PR Merge\ + \ Process.\nGet approvals from CODEOWNERS and other reviewers.\nTrigger CI tests\ + \ with comments or contact authorized users to do so.\n\nCommon commands include\ + \ /tag-and-rerun-ci, /tag-run-ci-label, /rerun-failed-ci\n\n\nAfter green CI and\ + \ required approvals, ask Merge Oncalls or people with Write permission to merge\ + \ the PR.\n\n\n\nCI States\nLatest PR Test (Base): ✅ Run #30047123615\nLatest\ + \ PR Test (Extra): ❌ Run #30047123383" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:29569 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 29569 + title: '[DSV4] Support megamoe for CP' + author: SYChen123 + merged_at: '2026-07-23T21:46:33Z' + merge_sha: 71fe41b6b3c7f55f928468d6a38333ec2838fb77 + source_url: https://github.com/sgl-project/sglang/pull/29569 + source_fingerprint: sha256:ae7663420eaab253ee4a1aaa2c5d39e8a79738e49a7757f9d99801d6d3886a02 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/arg_groups/deepseek_v4_hook.py + - python/sglang/srt/layers/moe/mega_moe.py + - python/sglang/srt/models/deepseek_v4.py + - python/sglang/srt/server_args.py + - test/registered/cp/test_deepseek_v4_flash_fp4_b200_cp.py + changed_path_count: 5 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + In deepseek v4, currently CP and MegaMoE cannot be enabled at the same time. However, + theoretically there should be any conflicts because deepep and cp are compatible. + Thus this pr remove the constraints and supports cp enabled together with megamoe. + + Modifications + + + Remove the deepep-only validation in server_args and deepseek_v4.py. + + Add arguments validation that chunk-prefill-size should be less than SGLANG_OPT_DEEPGEMM_MEGA_MOE_NUM_MAX_TOKENS_PER_RANK. + Otherwise megamoe will fallback to fusedMoE at runtime which is unsafe. + + In should_use_mega_moe, use CP''s local token num (after token split) instead + of global token num. + + + Accuracy Tests + + gsm8k accuracy is ok. + + + Speed Tests and Profiling + + Server launch command and benchmark command + + # prefill + + GLOO_SOCKET_IFNAME=eth1 NCCL_SOCKET_IFNAME=eth1 SGLANG_SET_CPU_AFFINITY=1 SGLANG_OPT_SWA_SPLIT_LEAF_ON_INSERT=1 + SGLANG_OPT_SWA_EVICT_DROP_PAGE_MARGIN=1 SGLANG_OPT_SWA_RELEASE_LEAF_LOCK_AFTER_WINDOW=1 + SGLANG_JIT_DEEPGEMM_FAST_WARMUP=1 SGLANG_OPT_USE_ONLINE_COMPRESS=1 SGLANG_EXPERIMENTAL_ONLINE_C128_MTP=1 + SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK=0 SGLANG_OPT_FIX_MEGA_MOE_MEMORY=1 + SGLANG_OPT_USE_DEEPGEMM_MEGA_MOE=1 SGLANG_OPT_DEEPGEMM' + hardware_features: + - fp4 + kernel_types: + - moe + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32246 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32246 + title: Fix nvfp4 online scale with pcg + author: Qiaolin-Yu + merged_at: '2026-07-23T21:42:37Z' + merge_sha: 378aea138550853f27bed74f586008df269fffe2 + source_url: https://github.com/sgl-project/sglang/pull/32246 + source_fingerprint: sha256:2e6efc8f07f5f76d329abdc9afbb1e5a60f1fe4f4cca39a848299039ce5564aa + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/layers/moe/moe_runner/flashinfer_trtllm.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\n\nModifications\n\nAccuracy Tests\n\nSpeed Tests\ + \ and Profiling\n\nChecklist\n\n Format your code according to the Format code\ + \ with pre-commit.\n Add unit tests according to the Run and add unit tests.\n\ + \ Update documentation according to Write documentations.\n Provide accuracy and\ + \ speed benchmark results according to Test the accuracy and Benchmark the speed.\n\ + \ Follow the SGLang code style guidance.\n\nReview and Merge Process\n\nPing Merge\ + \ Oncalls to start the process. See the PR Merge Process.\nGet approvals from\ + \ CODEOWNERS and other reviewers.\nTrigger CI tests with comments or contact authorized\ + \ users to do so.\n\nCommon commands include /tag-and-rerun-ci, /tag-run-ci-label,\ + \ /rerun-failed-ci\n\n\nAfter green CI and required approvals, ask Merge Oncalls\ + \ or people with Write permission to merge the PR.\n\n\n\nCI States\nLatest PR\ + \ Test (Base): ❌ Run #30043782484\nLatest PR Test (Extra): ❌ Run #30043782310" + hardware_features: + - fp4 + kernel_types: + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:30917 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 30917 + title: Add return_token_ids support to completions and chat completions APIs + author: Jiminator + merged_at: '2026-07-23T21:41:53Z' + merge_sha: 410ab4fde5791ed7007c9b21a88e75d691e41f9d + source_url: https://github.com/sgl-project/sglang/pull/30917 + source_fingerprint: sha256:7a297e13fed914a07844e0763ebe6c1ce603b14fb02256481cfcaf4d523cf74c + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/entrypoints/openai/protocol.py + - python/sglang/srt/entrypoints/openai/serving_chat.py + - python/sglang/srt/entrypoints/openai/serving_completions.py + - test/registered/unit/entrypoints/openai/test_protocol.py + - test/registered/unit/entrypoints/openai/test_serving_chat.py + - test/registered/unit/entrypoints/openai/test_serving_completions.py + changed_path_count: 6 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + Clients that consume /v1/completions for code completion (FIM / tab-completion) + need the exact token ids of the generated text alongside the raw string, retokenizing + the returned text client-side can drift from what the model actually sampled. + The same applies to /v1/chat/completions consumers that need exact ids (e.g. agent + RL). SGLang currently has no way to request this on the OpenAI-compatible endpoints; + only the prompt side is exposed (and only on chat, via return_prompt_token_ids). + + Modifications + + Setting "return_token_ids": true returns per-choice prompt_token_ids and token_ids + alongside the generated text. Both fields are omitted from responses when not + requested, so default responses are unchanged. + + + /v1/completions: supported for non-streaming and streaming. Stream chunks carry + the ids generated in that chunk (correct in both cumulative and --incremental-streaming-output + modes); prompt_token_ids is attached to the first chunk of each choice. + + /v1/chat/completions: non-streaming only (rejected with a clear error under stream=true, + matching the existing return_prompt_token_ids behavior). token_ids are the raw + generated ids, before reasoning/tool-call parsing. + + No engi' + hardware_features: + - lds + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:27657 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 27657 + title: '[DeepSeek V4] CP decode opt: slice repeat attention weights to local TP + partition' + author: xu-yfei + merged_at: '2026-07-23T21:06:26Z' + merge_sha: ebe3ab29e4853c26208e9b5d22997e4beda0f803 + source_url: https://github.com/sgl-project/sglang/pull/27657 + source_fingerprint: sha256:a59e861e74924aec9adca38c47f46cadf7a56648b56a035832041f05b725a6bc + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/layers/cp/cp_decode_attn_tp.py + - python/sglang/srt/layers/linear.py + - python/sglang/srt/models/deepseek_v2.py + - python/sglang/srt/models/deepseek_v4.py + - python/sglang/srt/models/deepseek_v4_dspark.py + - python/sglang/srt/server_args.py + changed_path_count: 6 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + + In DeepSeek-V4''s NSA prefill context parallel mode, the attention linears (wo_a, + wo_b, wq_b) are initialized with tp_size=1 and weights are repeated across all + CP ranks. For CP8, this means 8× redundant attention linear computation during + decode. + + By slicing the repeated weights to only the local TP partition (matching what + normal TP8 would compute), we can eliminate this redundancy and reduce decode + latency. + + Modifications + + + + + New CpDecodeAttnTpContext (layers/utils/cp_decode_attn_tp.py): Context manager + that partitions attention weights to local TP rank during decode. On each forward, + detects whether the batch is prefill (all heads needed) or decode (only local + partition needed). For decode, replaces weight.data and quant scales with sliced + views; restores originals after the GEMM. Slices are lazily computed and cached + on first activation. + + + + Modified MQALayer (models/deepseek_v4.py): Adds CpDecodeAttnTpContext instance. + Wraps attention forward with maybe_use_decode_attn_tp(), which activates partitioning + for wq_b, wo_a, wo_b during decode. Properties n_local_heads, n_local_groups, + tp_rank, tp_size dynamically return partitioned or original values. + + + + Modified RowParallelL' + hardware_features: [] + kernel_types: + - attention + - gemm + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:31460 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 31460 + title: '[MLX] Handle configs without quant_method in Humming' + author: calvin0327 + merged_at: '2026-07-23T21:01:35Z' + merge_sha: 845f6ad954cdf5bb29966e048a48eb4bf890f00e + source_url: https://github.com/sgl-project/sglang/pull/31460 + source_fingerprint: sha256:f824386e5542f14f8a3d84e88b926e2f0124342be654e893b2b5d4c1a7a0e86e + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: [] + changed_path_count: 0 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + + MLX-community quantization configs may only contain bits and + + group_size, without a quant_method field. + + ModelConfig._verify_quantization() invokes every registered quantization + + override before reaching the MLX override. HummingConfig accessed + + quant_method with [], causing a KeyError and preventing MLX models + + from starting. + + Modifications + + + Use dict.get("quant_method") so unrelated quantization configs are + + ignored by the Humming override instead of raising KeyError. + + Accuracy Tests + + + + Existing MLX quantization override tests: 5 passed + + Verified bare {"group_size": 64, "bits": 4} config no longer raises + + Verified existing mxfp4 and explicit Humming behavior is unchanged + + + Speed Tests and Profiling + + + Not applicable. This only changes configuration detection during startup. + + + + CI States + + Latest PR Test (Base): ✅ Run #30044123081 + + Latest PR Test (Extra): ❌ Run #30044122988' + hardware_features: + - fp4 + - mxfp + kernel_types: + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32211 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32211 + title: '[CI] Fix Mamba ServerArgs namespace' + author: mmangkad + merged_at: '2026-07-23T20:15:51Z' + merge_sha: a2ddf92e616c6b47f8a166aece71d3c0bc5976af + source_url: https://github.com/sgl-project/sglang/pull/32211 + source_fingerprint: sha256:01a72315a5a872285f3f639717ce12d5d869c677970475bd072ad8d61559ed92 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/server_args.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Summary + + + assign mamba_max_states_per_path to the exec.mamba runtime configuration namespace + + restore the ServerArgs namespace coverage invariant + + + Root cause + + PR #31230 added ServerArgs.mamba_max_states_per_path without the required NS(...) + metadata. As a result, test_server_args_namespaces.py failed on main because the + new field was absent from the generated namespace map. + + Impact + + The Mamba path-state cap is now published with the other Mamba execution settings, + and the CPU unit-test partition no longer fails its ServerArgs namespace coverage + check. + + Validation + + + python3 test/registered/unit/test_server_args_namespaces.py — 3 tests passed + + commit-time pre-commit hooks passed + + git diff --check passed + + + + + CI States + + Latest PR Test (Base): ❌ Run #30009764242 + + Latest PR Test (Extra): ❌ Run #30009764004' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:31410 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 31410 + title: Skip dist_init/nccl port prechecks when the dist init method is overridden + author: sshleifer + merged_at: '2026-07-23T19:40:41Z' + merge_sha: 1f9d778d1bcdef8ef9f53eb37a8ca0bd77759e55 + source_url: https://github.com/sgl-project/sglang/pull/31410 + source_fingerprint: sha256:e42e6c4b7acee210ecde65435fe9116660899337757bc0ce529d3b0dcfb7cb53 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/server_args.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'When SGLANG_DISTRIBUTED_INIT_METHOD_OVERRIDE is set (typically + to env:// by an external orchestrator), distributed rendezvous goes through an + externally-managed TCPStore at MASTER_ADDR/MASTER_PORT and SGLang never binds + dist_init_port / nccl_port itself — see _resolve_dist_init_method in distributed/bootstrap.py, + which consumes the override and returns it verbatim as the init method. + + In that configuration the wait_port_available(dist_init_port) / wait_port_available(nccl_port) + prechecks in PortArgs.init_new guard a bind that never happens. They can still + raise ValueError if anything else on the host holds that port number — a co-tenant, + a stale socket from a prior retry, or the externally-created store itself — turning + a harmless port collision into a hard startup failure. + + Skip those two checks when the override is set. All other ports (port_base, detokenizer_port, + rpc_port, metrics_port, scheduler_input_port) are still bound as ZMQ sockets and + remain checked, so the no-override path is unchanged. + + + + CI States + + Latest PR Test (Base): ❌ Run #30022800594 + + Latest PR Test (Extra): ❌ Run #30022800124' + hardware_features: + - lds + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32014 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32014 + title: create rust workspace + author: rainj-me + merged_at: '2026-07-23T19:02:41Z' + merge_sha: 7fe82dd02e17615fb8679479c9c48ffeb5efc1aa + source_url: https://github.com/sgl-project/sglang/pull/32014 + source_fingerprint: sha256:e6c6f46eae9908945685e625ed18fba3e428109ef09871e50f6ad0f261446199 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/workflows/lint.yml + - .github/workflows/pr-test.yml + - .pre-commit-config.yaml + - python/pyproject.toml + - python/pyproject_other.toml + - python/setup.py + - rust/Cargo.toml + - rust/rust-toolchain.toml + - rust/sglang-grpc/Cargo.toml + - rust/sglang-grpc/build.rs + - rust/sglang-grpc/pyproject.toml + - rust/sglang-grpc/src/bridge.rs + - rust/sglang-grpc/src/lib.rs + - rust/sglang-grpc/src/server.rs + - rust/sglang-grpc/src/utils/py_utils.rs + - rust/sglang-mm/.gitignore + - rust/sglang-mm/Cargo.toml + - rust/sglang-mm/pyproject.toml + - rust/sglang-mm/src/common/mod.rs + - rust/sglang-mm/src/common/resize.rs + - rust/sglang-mm/src/common/transforms.rs + - rust/sglang-mm/src/inkling/mod.rs + - rust/sglang-mm/src/registry.rs + - scripts/ci/musa/musa_install_dependency.sh + - scripts/ci/utils/install_rustup.sh + changed_path_count: 25 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\nsglang single rust workspace for rust sub projects.\n\ + Modifications\n\nConvert the existing Rust folder into a workspace.\nAutomatically\ + \ register sub-projects into the SGLang build process using cargo metadata.\n\ + Standardize Rust sub-project code formatting using cargo fmt.\nUse cargo clippy\ + \ to automatically check for and fix code bad smells.\nEliminate the dependency\ + \ on the system protoc command during sglang-grpc compilation by using the protoc-bin-vendored\ + \ crate.\nOptimize the performance of the generated .so file by enabling lto =\ + \ true (fat LTO), opt-level = 3, and codegen-units = 1. (If linking speed becomes\ + \ too slow later, adjust to lto = \"thin\" and codegen-units = 8 or 16).\n\nAccuracy\ + \ Tests\n\nSpeed Tests and Profiling\n\nChecklist\n\n Format your code according\ + \ to the Format code with pre-commit.\n Add unit tests according to the Run and\ + \ add unit tests.\n Update documentation according to Write documentations.\n\ + \ Provide accuracy and speed benchmark results according to Test the accuracy\ + \ and Benchmark the speed.\n Follow the SGLang code style guidance.\n\nReview\ + \ and Merge Process\n\nPing Merge Oncalls to start the process. See the PR Merge\ + \ Process.\nGet approvals from CODEOWNERS and other " + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32122 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32122 + title: '[Fix] Include disagg prefill waiting queue in FPM' + author: tedzhouhk + merged_at: '2026-07-23T16:30:28Z' + merge_sha: d0b9689805232d8ab37789121cbc3b766b5c723e + source_url: https://github.com/sgl-project/sglang/pull/32122 + source_fingerprint: sha256:3d99199b21da227e45b1c6b8812efca04532bc224210af0897cb858a7e28d4f4 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/managers/scheduler_components/metrics_reporter.py + - test/registered/unit/observability/test_forward_pass_metrics.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + In disaggregated prefill mode, forward-pass metrics only counted requests in the + KV-transfer bootstrap queue. Requests that had completed bootstrap and were waiting + for chunked-prefill compute admission in waiting_queue were omitted, so downstream + autoscalers could observe zero queued prefill tokens under sustained load. + + Modifications + + + Include waiting_queue requests in disaggregated-prefill queued request metrics. + + Extend the CPU unit test to cover requests in both the bootstrap and compute-admission + queues. + + + Accuracy Tests + + Not applicable. This change only corrects queue telemetry and does not affect + model outputs. + + Speed Tests and Profiling + + Not applicable. The added queue scan follows the existing aggregated-mode metric + collection pattern and only runs when forward-pass metrics are emitted. + + Validation + + + pre-commit run --files python/sglang/srt/managers/scheduler_components/metrics_reporter.py + test/registered/unit/observability/test_forward_pass_metrics.py (all hooks passed) + + A targeted queued-prefill regression smoke test passed for both mixed bootstrap/waiting + queues and a waiting-only queue. + + The registered pytest file could not be collected in the local Dynamo virtual + env' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32205 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32205 + title: Doc/update npu quickstart + author: JinyanYi + merged_at: '2026-07-23T12:25:21Z' + merge_sha: b98a577fbef036c3bab5a9ee1fd01edc2af8386c + source_url: https://github.com/sgl-project/sglang/pull/32205 + source_fingerprint: sha256:6fa97652804ad532b0e65d7ccd8cce78abf3fe18bb9ad374aa4028a55bc356bb + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - docs_new/docs/hardware-platforms/ascend-npus/ascend_npu_quick_start.mdx + - docs_new/docs/hardware-platforms/ascend-npus/best_practice/qwen3_6_35b_a3b.mdx + - docs_new/docs/hardware-platforms/ascend-npus/model-tutorials/qwen3_6_35b_a3b.mdx + changed_path_count: 3 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + While following the official Ascend NPU docs to deploy and benchmark Qwen3.6-35B-A3B, + we hit two documentation gaps that block a clean “copy from docs and run” path: + + 1. Recommended stable image is too old for NEXTN + + Current docs recommend: + + quay.io/ascend/sglang:v0.5.13.post1-cann9.0.0-a3 + + + But Qwen3.6 Ascend best-practice configs enable NEXTN speculative decoding. On + v0.5.13(.post1), server startup fails with: + + AttributeError: ''NPUMHATokenToKVPool'' object has no attribute ''data_strides'' + + + Root cause: + + + Enabling NEXTN sets enable_kv_cache_copy=True + + Parent KV pool warmup expects data_strides / data_ptrs + + Ascend NPUMHATokenToKVPool uses a different paged layout and did not set them + + Fix landed on main in #27202 (2026-06-09), but was not cherry-picked into release/v0.5.13 + + First release tag containing the fix: v0.5.14 + + Official Ascend image with the fix: quay.io/ascend/sglang:v0.5.14-cann9.0.0-a3 + (and ...-910b) + + + So the docs currently recommend a stable image that cannot run the documented + NEXTN best-practice commands. + + Modifications + + 1. ascend_npu_quick_start.mdx + + + Update stable release example tag: + + + A3: v0.5.13.post1-cann9.0.0-a3 → v0.5.14-cann9.0.0-a3 + + A2: v0.5.13.post1-cann9.0.0-910b ' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:30986 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 30986 + title: '[UnifiedRadixCache][mamba] Fix mamba state corruption and slot leak when + load_back aborts' + author: Jialin + merged_at: '2026-07-23T10:48:32Z' + merge_sha: 70ac0c4b0e8e832945c245d9fb0696f368e4aa19 + source_url: https://github.com/sgl-project/sglang/pull/30986 + source_fingerprint: sha256:fba80cc46187f48916ffb814bf3912abf51694fbf2189fa8fb5c6a7bc816d09d + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/mem_cache/unified_cache_components/__init__.py + - python/sglang/srt/mem_cache/unified_cache_components/mamba_component.py + - python/sglang/srt/mem_cache/unified_cache_components/tree_component.py + - python/sglang/srt/mem_cache/unified_radix_cache.py + - test/registered/unit/mem_cache/test_unified_radix_cache_unittest.py + changed_path_count: 5 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + An aborted mamba load-back silently corrupts that request''s output. The mamba + + LOAD_BACK transfer build allocates a CoW device slot and publishes it on + + req.mamba_pool_idx before the load-back is known to proceed. When load_back + + aborts — memory quota, insufficient eviction, or cache_controller.load() returning + + None — nothing unwinds that: the request proceeds and decodes reading a slot whose + + H->D copy never ran, i.e. uninitialized memory or the previous occupant''s stale + + recurrent state. Silently wrong generation, reproducing only under host-memory + + pressure plus abort timing. Secondarily, the slot stays allocated until request + end + + (a bounded leak); the corruption is the severe half. + + Modifications + + Component-specific state handling lives inside TreeComponent (per review feedback): + + + prepare_build_hicache_transfers(node, phase, *, req) -> PrepareTransfersResult + — + + runs before the transfer build. The mamba implementation allocates + publishes + the + + CoW slot (with the evict-retry) and records it as allocated_mamba_slot in the + + result; the transfer build no longer allocates (it asserts the slot exists). + + postprocess_build_hicache_transfers(req, prep, success) — receives the prepare + + res' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32191 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32191 + title: Rebase to v0.5.15.post1 for internal testing + author: akao-amd + merged_at: '2026-07-23T10:02:15Z' + merge_sha: e35a33b34a5b23c8968f9e1fae6ffb9ddedf1153 + source_url: https://github.com/sgl-project/sglang/pull/32191 + source_fingerprint: sha256:c4c1d0bb7bf9f4d30a869b9bcc9180f83c055fed846892851358664c5d52f367 + decision: include + relevance_reason: kernel path 'python/sglang/jit_kernel/csrc/moe/moe_align_kernel.cu'; + keyword 'moe' + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/jit_kernel/csrc/moe/moe_align_kernel.cu + - python/sglang/srt/layers/moe/moe_runner/triton_utils/moe_align_block_size.py + - python/sglang/srt/layers/moe/topk.py + - python/sglang/srt/layers/quantization/__init__.py + - python/sglang/srt/layers/quantization/quark/schemes/quark_w4a4_mxfp4.py + - python/sglang/srt/layers/quantization/quark_int4fp8_moe.py + - python/sglang/srt/utils/common.py + - sgl-kernel/csrc/elementwise/deepseek_v4_topk.cu + - sgl-kernel/csrc/elementwise/dsv4_norm_rope.cu + - sgl-kernel/csrc/elementwise/topk.cu + - sgl-kernel/include/utils.h + - sgl-kernel/setup_rocm.py + changed_path_count: 12 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\nSupport internal testing of the next ROCm GA release.\n\ + Modifications\nPreviously amd_march has three commits on v0.5.13.post1, and now\ + \ it has discarded the three commits and rebase on v0.5.15.post1.\nThis PR is\ + \ to add the three commits back.\nAccuracy Tests\nN/A. This is a part of the\ + \ ROCK CI effort. Downstream QA teams will be responsible for the tests.\nSpeed\ + \ Tests and Profiling\nN/A.\nChecklist\n\n Format your code according to the Format\ + \ code with pre-commit.\n Add unit tests according to the Run and add unit tests.\n\ + \ Update documentation according to Write documentations.\n Provide accuracy and\ + \ speed benchmark results according to Test the accuracy and Benchmark the speed.\n\ + \ Follow the SGLang code style guidance.\n\nReview and Merge Process\n\nPing Merge\ + \ Oncalls to start the process. See the PR Merge Process.\nGet approvals from\ + \ CODEOWNERS and other reviewers.\nTrigger CI tests with comments or contact authorized\ + \ users to do so.\n\nCommon commands include /tag-and-rerun-ci, /tag-run-ci-label,\ + \ /rerun-failed-ci\n\n\nAfter green CI and required approvals, ask Merge Oncalls\ + \ or people with Write permission to merge the PR.\n\n\n\nCI States\nLatest PR\ + \ Test (Base): ❌ Run #29996914085\nLatest PR Test (" + hardware_features: + - fp8 + - fp4 + - mxfp + kernel_types: + - moe + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:31230 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 31230 + title: '[Mamba] Add a per-path cap for cached states' + author: YAMY1234 + merged_at: '2026-07-23T09:58:37Z' + merge_sha: c18919f8f37bb9cf4e98042aed11683debbe46b4 + source_url: https://github.com/sgl-project/sglang/pull/31230 + source_fingerprint: sha256:31311ab765831eaf99a68da9ee4997750f1589ec975cff2184d1da8048be4212 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/mem_cache/unified_cache_components/mamba_component.py + - python/sglang/srt/server_args.py + - test/registered/radix_cache/unified_radix_tree/test_unified_radix_cache_kl_mamba.py + - test/registered/unit/mem_cache/test_mamba_path_state_cap.py + changed_path_count: 4 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation + + Hybrid Mamba models cache Mamba states at radix-tree checkpoints. On long shared-prefix + workloads, an unbounded number of checkpoints along one path can exhaust the fixed + Mamba state pool and cause cache churn, even when the corresponding Full KV remains + reusable. + + This PR adds an opt-in per-path Mamba state budget. The default is -1 (unlimited), + so existing behavior is unchanged. 0 and values below -1 are rejected to avoid + conflating an unlimited budget with a zero-state budget. + + Modifications + + + Add --mamba-max-states-per-path: -1 means unlimited, while positive integers enable + the cap. + + After inserting a Mamba state, prune the shallowest eligible interior device checkpoints + when the path exceeds the configured cap. + + Preserve the tail, fork nodes, locked nodes, device leaves, Full KV, and any existing + host backup. The cap is therefore a best-effort soft limit. + + Reuse the existing UnifiedRadixCache eviction, allocator, LRU, and accounting + paths. + + Add CPU unit coverage for the default, CLI parsing, invalid-value rejection, shallow + pruning and accounting, Full KV retention, protected nodes, existing HiCache host-backup + preservation, and the unlimited path. + + + Accuracy Tests + + Validat' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32193 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32193 + title: '[Tiny] Skip sm120 deepgemm test temporarily' + author: Fridge003 + merged_at: '2026-07-23T09:54:59Z' + merge_sha: 20f6a416e740c18d8b40d8cadb479acdb6d6bfca + source_url: https://github.com/sgl-project/sglang/pull/32193 + source_fingerprint: sha256:6c4429b000b85de044010c3f7b2fb06cf12d6e42a7fe65b8a5f017a61cb8ecf6 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/workflows/release-whl-deepgemm.yml + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\n\nModifications\n\nAccuracy Tests\n\nSpeed Tests\ + \ and Profiling\n\nChecklist\n\n Format your code according to the Format code\ + \ with pre-commit.\n Add unit tests according to the Run and add unit tests.\n\ + \ Update documentation according to Write documentations.\n Provide accuracy and\ + \ speed benchmark results according to Test the accuracy and Benchmark the speed.\n\ + \ Follow the SGLang code style guidance.\n\nReview and Merge Process\n\nPing Merge\ + \ Oncalls to start the process. See the PR Merge Process.\nGet approvals from\ + \ CODEOWNERS and other reviewers.\nTrigger CI tests with comments or contact authorized\ + \ users to do so.\n\nCommon commands include /tag-and-rerun-ci, /tag-run-ci-label,\ + \ /rerun-failed-ci\n\n\nAfter green CI and required approvals, ask Merge Oncalls\ + \ or people with Write permission to merge the PR.\n\n\n\nCI States\nLatest PR\ + \ Test (Base): ✅ Run #29997211380\nLatest PR Test (Extra): \U0001F6AB Run #29997210748" + hardware_features: [] + kernel_types: + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32160 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32160 + title: '[Kernel] Sweep missed dedicated kernels into kernels.ops (moe/quant siblings + + dspark) (RFC #29630)' + author: BBuf + merged_at: '2026-07-23T09:07:17Z' + merge_sha: 62aa85d9aa2fabd339ee06077e09d3ce1ac4e608 + source_url: https://github.com/sgl-project/sglang/pull/32160 + source_fingerprint: sha256:3ab4e5e3ad318e270013a33efdb7eeadef312dccad4912a0ea8cdcc478912d9c + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: out-of-scope + scope_status: out-of-scope + changed_paths: + - python/sglang/kernels/ops/moe/gate_topk.py + - python/sglang/kernels/ops/moe/inkling_moe.py + - python/sglang/kernels/ops/moe/sigmoid_gate_topk_renorm.py + - python/sglang/kernels/ops/quantization/mxfp8_interleave_sf.py + - python/sglang/kernels/ops/quantization/mxfp8_quant.py + - python/sglang/kernels/ops/speculative/dspark/__init__.py + - python/sglang/kernels/ops/speculative/dspark/dispatch.py + - python/sglang/kernels/ops/speculative/dspark/dspark_accept.py + - python/sglang/kernels/ops/speculative/dspark/dspark_attn_metadata.py + - python/sglang/kernels/ops/speculative/dspark/dspark_draft_model.py + - python/sglang/kernels/ops/speculative/dspark/dspark_schedule.py + - python/sglang/kernels/ops/speculative/dspark/dspark_verify_window.py + - python/sglang/srt/layers/attention/deepseek_v4_backend.py + - python/sglang/srt/mem_cache/memory_pool.py + - python/sglang/srt/models/deepseek_v4_dspark.py + - python/sglang/srt/models/inkling_common/attn.py + - python/sglang/srt/models/inkling_common/dense_mlp.py + - python/sglang/srt/models/inkling_common/moe.py + - python/sglang/srt/speculative/dspark_components/dspark_draft.py + - python/sglang/srt/speculative/dspark_components/dspark_kv_inject.py + - python/sglang/srt/speculative/dspark_components/dspark_planner.py + - python/sglang/srt/speculative/dspark_components/dspark_verify.py + - test/registered/kernels/ops/moe/test_moe_preprocess.py + - test/registered/spec/dspark/test_dspark_kernel_parity.py + - test/registered/spec/dspark/test_dspark_scheduler.py + changed_path_count: 25 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Summary + + Post-migration audit follow-up: move genuinely-missed dedicated kernel files into + sglang.kernels.ops, joining siblings that already migrated. Clean relocations + only (git mv + caller import rewrites); no extraction from core/model modules. + + Changes + + + moe — moe_runner/triton_utils/{inkling_moe, gate_topk, sigmoid_gate_topk_renorm} + → sglang.kernels.ops.moe (siblings fused_moe_triton_kernels / triton_hash_topk + / triton_sigmoid_gate_mul already there). inkling_moe keeps its triton_utils.helion_utils + import (build helper, not a kernel). + + quantization — layers/quantization/{mxfp8_quant, mxfp8_interleave_sf} → sglang.kernels.ops.quantization + (siblings mxfp8 / mxfp8_amd_gfx95 already there). + + speculative — the whole srt/speculative/dspark_components/kernels/ subpackage + (dspark accept / verify_window / attn_metadata / draft_model / schedule + dispatch) + → sglang.kernels.ops.speculative.dspark. It sat in a folder literally named kernels/ + with no back-import to its parent, so the relocation is clean. + + + Validation + + + find_spec resolves all moved modules; import sglang.kernels.ops stays metadata-only + (CLEAN). + + Callers rewritten (dspark: 13 files; moe/quant: 6); zero dangling old-path refs. + + py_com' + hardware_features: + - fp8 + - mxfp + kernel_types: + - attention + - fused-moe + - moe + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32110 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32110 + title: '[Spec] Enable grammar overlap scheduling for STANDALONE speculative decoding' + author: hnyls2002 + merged_at: '2026-07-23T08:47:27Z' + merge_sha: f35411ee8149e815f76fd7d69b825c5b4df48a0b + source_url: https://github.com/sgl-project/sglang/pull/32110 + source_fingerprint: sha256:14f6e6dfe8ef05517237ce5b8599cdf9981da61e77796707ea0839f94df87c9f + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - python/sglang/srt/speculative/spec_info.py + - test/registered/spec/test_spec_standalone.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Enable the spec-v2 grammar barrier for STANDALONE (StandaloneWorkerV2 + inherits the EAGLE V2 verify path where the barrier is threaded). Constrained-decoding + coverage reuses the existing standalone triton server (overlap on), so grammar + decode exercises the barrier path with no extra server launch. + + + + CI States + + Latest PR Test (Base): ❌ Run #29980099848 + + Latest PR Test (Extra): ❌ Run #29980099737' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: sglang-rocm:pr:32174 + source_id: sglang-rocm + source_kind: github-pr + repo: sgl-project/sglang + component: null + pr: 32174 + title: '[Tiny]Correct runner for testing deepgemm' + author: Fridge003 + merged_at: '2026-07-23T08:13:15Z' + merge_sha: 5387e23ecd7dde4c383ae857983686e6a73bddf3 + source_url: https://github.com/sgl-project/sglang/pull/32174 + source_fingerprint: sha256:a8a297b990241a6f3cae2b1ec4e90abb3ba3dfcbbe67b33f2b962dd713c0113b + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .github/workflows/release-whl-deepgemm.yml + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Motivation\n\nModifications\n\nAccuracy Tests\n\nSpeed Tests\ + \ and Profiling\n\nChecklist\n\n Format your code according to the Format code\ + \ with pre-commit.\n Add unit tests according to the Run and add unit tests.\n\ + \ Update documentation according to Write documentations.\n Provide accuracy and\ + \ speed benchmark results according to Test the accuracy and Benchmark the speed.\n\ + \ Follow the SGLang code style guidance.\n\nReview and Merge Process\n\nPing Merge\ + \ Oncalls to start the process. See the PR Merge Process.\nGet approvals from\ + \ CODEOWNERS and other reviewers.\nTrigger CI tests with comments or contact authorized\ + \ users to do so.\n\nCommon commands include /tag-and-rerun-ci, /tag-run-ci-label,\ + \ /rerun-failed-ci\n\n\nAfter green CI and required approvals, ask Merge Oncalls\ + \ or people with Write permission to merge the PR.\n\n\n\nCI States\nLatest PR\ + \ Test (Base): ✅ Run #29992372921\nLatest PR Test (Extra): ❌ Run #29992372121" + hardware_features: [] + kernel_types: + - gemm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' diff --git a/candidates/runs/20260724T031505418000Z/triton.yaml b/candidates/runs/20260724T031505418000Z/triton.yaml new file mode 100644 index 00000000..f27ada4f --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/triton.yaml @@ -0,0 +1,9 @@ +schema_version: 1 +source_id: rocm-triton +source_kind: github-prs +repo: ROCm/triton +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: null +counts: {} +candidates: [] diff --git a/candidates/runs/20260724T031505418000Z/vllm.yaml b/candidates/runs/20260724T031505418000Z/vllm.yaml new file mode 100644 index 00000000..233d2a84 --- /dev/null +++ b/candidates/runs/20260724T031505418000Z/vllm.yaml @@ -0,0 +1,1913 @@ +schema_version: 1 +source_id: vllm-rocm +source_kind: github-prs +repo: vllm-project/vllm +run_id: 20260724T031505418000Z +run_date: '2026-07-24' +watermark_before: + merged_at: '2026-07-23T07:17:25Z' + pr: 49523 + merge_sha: f83de6d44c2473656f95357900d53f1b7401d21c + captured_at: '2026-07-23' +counts: + defer: 2 + exclude: 31 +candidates: +- id: vllm-rocm:pr:49513 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49513 + title: '[CI] Use explicit devices in IR tests' + author: AndreasKaratzas + merged_at: '2026-07-24T03:08:15Z' + merge_sha: 2ac125123a8d312823cf4ef56ca165f04f579dd1 + source_url: https://github.com/vllm-project/vllm/pull/49513 + source_fingerprint: sha256:64ba9ce5b4b7a1bd5167fae6fae0166af91cfd5863613e66fc08cef7dd876be3 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/kernels/ir/test_layernorm.py + - vllm/ir/ops/layernorm.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation: vLLM IR Tests + + The IR RMSNorm and LayerNorm cases relied on class-level default-device state + that a function-scoped fixture reset before later parameterized cases. That left + generated inputs on CPU while the tested operators were compiled for ROCm. The + IR input generators now accept a device and every affected accelerator test passes + it explicitly. This fixes the vLLM IR Tests test group.' + hardware_features: [] + kernel_types: + - rmsnorm + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:48769 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 48769 + title: '[Bugfix] Fix humming kernel crash when layer.has_bias is None' + author: kylesayrs + merged_at: '2026-07-24T03:07:46Z' + merge_sha: 7bdf8cc37cddf14d7da746ad18274155dd0a6b1c + source_url: https://github.com/vllm-project/vllm/pull/48769 + source_fingerprint: sha256:0e8be3ceed1c1967c5e2a7fb768865b07f45e33788fdd79bcb16eb8f40289031 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - vllm/model_executor/models/hy_v3.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + + Fix HYV3 model with CT inference + + + Testing + + + Validated that RedHatAI/Hy3-NVFP4-FP8 runs + + + RCA + + + LinearBase.__init__ sets self.has_bias = bias, and some custom model layers (e.g. + Hy3-NVFP4-FP8) pass bias=None. This None propagates as has_bias=None into HummingLayerMeta. + + BaseHummingConfig.to_cpp_str() skips any field whose value fails isinstance(value, + (bool, int, Enum)) — None fails this check, so kHasBias is omitted from the generated + C++ struct. + + NVRTC then fails with: class "LayerConfig" has no member "kHasBias".' + hardware_features: + - fp8 + - fp4 + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:41276 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 41276 + title: '[CompressedTensors] DeepSeek4 CT Quantization Support' + author: kylesayrs + merged_at: '2026-07-24T03:07:31Z' + merge_sha: bf27e34ebb5d2542b96647cffe42c3e8f9d83f16 + source_url: https://github.com/vllm-project/vllm/pull/41276 + source_fingerprint: sha256:12dec7e4d0bba526bacbc13637e8e314e8a120a8d865575681b01ed445458f26 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - vllm/models/deepseek_v4/nvidia/ops/o_proj.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'DeepSeek-V4-Flash-NVFP4-FP8 + + + Model Optimizations + + This model was obtained by using the following branch with LLM Compressor: vllm-project/llm-compressor#2647 + + Deployment + + vllm serve RedHatAI/DeepSeek-V4-Flash-NVFP4-FP8 --tensor-parallel-size 4 --port + 8089 --kv_cache_dtype="fp8" + + Accuracy Evaluation + + + + + Benchmark + + deepseek-ai/DeepSeek-V4-Pro-Base + + deepseek-ai/DeepSeek-V4-Pro + + RedHatAI/DeepSeek-V4-Pro-NVFP4-FP8 + + + + + + GPQA + + + 90.1 + + 0.93 (330/792 samples) + + + + GSM8K + + 91.1 + + 92.6 + + 91.0 + + + + + Performance Evaluation + + 8xB200 + + Avg prompt throughput: 155.5 tokens/s, Avg generation throughput: 3258.4 tokens/s, + Running: 102 reqs, Waiting: 0 reqs, GPU KV cache usage: 15.1%, Prefix cache hit + rate: 2.4% + + + For more details on how this model was created and run in LLM Compressor, please + contact Kyle Sayers on the vLLM Slack: https://communityinviter.com/apps/vllm-dev/join-vllm-developers-slack' + hardware_features: + - fp8 + - fp4 + kernel_types: + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49623 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49623 + title: '[Bugfix] Detect mixed precision in packed KV cache specs' + author: mgoin + merged_at: '2026-07-24T03:07:06Z' + merge_sha: 275556c35cb4ea12ee362a38e222f66f711a8060 + source_url: https://github.com/vllm-project/vllm/pull/49623 + source_fingerprint: sha256:87fddf012824632ba7286d18be3d4719d8f2387984e20d3242e49c8f062e9ee6 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/core/test_kv_cache_utils.py + - vllm/v1/kv_cache_interface.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Fix KV-cache zeroer initialization when mixed-precision attention specs are + + packed in UniformTypeKVCacheSpecs. + + The worker-side KVCacheConfig.has_mixed_precision_kv_cache check only + + inspected top-level AttentionSpec objects. Packed specs were skipped, while + + generate_scheduler_kv_cache_config unpacked them. This let the scheduler mark + + blocks for zeroing without the worker creating a zeroer, causing the first + + request to fail. + + This change inspects the inner attention specs and adds a regression test that + + checks worker and scheduler configurations agree. + + Duplicate-work check: I searched open vLLM PRs for #47574, wrapped KV cache zeroing, + and UniformTypeKVCacheSpecs mixed precision; no PR addressing this + + fix was found. + + Test Plan + + + Run the focused regression test. + + Run the complete nearby KV-cache utility test file. + + Run pre-commit on both changed files. + + Serve the official deepseek-ai/DeepSeek-V4-Flash-DSpark checkpoint with + + DSpark, FP8 KV cache, and TP=2, then submit a completion request. + + + Test Result + + + Before the fix, the regression test failed because + + worker_config.needs_kv_cache_zeroing was false. + + After the fix: + + + python -m pytest tests/v1/core/test_kv_cache_utils.py::test_mixed_pr' + hardware_features: + - fp8 + kernel_types: + - attention + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49258 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49258 + title: '[Model] Support llm-compressor Inkling NVFP4 weights' + author: mgoin + merged_at: '2026-07-24T03:06:02Z' + merge_sha: d65acd83d87b1ad8d13eaa9452510488de642543 + source_url: https://github.com/vllm-project/vllm/pull/49258 + source_fingerprint: sha256:5d013a55eddf9b47b5f1e0903dd1789cb3414aecc68456df28917813da01bfeb + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/models/inkling/test_moe_weight_layout.py + - vllm/models/inkling/nvidia/model.py + - vllm/models/inkling/nvidia/moe.py + changed_path_count: 3 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Summary + + + Normalize nested llm-compressor Inkling expert names to the existing fused-MoE + parameter names while retaining flattened-name support. + + Load compressed-tensors per-expert global scales into the existing w13/w2 layouts. + + + This is not a duplicate of #48876: it is a minimal alternative built on the landed + general compressed-tensors infrastructure and omits synthetic tiny-checkpoint + config and routing-kernel accommodations. + + Validation + + + .venv/bin/python -m pytest tests/models/inkling/test_moe_weight_layout.py -q — + 31 passed + + .venv/bin/pre-commit run --files vllm/models/inkling/nvidia/model.py vllm/models/inkling/nvidia/moe.py + tests/models/inkling/test_moe_weight_layout.py — passed + + Original ModelOpt checkpoint, TP=4, GSM8K 5-shot — 0.895 accuracy, 0.001 invalid + responses + + + AI assistance was used in preparing this change; the submitter reviewed the complete + diff.' + hardware_features: + - fp4 + kernel_types: + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:48050 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 48050 + title: '[ROCm][Quantization] Add Quark W4A8 (INT4-FP8) MoE CI coverage' + author: amd-sourjya + merged_at: '2026-07-24T02:56:40Z' + merge_sha: 80c9d5d5e0448ddee3097a687fcbdbb427a8e9ee + source_url: https://github.com/vllm-project/vllm/pull/48050 + source_fingerprint: sha256:43060a6f2076a1ddba2839b8e2e187762c064df30753072b16ead983650f05ca + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: + - gfx942 + - gfx950 + architecture_status: metadata-evidence + scope_status: quarantine + changed_paths: + - tests/quantization/test_quark.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Add vLLM CI coverage for the Quark W4A8 (INT4 weight + FP8 activation) fused-MoE + path (QuarkW4A8Fp8MoEMethod), which dispatches through the ROCm AITER fused MoE + kernel on gfx942/gfx950. Complements the earlier W4A8 method refactor (#39136). + + Test Plan + + + New tests/quantization/test_quark.py::test_quark_w4a8_fp8_moe: loads a tiny Qwen3-MoE + reference model (amd/tiny-qwen3-moe-w4a8), asserts routed experts use QuarkW4A8Fp8MoEMethod, + and runs generation. Gated on gfx950 + AITER. + + Reference model created with AMD Quark (progressive FP8->INT4, Kimi-K2.5-W4A8 + recipe); creation script lives on the HF model card, not in vLLM. + + + Test Result + + + End-to-end on gfx950 (MI355): loads the W4A8 model, dispatches through the AITER + W4A8 fused MoE kernel, and generates.' + hardware_features: + - fp8 + kernel_types: + - fused-moe + - moe + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49654 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49654 + title: '[Docs] Fix broken anchor links in serving/pooling/MoE docs' + author: euisuh + merged_at: '2026-07-24T02:42:57Z' + merge_sha: da54a5bf053fbb2fc73aec0955d2d9bf76b01b1c + source_url: https://github.com/vllm-project/vllm/pull/49654 + source_fingerprint: sha256:b97f9a6967ba7bd1eb4e0a7fc9a4756def1f66ca7fed7f697d02a950d2afc8f5 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - docs/design/fused_moe_modular_kernel.md + - docs/models/pooling_models/README.md + - docs/models/pooling_models/scoring.md + - docs/serving/online_serving/README.md + changed_path_count: 4 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Four in-page anchors in the docs point at fragments that do not exist on the rendered + site, so the links land at the top of the target page instead of the intended + section. + + + + + Link + + Problem + + Fix + + + + + + scoring.md#rerank-api (4x) + + heading is ### Cohere Rerank API + + #cohere-rerank-api + + + + moe_kernel_features.md#fused-moe-experts-kernels + + heading is ## Fused Experts Kernels + + #fused-experts-kernels + + + + openai_compatible_server.md#chat-template + + the ## Chat Template section is in serving/online_serving/README.md, not in openai_compatible_server.md + + same-page #chat-template + + + + generative_scoring.md#generative-scoring-api + + no such heading in that page + + link to the page + + + + + Test Plan + + + Compared every relative #fragment link under docs/ against the anchors actually + emitted on https://docs.vllm.ai (e.g. cohere-rerank-api, fused-experts-kernels, + chat-template on the Online Serving page). + + markdownlint-cli2 (the version pinned in .pre-commit-config.yaml) passes on all + four changed files. + + + Test Result + + Summary: 0 error(s) from markdownlint on the changed files; all four replacement + anchors exist on the published pages. + + Note + + The scan also surfaced a separate class of mismatch: anchors such as docs/design/fusio' + hardware_features: [] + kernel_types: + - fused-moe + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49270 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49270 + title: '[ROCm][CI] Prepare AMD mirrors for regating' + author: AndreasKaratzas + merged_at: '2026-07-24T01:42:25Z' + merge_sha: 1479bd9e9d3e7e06a4167980d4d4662eeda0638c + source_url: https://github.com/vllm-project/vllm/pull/49270 + source_fingerprint: sha256:ef301edc19c9295a88c6a9f73e2cd040b677754d71720f245da9e9809d487165 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: + - gfx942 + architecture_status: metadata-evidence + scope_status: out-of-scope + changed_paths: + - .buildkite/scripts/hardware_ci/run-amd-test.sh + - .buildkite/test-amd.yaml + - .buildkite/test_areas/attention.yaml + - .buildkite/test_areas/basic_correctness.yaml + - .buildkite/test_areas/benchmarks.yaml + - .buildkite/test_areas/disaggregated.yaml + - .buildkite/test_areas/distributed.yaml + - .buildkite/test_areas/engine.yaml + - .buildkite/test_areas/entrypoints.yaml + - .buildkite/test_areas/expert_parallelism.yaml + - .buildkite/test_areas/kernels.yaml + - .buildkite/test_areas/lm_eval.yaml + - .buildkite/test_areas/lora.yaml + - .buildkite/test_areas/misc.yaml + - .buildkite/test_areas/model_executor.yaml + - .buildkite/test_areas/models_basic.yaml + - .buildkite/test_areas/models_language.yaml + - .buildkite/test_areas/models_multimodal.yaml + - .buildkite/test_areas/pytorch.yaml + - .buildkite/test_areas/samplers.yaml + - .buildkite/test_areas/spec_decode.yaml + - .buildkite/test_areas/weight_loading.yaml + - docker/Dockerfile.rocm + changed_path_count: 23 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Prepare the existing AMD CI mirrors for regating without adding + any new mirror definitions. + + This change: + + + reroutes existing mirrors from MI325 to MI300 or MI250 where appropriate + + disables DinD for applicable MI300 mirrors + + updates mirror timeouts based on observed runtime + + moves CPU-only workloads to MI250 + + fixes ROCm test commands to use HIP_VISIBLE_DEVICES + + updates AMD pytest and faulthandler timeouts + + adjusts optional jobs and shard counts + + removes the flaky AMD compile-passes mirror' + hardware_features: [] + kernel_types: + - attention + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49385 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49385 + title: '[BugFix][LoRA] Skip marlin-backend gpt-oss LoRA tests on XPU' + author: chaojun-zhang + merged_at: '2026-07-24T01:16:01Z' + merge_sha: 0231dd5467c61dca76f66269b6298a43772b3519 + source_url: https://github.com/vllm-project/vllm/pull/49385 + source_fingerprint: sha256:d8cbec9eec584b62bde3d2f753c3efd975c3fc83746940a80a3ceef16c1fac52 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/lora/test_gptoss_tp.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Fix XPU crashes in test_gpt_oss_lora_tp2 and test_gpt_oss_lora when mxfp4_use_marlin=True + due to an unsupported MXFP4 Marlin backend. + + Root cause + + The tests explicitly request moe_backend="marlin" and linear_backend="marlin", + but Marlin MXFP4 kernels are CUDA‑only and not registered for XPU. Explicit requests + fail instead of falling back, unlike the auto path which correctly skips Marlin + on XPU. + + Fix + + The ROCm skipif already exists for this reason; this PR adds the equivalent XPU + condition to skip the tests as well.' + hardware_features: + - fp4 + - mxfp + kernel_types: + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49593 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49593 + title: '[CI][PD] Add hybrid SSM P_TP>D_TP accuracy sweep entry' + author: NickLucche + merged_at: '2026-07-23T21:49:55Z' + merge_sha: 26594674975cf68b4b33b329b9a9ad2d508bb243 + source_url: https://github.com/vllm-project/vllm/pull/49593 + source_fingerprint: sha256:784fad50e783412a2765cfb05978ff2460e988a6f2088f16036bbafaea63fa64 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Adding CI coverage mentioned here #49297 (review)' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49511 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49511 + title: '[CI] Disable reasoning in Responses smoke test' + author: AndreasKaratzas + merged_at: '2026-07-23T19:02:55Z' + merge_sha: a49d37c6b902036385fcfd87c9ed40320ac06490 + source_url: https://github.com/vllm-project/vllm/pull/49511 + source_fingerprint: sha256:1486dfa20d4e556be184a5354d361eef5c08f0b995a45fbab4e85d4d9a31be03 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/entrypoints/openai/responses/test_simple.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation: Entrypoints Integration (Responses API) + + The basic Responses API smoke test can intermittently let Qwen3 spend its output + budget on a reasoning trace and finish as incomplete. The assertion only checks + basic response completion, so it now requests reasoning effort none explicitly. + Dedicated cases in the same suite continue to exercise reasoning output. This + fixes the Entrypoints Integration (Responses API) test group.' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49551 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49551 + title: '[ROCm][CI] Language Models tests tiny-mixtral with aiter fix' + author: music-dino + merged_at: '2026-07-23T19:01:36Z' + merge_sha: 4501a6d56b2c45dd9d2af816bef631da50374828 + source_url: https://github.com/vllm-project/vllm/pull/49551 + source_fingerprint: sha256:ee2a45b582b9101a46705d96e1751f9bec94a2a8f822fe8dd175ede7c04089c5 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: + - gfx950 + architecture_status: metadata-evidence + scope_status: quarantine + changed_paths: + - tests/models/language/generation/test_common.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Purpose\nFix failing TitanML/tiny-mixtral aiter using tests\ + \ in mi355_1:Language Models Tests (Standard):\n\nmodels/language/generation/test_common.py::test_models[True-True-5-32-TitanML/tiny-mixtral]\n\ + models/language/generation/test_common.py::test_models[False-True-5-32-TitanML/tiny-mixtral]\n\ + \nThe tiny-mixtral model is untrained and is randomly initialized, the logprobs\ + \ distribution is nearly uniform, and the tests end up being very sensitive to\ + \ any bf16 rounding differences between kernels. There is a very detailed breakdown\ + \ of the issue in #36101.\nThe PR above disabled rms norm specifically for aiter\ + \ tiny-mixtral tests, later on MOE was disabled as well by #45509\nIn addition\ + \ #31597 introduced some torch sdp changes due to inaccuracy in the tests. However,\ + \ due to the implementation via pytest_sessionstart these flags do not actually\ + \ apply for mi355_1:Language Models Tests (Standard) because the TG is invoked\ + \ with pytest -v -s models/language -m 'core_model and (not slow_test)'\n\n Why\ + \ the SDP flags are not applied \nAccording to pytest docs pytest_sessionstart\ + \ is (\"Called after the Session object has been created and before performing\ + \ collection and entering the run test loop.\"). The con" + hardware_features: [] + kernel_types: + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:48776 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 48776 + title: '[Bugfix][KV cache] Support sparse-MLA targets with SWA drafts' + author: mgoin + merged_at: '2026-07-23T18:30:50Z' + merge_sha: e18f0037a5d54dc2ead5896af896305f2bf57496 + source_url: https://github.com/vllm-project/vllm/pull/48776 + source_fingerprint: sha256:3019c43b060d83d8e000b0b6dabf8c34754fb262ca2c1faf81e8b6f6e035f50e + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/core/test_kv_cache_utils.py + - vllm/v1/core/kv_cache_utils.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Purpose\nServing a sparse-MLA target such as nvidia/GLM-5.2-NVFP4\ + \ with a regular sliding-window DSpark draft could fail during KV-cache planning\ + \ because the target MLA/indexer pages cannot be unified with the draft page.\n\ + Design\nKeep the existing grouping path unchanged when page sizes can be unified.\ + \ If page-size unification fails for the narrow MLA + regular-SWA case, promote\ + \ only the draft's cache-allocation spec to FullAttentionSpec and reconcile it\ + \ to the target's unique block size (64 for GLM). Draft attention computation\ + \ remains sliding-window.\nThis produces one UniformTypeKVCacheSpecs group with\ + \ a shared block table and the existing contiguous per-layer tensors. It avoids\ + \ adding a new allocator layout or changing packing, zeroing, or memory accounting.\ + \ Existing page padding is enlarged when necessary after block-size promotion.\n\ + The tradeoff is deliberate: the single draft layer allocates KV slots like full\ + \ attention, so this does not retain SWA's physical-memory saving. With today's\ + \ global block pool, however, it avoids the additive block-ID demand of separate\ + \ target and draft groups.\nValidation\n.venv/bin/python -m pytest tests/v1/core/test_kv_cache_utils.py\ + \ \\\n tests/v1/core" + hardware_features: + - fp4 + kernel_types: + - attention + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49603 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49603 + title: '[Bug] Fix batch invariance rms norm comparison' + author: yewentao256 + merged_at: '2026-07-23T18:27:38Z' + merge_sha: b354734d17e04c66076f73511f14acde52dd81e3 + source_url: https://github.com/vllm-project/vllm/pull/49603 + source_fingerprint: sha256:a2c2c55d17271e98c5d216aebe99e52cc5f7a893a055ac332343355144a50ba0 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/determinism/test_rms_norm_batch_invariant.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Currently we compare batch invariance with itself, this PR fixes the issue by + comparing with a PyTorch native implementation. + + Test + + Covered in CI' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49626 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49626 + title: '[Bugfix] Restore structured output logger initialization' + author: Change72 + merged_at: '2026-07-23T18:26:03Z' + merge_sha: b91a40e7297919e0baf57bab185b9d73076aa121 + source_url: https://github.com/vllm-project/vllm/pull/49626 + source_fingerprint: sha256:eed9d10f4332ede18beee10f56973f79a0d826f03d99c3bbe54decdd41997d5d + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - vllm/v1/structured_output/__init__.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Restore the module-level logger in vllm/v1/structured_output/__init__.py, fixing + a merge regression that breaks pre-commit for the whole repository. + + On main @ 46f01a50a, StructuredOutputManager._create_grammar calls logger.exception(...) + (line 185), but the module has no logger binding — both from vllm.logger import + init_logger and logger = init_logger(__name__) are absent. This has two consequences: + + + Repo-wide pre-commit block: ruff reports F821 Undefined name ''logger'', and every + mypy-3.x hook reports the same undefined name. Because pre-commit runs on the + whole tree, this blocks all contributors on current main, not only changes to + this file. + + Latent runtime bug on the error path: when grammar compilation fails, the except + Exception: handler runs logger.exception(...), which itself raises NameError: + name ''logger'' is not defined. That masks the original compilation error before + the intended raise, defeating the diagnostic that #47312 added. + + + Root cause + + + #47312 added the logger.exception(...) call in _create_grammar. + + #44993 then removed both from vllm.logger import init_logger and logger = init_logger(__name__) + from the same module, but left the logger.exception(...) usage i' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:48155 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 48155 + title: '[Core] Update PyTorch to 2.13.0, torchvision to 0.28.0, triton to 3.7.1' + author: atalman + merged_at: '2026-07-23T18:09:37Z' + merge_sha: 75ccdf31458070501a7ca01eb1ac11728a0933fd + source_url: https://github.com/vllm-project/vllm/pull/48155 + source_fingerprint: sha256:fdd560f70e950807b42a260b8c68d5b19ee9a1ef9c00c886099877f10d51ea3d + decision: exclude + relevance_reason: no allowlisted kernel path or keyword signal + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .buildkite/scripts/hardware_ci/run-cpu-compatibility-test.sh + - CMakeLists.txt + - docker/Dockerfile + - docker/versions.json + - pyproject.toml + - requirements/build/cpu.txt + - requirements/build/cuda.txt + - requirements/cpu.txt + - requirements/cuda.txt + - requirements/test/cpu.txt + - requirements/test/cuda.in + - requirements/test/cuda.txt + - tests/entrypoints/multimodal/openai/chat_completion/test_chat_completion_with_mixed_audio_embeds.py + - tests/models/multimodal/generation/test_common.py + - tests/v1/kv_connector/nixl_integration/test_nixl_imports.py + changed_path_count: 15 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Update the PyTorch ecosystem to the released 2.13.0 on the production channel + (download.pytorch.org/whl/...). Everything is released, so there are no test-channel + index URLs — pure production bump, same approach as the 2.12.1 production PR #45082. + + + torch: 2.11.0 → 2.13.0 + + torchvision: 0.26.0 → 0.28.0 + + triton: 3.6.0 → 3.7.1 (matches torch 2.13.0 Requires-Dist: triton==3.7.1) + + torchaudio: stays at 2.11.0 (latest published) + + requirements/test/cuda.txt nvidia pins → 2.13.0 deps (cudnn 9.20.0.48, cusparselt + 0.8.1, nccl 2.29.7) + + + torch-2.13 test adaptations (ported from #45731, production-adjusted) + + + CPU compat test: --enforce-eager instead of TORCH_COMPILE_DISABLE=1 (torch ≥2.12 + no longer no-ops it under fullgraph=True). + + qwen2audio text-then-audio prompt_embeds: xfail (pytorch/pytorch#184431). + + qwen2_vl multi-image: cap CPU max_tokens / widen logprobs for torch 2.13 numerical + drift (pytorch/pytorch#187735). + + nixl_ep import: xfail on ABI mismatch pending rebuild against 2.13 (pytorch/pytorch#187727). + + + Excluded (per scope) + + + ROCm: no requirements/build/rocm.txt bump, no Dockerfile.rocm, no install_flash_attn_rocm.sh, + no ROCm tests. + + s390x (docker/Dockerfile.s390x) and the verify_torch_wheel' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49606 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49606 + title: '[CI] Bump PyTorch Compilation Unit Tests timeout to 150 min' + author: atalman + merged_at: '2026-07-23T18:08:46Z' + merge_sha: c6fe94b4d5b418fa213af0e5884eddd304333dcd + source_url: https://github.com/vllm-project/vllm/pull/49606 + source_fingerprint: sha256:d865b6a470c78441227911c992dee9f1783ed64cfe7c8aaefb5df38c80719d91 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - .buildkite/test_areas/pytorch.yaml + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'The "PyTorch Compilation Unit Tests" job runs the whole compile/ + suite serially + + (find compile/ -maxdepth 1 -name ''test_*.py'' | xargs -n1 pytest), loading and + + torch.compile-ing ~102 models (incl. 7-8B) across large parametrized matrices + + (test_config, test_dynamic_shapes_compilation, test_aot_compile). It has grown + + to sit right at the 110 min ceiling on every lane: + + + + + Build + + torch + + Result + + Duration + + + + + + 79511 / 79322 (main) + + stable + + passed + + 89.7 min + + + + 79460 (main) + + nightly + + timed_out + + 110.3 min + + + + 78018 (2.13 bump, Jul 14) + + 2.13.0 + + passed + + 86.6 min + + + + 79492 (2.13 bump, Jul 23) + + 2.13.0 + + timed_out + + 90.6 min + + + + + It''s a duration/timeout issue (the job is mid CUDA-graph-capture when Buildkite + + cancels it), not a test failure. Bump the timeout to 150 min for immediate headroom. + + Durable follow-up: shard this job across parallel workers (it is embarrassingly + + parallel -- one pytest per file already). + + Authored with assistance from Claude Code (AI assistant).' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49609 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49609 + title: '[CI][Bugfix] Fix test isolation in block_int8/ptpc_fp8 MoE kernel tests' + author: njhill + merged_at: '2026-07-23T17:26:03Z' + merge_sha: 46f01a50acd6862806ed67b88176c96c2b161142 + source_url: https://github.com/vllm-project/vllm/pull/49609 + source_fingerprint: sha256:2c623fad48190acf138c1d0e9b3d6da31de4932cfccd02688f1ce1af20052685 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/kernels/moe/test_block_int8.py + - tests/kernels/moe/test_triton_moe_ptpc_fp8.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'test_block_int8.py and test_triton_moe_ptpc_fp8.py set the default + device in an autouse fixture scoped to "module", so it runs only once. When an + earlier suite module (test_batched_moe) leaves torch''s default device dirty, + the fixture never re-runs, so only the first test gets a CUDA default and the + rest allocate on CPU and fail with: + + NotImplementedError: Could not run ''_moe_C::topk_softmax'' with + + arguments from the ''CPU'' backend. + + + Use the default function scope so the CUDA default is re-applied per test, matching + the already-correct test_block_fp8.py.' + hardware_features: + - fp8 + kernel_types: + - moe + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49510 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49510 + title: '[CI] Isolate cudagraph tests in child processes' + author: AndreasKaratzas + merged_at: '2026-07-23T17:16:19Z' + merge_sha: f00efc52652046aac18dc37865adfa8f21fbdb10 + source_url: https://github.com/vllm-project/vllm/pull/49510 + source_fingerprint: sha256:3b149c7524acbbbd1cf501d13570ef3ce35a5c4351373a000f8a7bb3ae53fca3 + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/cudagraph/test_cudagraph_mode.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation: Cudagraph + + The cudagraph cases reused the pytest process for engine lifetimes and then polled + weak references, making VRAM release depend on nondeterministic cyclic-reference + collection. Marking each case as forked makes child-process exit the deterministic + GPU-memory ownership boundary. The manual weak-reference polling and duplicated + cleanup are no longer needed. This stabilizes the Cudagraph test group.' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49486 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49486 + title: '[DSv4 Perf] Skip topk and router when not needed, 3.4% E2E TTFT improvement + for Decode case' + author: yewentao256 + merged_at: '2026-07-23T17:08:09Z' + merge_sha: b0cb1da1bde62a738baba33f1fbb1fcf906d29bc + source_url: https://github.com/vllm-project/vllm/pull/49486 + source_fingerprint: sha256:e0a26a238a7e07f29d216bc7a6423dbfb146cff8038a4bdc1b7e0ffcbe3d6c9a + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - vllm/models/deepseek_v4/attention.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Skip topk and router when not needed + + Originally: + + Input + + -> K compressor (and write K cache) + + -> Query proj wq_b + + -> Query RoPE + quantization + + -> calculation for Query-K logits + + -> topk logits + + -> return index + + Now + + -> K compressor (and write K cache) + + -> directly choose all candidates if candidates num <= topk num + + -> return index + + Part of #45861 + + Test + + vllm serve deepseek-ai/DeepSeek-V4-Flash --tensor-parallel-size 4 --enable-expert-parallel --attention-backend + FLASHMLA_SPARSE_DSV4 --attention-config ''{"use_fp4_indexer_cache":true}'' --kv-cache-dtype + fp8 --tokenizer-mode deepseek_v4 --all2all-backend allgather_reducescatter --port + 8003 + + Acc + + lm_eval --model local-completions --model_args "base_url=http://127.0.0.1:8003/v1/completions,model=deepseek-ai/DeepSeek-V4-Flash,num_concurrent=1024" + --tasks gsm8k + + |Tasks|Version| Filter |n-shot| Metric | |Value | |Stderr| + + |-----|------:|----------------|-----:|-----------|---|-----:|---|-----:| + + |gsm8k| 3|flexible-extract| 5|exact_match|↑ |0.9507|± |0.0060| + + | | |strict-match | 5|exact_match|↑ |0.9515|± |0.0059| + + Perf + + Max concurrency 1 + + vllm bench serve --model deepseek-ai/DeepSeek-V4-Fl' + hardware_features: + - fp8 + - fp4 + kernel_types: + - attention + - moe + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49512 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49512 + title: '[CI] Use explicit devices in quantization tests' + author: AndreasKaratzas + merged_at: '2026-07-23T16:54:26Z' + merge_sha: 0e36e3bbd1a55c5ac3602304031e7d7e86bf0ca0 + source_url: https://github.com/vllm-project/vllm/pull/49512 + source_fingerprint: sha256:2394ef5a976c63a85b1ee3479af11ebf785a9afc74093723ad2fe43ea6296ede + decision: exclude + relevance_reason: title matches low-signal maintenance policy + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/kernels/quantization/test_block_int8.py + - tests/kernels/quantization/test_int8_kernel.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Motivation: Kernels Quantization Test 1 and Kernels Quantization + Test 2 + + These tests relied on mutable global Torch default-device state, which a function-scoped + fixture reset between parameterized cases and caused CPU tensors to reach ROCm/Triton + kernels. The affected inputs, scales, weights, scores, and IDs now use an explicit + accelerator device. This preserves the existing parameter coverage without depending + on test execution order. It stabilizes the Kernels Quantization Test 1 and Kernels + Quantization Test 2 groups.' + hardware_features: [] + kernel_types: + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49451 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49451 + title: Revert "[MRV2] Always build attn metadata at capture time" (#49364) + author: vllm-agent + merged_at: '2026-07-23T16:51:33Z' + merge_sha: 494845e79f8ae40f356902ba8ac181bf545603b5 + source_url: https://github.com/vllm-project/vllm/pull/49451 + source_fingerprint: sha256:19fa8dc97caebfc8a80cfc4d6053bd54ee5533bc51bafa916167228b90ed94bc + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - vllm/v1/worker/gpu/cudagraph_utils.py + - vllm/v1/worker/gpu/spec_decode/autoregressive/cudagraph_utils.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Auto-revert of #49364 + + This reverts the changes from [MRV2] Always build attn metadata at capture time + (#49364). + + Reason + + Nightly CI build #79322 failed on the V1 Sample + Logits job (1 job / 5 test cases): + all of tests/v1/sample/test_logprobs.py::test_logprobs_mode[*] and test_prompt_logprobs_mode + die with RuntimeError: Engine core initialization failed. + + Root cause (from the job log): the EngineCore process crashes with a GPU coredump + during CUDA graph capture: + + Capturing CUDA graphs (PIECEWISE): 0% ... coredump: Starting GPU coredump generation + + coredump: Detected an exception of type CUDBG_EXCEPTION_WARP_ILLEGAL_ADDRESS (14) + + #0 ... _ZN7cutlass13device_kernelIN5flash20enable_sm90_or_later... FlashAttnFwdSm90 + ... + + + PR #49364 removed the skip_attn guard so that attention metadata is now always + built and FlashAttention runs eagerly during PIECEWISE cudagraph capture on the + V2 Model Runner. The illegal-address crash occurs exactly at that capture step + in the FlashAttention Sm90 (Hopper/H200) kernel — a direct regression from this + change. It is the only PR in the build''s commit range that touches the V2 Model + Runner cudagraph attention-capture code path. + + + Failure count linked to this PR: 1 ' + hardware_features: [] + kernel_types: + - attention + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:44993 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 44993 + title: '[Bugfix][Structured Output][Spec Decode] Advance grammar across reasoning + boundary' + author: yuyue0225sc + merged_at: '2026-07-23T16:14:16Z' + merge_sha: 0416dab275d51327b331a1c6baaec754a68d7764 + source_url: https://github.com/vllm-project/vllm/pull/44993 + source_fingerprint: sha256:35434d8664c656a8ada8dc1e133de94ec719348ae23b902168a629d0f80b552f + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/structured_output/test_reasoning_structured_output.py + - vllm/v1/core/sched/scheduler.py + - vllm/v1/structured_output/__init__.py + changed_path_count: 3 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + Fixes #43388. Fixes #48228. Fixes #34650. + + Under async scheduling + speculative decoding + a Qwen-style reasoning parser, + should_advance in vllm/v1/structured_output/__init__.py silently fails for JSON/regex/choice + constraints. Two distinct bugs interact: + + Bug 1: the delta window misses the marker. The delta window computed from num_computed_tokens + - num_output_placeholders skips whenever some drafts are rejected, because + the placeholder count stays greater than zero. As a result reasoning_ended never + flips, the grammar is never enforced, and the output contains Markdown fences + or arbitrary prose. + + Bug 2: post-marker tokens never reach the FSM. Even after reasoning_ended flips, + the post-marker content tokens produced in the marker step never enter the grammar + FSM. On the next step the bitmask is prepared with the grammar at its initial + state, the model emits the opening token again, and response_format=json_object + returns {{...} content — HTTP 200, but the body fails to parse on the client (the + exact symptom reported in #48228). + + This PR closes the inter-step state leak in should_advance. The sibling intra-step + bitmask leak in grammar_bitmask was fixed by #44297 (merge' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:48816 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 48816 + title: Fix GPTQ quantized Qwen3.5 MTP weight loading with spec decode + author: vllmellm + merged_at: '2026-07-23T13:59:49Z' + merge_sha: c8db00b16cc188b46b7b9517a5836a0da4aa8c3e + source_url: https://github.com/vllm-project/vllm/pull/48816 + source_fingerprint: sha256:a6248832db3aff25e1f17dddc600285d7c4d129f9f6fecfc6ea5af1ca3ad1a21 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - vllm/model_executor/models/qwen3_5_mtp.py + changed_path_count: 1 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Purpose\nwhen loading Qwen/Qwen3.5-397B-A17B-GPTQ-Int4 with\ + \ speculative decoding, weight loading fails with:\nAttributeError: 'RoutedExperts'\ + \ object has no attribute 'w2_weight'. Did you mean: 'w2_qweight'?\n\nThe issue\ + \ is that the MTP weight is not quantized, but the weight loading expects every\ + \ layer to be quantized. This fix detects skip applying the quantized config to\ + \ the MTP layers.\nTest Plan\nTest Result\n\n\n\nTasks\nVersion\nFilter\nn-shot\n\ + Metric\n\nValue\n\nStderr\n\n\n\n\ngsm8k\n3\nflexible-extract\n5\nexact_match\n\ + ↑\n0.9735\n±\n0.0044\n\n\n\n\nstrict-match\n5\nexact_match\n↑\n0.9742\n±\n0.0044\n\ + \n\n\nwhile lm_eval is running:\nSpecDecoding metrics: Mean acceptance length:\ + \ 3.55, Accepted throughput: 310.59 tokens/s, Drafted throughput: 365.99 tokens/s,\ + \ Accepted: 3106 tokens, Drafted: 3660 tokens, Per-position acceptance rate: 0.932,\ + \ 0.847, 0.767, Avg Draft acceptance rate: 84.9%\n\n\n\n Essential Elements of\ + \ an Effective PR Description Checklist \n\n The purpose of the PR, such as \"\ + Fix some issue (link existing issues this PR will resolve)\".\n The test plan,\ + \ such as providing test command.\n The test results, such as pasting the results\ + \ comparison before and after, or e2e results\n (Optional) The necessary documentation\ + \ upd" + hardware_features: [] + kernel_types: + - moe + - quantization + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49477 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49477 + title: '[Perf] Defer MM embeds loading off the event loop' + author: guan404ming + merged_at: '2026-07-23T13:58:51Z' + merge_sha: 80c7683923795e9c2e8929fb8b766aecb0a63447 + source_url: https://github.com/vllm-project/vllm/pull/49477 + source_fingerprint: sha256:5f33d2d20475b5091a8cc3a4e5a55a45ffb453d66d1f6b72f203db2afabf233a + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - vllm/entrypoints/chat_utils.py + - vllm/multimodal/media/connector.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + + With --enable-mm-embeds, loading multi-MB embedding tensors blocks the API server''s + event loop, stalling all concurrent requests + + Defer the loading to the shared thread pool, the same way every other modality + is already handled + + Error semantics and the sync path are unchanged + + Not a duplicate: issue #49317 covers a different stage; no open PR touches this + path + + + Test Plan + + + pytest tests/entrypoints/unit_tests/test_chat_utils.py (on Modal L4) + + Loop-stall microbenchmark: parse a chat message carrying a base64 image-embeds + tensor while a 1ms ticker task measures the longest event-loop stall (median of + 5) + + + Test Result + + + 63 passed, 0 failed + + + + + + embeds size + + max loop stall (ms) base → fix + + parse wall time (ms) base / fix + + + + + + 8 MB + + 7.1 → 2.0 + + 7.2 / 5.0 + + + + 32 MB + + 23.1 → 13.5 + + 23.2 / 22.3 + + + + 128 MB + + 110.0 → 54.2 + + 110.1 / 108.8 + + + + + Baseline stall equals wall time (the loop is fully blocked). The fix removes the + blocking except for GIL-bound segments of tensor deserialization inside the worker + thread, and lets other requests interleave at await points. + + + AI assistance was used for this change (Claude); every line was reviewed by the + submitter.' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:44239 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 44239 + title: '[Bugfix][CI/Build] Fix Plamo2 HF runner crash on transformers v5 (_tied_weights_keys + list→dict)' + author: nikhilkulkarni1755 + merged_at: '2026-07-23T12:25:15Z' + merge_sha: 638d6e97575c49f7e0aa128ae1e775892c92bb1c + source_url: https://github.com/vllm-project/vllm/pull/44239 + source_fingerprint: sha256:f2dcb25ba5fbce63e6b0843bd62d1cc67db829f0f7b9ee610e613ac1aae60a66 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/conftest.py + - tests/models/registry.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Fixes the Plamo2ForCausalLM item in #38379.\nRoot cause\npfnet/plamo-2-1b\ + \ remote code defines _tied_weights_keys = [\"lm_head.weight\"] — the transformers\ + \ v4 list[str] format. Transformers v5 changed this attribute to dict[str, str].\ + \ With tie_word_embeddings=True in the model config, get_expanded_tied_weights_keys()\ + \ crashes during HfRunner.from_pretrained():\nAttributeError: 'list' object has\ + \ no attribute 'keys'\n File \"transformers/modeling_utils.py\", line 2596, in\ + \ get_expanded_tied_weights_keys\n if all(common_case_regex.match(k) for k\ + \ in tied_mapping.keys() | tied_mapping.values()):\n\nFix\nAdds _fix_v4_tied_weights_keys(model_cls)\ + \ in tests/conftest.py, called inside HfRunner.__init__() before from_pretrained().\ + \ It resolves only the auto_map entry for the auto class being loaded. The dynamic\ + \ module is cached in sys.modules, so patching the class attribute persists into\ + \ instantiation.\nRemoves the max_transformers_version=\"4.57\" guard from the\ + \ Plamo2 registry entry.\nWhy tests/conftest.py (not vllm/transformers_utils/)\n\ + vLLM production never calls get_expanded_tied_weights_keys(). Weight tying in\ + \ production goes through the boolean config.tie_word_embeddings flag (transformers/base.py::_g" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49391 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49391 + title: '[Bugfix][Spec Decode] Select earliest-completing stop string in check_stop_strings' + author: davidjpyu + merged_at: '2026-07-23T10:14:06Z' + merge_sha: 1ad84fea866bc478942efa8550036ffa52a51283 + source_url: https://github.com/vllm-project/vllm/pull/49391 + source_fingerprint: sha256:5edb898c65a5b5a6bdfcf23f37bad52620ce90611906a115a553d9a88e75b859 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/detokenizer/test_check_stop_strings.py + - vllm/v1/engine/detokenizer.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Purpose\nFix a streaming↔non-streaming correctness divergence\ + \ in stop-string handling\nthat surfaces under speculative decoding.\ncheck_stop_strings\ + \ returns the first stop string in list order that is\nfound in the newly generated\ + \ text, rather than the stop string that\ncompletes earliest in the text. Without\ + \ speculative decoding each engine\nstep appends ~one token, so at most one stop\ + \ string is in the search window at\na time and the bug is not observable. With\ + \ speculative decoding, one engine\nstep appends several tokens (EAGLE num_speculative_tokens=3\ + \ → up to 4\ntokens/step; ngram similar), so several stop strings can land in\ + \ the same\nwindow. A non-streaming request can then stop at a later stop string\ + \ and\nleak an earlier one into the output, while the same request in streaming\n\ + mode — which settles tokens at a finer effective granularity — returns the\ncorrect\ + \ result.\nExample\n{\"messages\":[{\"role\":\"user\",\"content\":\"Can you write\ + \ me a song?\"}],\n \"temperature\":0,\"max_tokens\":500,\"stop\":[\"a\",\"is\"\ + ,\",\"],\n \"include_stop_str_in_output\":false}\nGreedy generation begins \"\ + \ The user is a …\". By text position is (index 10)\ncompletes before a (index\ + \ 13).\n\n\n\n\nResult\n\n\n\n\nExpected (and streaming)\ntext \" " + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:47312 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 47312 + title: '[Bugfix] handle grammar compilation failures to avoid engine crash' + author: izhuhaoran + merged_at: '2026-07-23T10:13:50Z' + merge_sha: 12213c67951b71cd6d750cc059a87a53641e8730 + source_url: https://github.com/vllm-project/vllm/pull/47312 + source_fingerprint: sha256:f93751ccdeda9ee44e971d5ab0032f399f24a92d6ca41165732f5c3a7f5c5abc + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/core/test_async_scheduler.py + - tests/v1/core/test_scheduler.py + - vllm/v1/core/sched/interface.py + - vllm/v1/core/sched/scheduler.py + - vllm/v1/engine/core.py + - vllm/v1/structured_output/__init__.py + - vllm/v1/structured_output/request.py + changed_path_count: 7 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'This PR resolves the long-standing TODO in StructuredOutputManager._create_grammar: + + + # TODO: we still need to handle xgrammar compilation failures, though it should + be unlikely as we test that up front as well. + + + A structured-output request whose grammar fails to compile currently crashes the + whole EngineCore instead of failing just that request. _create_grammar re-raises, + and because it runs in a ThreadPoolExecutor, the exception is stored in the grammar + Future and re-raised later when the scheduler reads StructuredOutputRequest.grammar + inside schedule() — which has no per-request guard — so it escapes the busy loop + and takes down every in-flight request. + + The TODO''s assumption that up-front validation already covers this is wrong, + because the two calls do different work: + + + Admission (validate_xgrammar_grammar) runs xgr.Grammar.from_json_schema(schema) + — only the schema → grammar (BNF) conversion. + + Engine (compile_grammar → GrammarCompiler.compile_json_schema(...)) does that + conversion and compiles the grammar into the token-level FSM + adaptive token-mask + cache. + + + from_json_schema is a strict subset of compile_json_schema, so passing admission + does not guarantee the engine-side compil' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:45224 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 45224 + title: '[Bugfix][Core] shm_broadcast: bound idle reader waits and release read slots' + author: chaeminlim-mb + merged_at: '2026-07-23T10:13:29Z' + merge_sha: 10c75477b07c2f1a361f54b7357af1019bba5fd8 + source_url: https://github.com/vllm-project/vllm/pull/45224 + source_fingerprint: sha256:7a200aace843634dacc95a2eb460c18d5a9888e41884644789a64097fb892093 + decision: defer + relevance_reason: matched source scope without a positive kernel path + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/distributed/test_shm_broadcast.py + - vllm/distributed/device_communicators/shm_broadcast.py + changed_path_count: 2 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + MessageQueue local readers can park indefinitely on the best-effort ZMQ notify + path even after the writer has written to shared memory. This PR: + + + caps idle local-reader waits at SHM_READER_RECHECK_INTERVAL_MS (5s), so a reader + always wakes to re-read the authoritative SHM written-flag even when a notify + ping is dropped (PUB SNDHWM=1 drops silently, SUB is CONFLATE). Warning cadence + via VLLM_RINGBUFFER_WARNING_INTERVAL is unchanged. + + releases the read slot in a finally when acquire_read() exits via a caller exception, + avoiding a writer-side slot leak. The message is treated as consumed on exception + and the exception still propagates. + + + SHM_READER_RECHECK_INTERVAL_MS is a plain module constant, not a new env var — + the recheck is a rare-path safety net, not a tuning knob. + + Tracked by #45749, #45751. + + Test Plan + + ruff check vllm/distributed/device_communicators/shm_broadcast.py tests/distributed/test_shm_broadcast.py + + python -m pytest tests/distributed/test_shm_broadcast.py -q + + Test Result + + + pytest: 10 passed (MI300X, default VLLM_LOGGING_LEVEL=INFO). + + The three added regression tests each fail on unmodified main: the idle-wait cap + (timeout_ms() never returns None), SHM recheck after a l' + hardware_features: + - lds + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:48630 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 48630 + title: '[MRV2][Spec Decode] Avoid rejection sampler OOM by chunking' + author: mgoin + merged_at: '2026-07-23T10:13:13Z' + merge_sha: ac36a7a1e7eb8f03f9ec2b6bf643f1002b205794 + source_url: https://github.com/vllm-project/vllm/pull/48630 + source_fingerprint: sha256:7a27b3985f1c4c2beb25a54735b2b93f85ddc31462f4bf3c28537fb44e303957 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/spec_decode/test_rejection_sampler_utils.py + - tests/v1/test_outputs.py + - tests/v1/worker/test_gpu_rejection_sampler_chunking.py + - vllm/config/model.py + - vllm/v1/outputs.py + - vllm/v1/sample/ops/topk_topp_sampler.py + - vllm/v1/sample/rejection_sampler.py + - vllm/v1/worker/gpu/sample/prompt_logprob.py + - vllm/v1/worker/gpu/sample/sampler.py + - vllm/v1/worker/gpu/spec_decode/rejection_sampler.py + - vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py + - vllm/v1/worker/gpu_model_runner.py + changed_path_count: 12 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Purpose\nReplacement for #48037 where we cap the intermediate\ + \ memory required for large batch rejection sampling by using a fixed size scratch\ + \ buffer and simply go through the sampling process multiple times. The loop is\ + \ sync-free since chunk bounds come from cu_num_logits_np.\nTest Plan\nTest Result\n\ + vllm serve Qwen/Qwen3-8B --spec-model RedHatAI/Qwen3-8B-speculator.dflash --spec-method\ + \ dflash --spec-tokens 7 --speculative-config '{\"attention_backend\":\"FLASHINFER\"\ + }'\n\n\n\n\n\npeak activation\navailable KV cache\nresult\n\n\n\n\nmain\n3.04\ + \ GiB\n52.02 GiB\nOOM (tried to allocate 4.12 GiB)\n\n\n#48037 (profile it)\n\ + 7.12 GiB\n47.94 GiB\nboots, loses ~4 GiB of KV cache\n\n\nthis PR\n3.04 GiB\n\ + 52.02 GiB\nboots\n\n\n\n\n\n\n\ngsm8k num_questions=100 accuracy\nmean acceptance\ + \ length\n\n\n\n\nunchunked\n0.920\n3.06\n\n\nchunked\n0.920\n3.18\n\n\n\n\n\n\ + \ Essential Elements of an Effective PR Description Checklist \n\n The purpose\ + \ of the PR, such as \"Fix some issue (link existing issues this PR will resolve)\"\ + .\n The test plan, such as providing test command.\n The test results, such as\ + \ pasting the results comparison before and after, or e2e results\n (Optional)\ + \ The necessary documentation update, such as updating supported_models.md and\ + \ examples for a ne" + hardware_features: [] + kernel_types: + - attention + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:48399 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 48399 + title: '[Core] Simplify KVBlockZeroer index tensor handling' + author: njhill + merged_at: '2026-07-23T10:12:47Z' + merge_sha: 521aa80f719bb11bf973d2d51873ca966afe373d + source_url: https://github.com/vllm-project/vllm/pull/48399 + source_fingerprint: sha256:d04d60216baf5ca3255d8373ba74fe6b5c523a4dcbcba79beebd95b3353a0388 + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/worker/test_kv_block_zeroer.py + - vllm/v1/worker/gpu/model_runner.py + - vllm/v1/worker/gpu_model_runner.py + - vllm/v1/worker/utils.py + changed_path_count: 4 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Simplification related to recent race condition fix #48085. + + There''s no need to prealloc a dedicated circular list of buffers just for the + indices that are transferred, we don''t do this for other similar tensors in other + places.' + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:49481 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 49481 + title: '[MooncakeStore] Re-derive full external hits on stored boundaries' + author: Dao007forever + merged_at: '2026-07-23T10:12:29Z' + merge_sha: a76df87db89bb87213f60cff817d5789796ee158 + source_url: https://github.com/vllm-project/vllm/pull/49481 + source_fingerprint: sha256:d47a867a8f3c497c9f7fdc41ea5082fd7dc1dcdf2b4c210cf6cd670f55f7923d + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/kv_connector/unit/test_mooncake_store_connector.py + - tests/v1/kv_connector/unit/test_mooncake_store_hma_e2e.py + - tests/v1/kv_connector/unit/test_mooncake_store_scheduler.py + - tests/v1/kv_connector/unit/test_mooncake_store_worker.py + - vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/coordinator.py + - vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/protocol.py + - vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/scheduler.py + - vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py + changed_path_count: 8 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: "Purpose\nWhen an external hit covers the full prompt, the final\ + \ token must still be recomputed. The scheduler previously rounded that hit down\ + \ arithmetically, which could select an interior fine-grained boundary that no\ + \ producer persisted and cause repeated failed loads.\nSend the raw request length\ + \ to the worker, derive the aligned lookup bound there, and re-run cache-hit discovery\ + \ below the request end against the same external-existence snapshot. This returns\ + \ an actual stored boundary without another Mooncake RPC and keeps the coordinator\ + \ lookup interface unchanged.\nTest Plan\ne2e test with partial prefix_match_unit\ + \ for a model.\nTest Result\nTests: 109 focused Mooncake scheduler, worker, coordinator,\ + \ connector, partial-prefix, and HMA tests passed; ruff check, ruff format, and\ + \ git diff --check passed.\n\n\n Essential Elements of an Effective PR Description\ + \ Checklist \n\n The purpose of the PR, such as \"Fix some issue (link existing\ + \ issues this PR will resolve)\".\n The test plan, such as providing test command.\n\ + \ The test results, such as pasting the results comparison before and after, or\ + \ e2e results\n (Optional) The necessary documentation update, such as updating\ + \ supported_models.md and e" + hardware_features: [] + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' +- id: vllm-rocm:pr:48531 + source_id: vllm-rocm + source_kind: github-pr + repo: vllm-project/vllm + component: null + pr: 48531 + title: '[Perf][KVConnector][Mooncake] Vectorize prepare_value on the KV load path' + author: GirasoleY + merged_at: '2026-07-23T10:12:00Z' + merge_sha: a4904ba9032af87610965ba7c90267bf7b21b425 + source_url: https://github.com/vllm-project/vllm/pull/48531 + source_fingerprint: sha256:9b2b22a2e429b1f4cb918bdb957f7d71b38de2fccfb8b9948151fc5829cba76e + decision: exclude + relevance_reason: ROCm marker required but absent + architectures: [] + architecture_status: unknown + scope_status: quarantine + changed_paths: + - tests/v1/kv_connector/unit/test_mooncake_store_prepare_values.py + - tests/v1/kv_connector/unit/test_mooncake_store_worker.py + - vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/data.py + - vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py + changed_path_count: 4 + trust: ecosystem + license: Apache-2.0 + injection_signals: [] + untrusted_excerpt: 'Purpose + + For a long-context request, 289K tokens is about 2,258 blocks. ChunkedTokenDatabase.prepare_value + spends about 35 ms of GIL-held time per request computing RDMA target addresses + on the KV load path. + + This cost is amplified by the receive-thread pool in #45971: four concurrent key + builds take 208 ms wall time, compared with 174 ms when run serially. + + This PR vectorizes the computation with NumPy and keeps prepare_value as a single-chunk + wrapper around the batch implementation. Measured time for the 2,258-block shape + improves from 34.2 ms to 7.7 ms (about 4.4×). Following review feedback, the store/send + path also batches address preparation once per KV-cache group. + + Non-duplication + + Open-PR searches for Mooncake prepare_value and ChunkedTokenDatabase prepare_values + found no overlapping work other than this PR. + + Test Plan + + + .venv/bin/python -m pytest tests/v1/kv_connector/unit/test_mooncake_store_prepare_values.py + tests/v1/kv_connector/unit/test_mooncake_store_worker.py::test_store_sending_thread_prepares_missing_chunks_once_per_group + -q — 7 passed. + + VLLM_RPC_BASE_PATH=/tmp/vllm-pr48531-rpc-20260722 .venv/bin/python -m pytest tests/v1/kv_connector/unit/test_mooncake_store_worker.py + -' + hardware_features: + - lds + kernel_types: [] + discovered_at: '2026-07-24T03:15:05Z' + captured_at: '2026-07-24' diff --git a/candidates/synthesis-proposals.yaml b/candidates/synthesis-proposals.yaml index 4e84c144..0e937fd6 100644 --- a/candidates/synthesis-proposals.yaml +++ b/candidates/synthesis-proposals.yaml @@ -1,3 +1,3 @@ schema_version: 1 -generated_at: '2026-07-23' +generated_at: '2026-07-24' proposals: [] diff --git a/data/corpus-manifest.yaml b/data/corpus-manifest.yaml index 5d618137..f0b64da2 100644 --- a/data/corpus-manifest.yaml +++ b/data/corpus-manifest.yaml @@ -1,6 +1,6 @@ schema_version: 1 counts: - source_prs: 7460 + source_prs: 7469 wiki_pages: 57 active_wiki_pages: 54 quarantined_wiki_pages: 3 @@ -8,7 +8,7 @@ counts: reference_repositories: 10 artifact_bundles: 959 examples: 12 - unique_page_ids: 7548 + unique_page_ids: 7557 cutoffs: merged_prs: '2026-05-30' harvested_at: '2026-05-30' diff --git a/data/evolution-state.yaml b/data/evolution-state.yaml index 421634fc..3db345cd 100644 --- a/data/evolution-state.yaml +++ b/data/evolution-state.yaml @@ -1,38 +1,38 @@ schema_version: 1 sources: rocm-aiter: - merged_at: '2026-07-23T03:55:21Z' - pr: 4338 - merge_sha: 23dd8d95392eb3add7fe5031e5c6f400b16d6218 - captured_at: '2026-07-23' + merged_at: '2026-07-23T14:15:19Z' + pr: 4345 + merge_sha: ae0bae8954110b12655e3232f68262dd63cd694e + captured_at: '2026-07-24' rocm-flydsl: - merged_at: '2026-07-23T02:59:27Z' - pr: 882 - merge_sha: 8fcfee4421e48d9f011a6af88eecd512e345176b - captured_at: '2026-07-23' + merged_at: '2026-07-23T15:04:17Z' + pr: 788 + merge_sha: 1afc0b0f5188c5c9eac679930afb392268bfaaa9 + captured_at: '2026-07-24' rocm-atom: - merged_at: '2026-07-23T07:06:08Z' - pr: 1676 - merge_sha: c2f59617b1a4b1e1bd529706c9edf192c8903513 - captured_at: '2026-07-23' + merged_at: '2026-07-23T16:08:13Z' + pr: 1685 + merge_sha: 00266a01f58cf3dc3f0ed39217162ff9055d7e2b + captured_at: '2026-07-24' rocm-rocm-libraries: - merged_at: '2026-07-23T06:08:26Z' - pr: 9351 - merge_sha: d04f6751f3df4a716fdd5d2ead6c2918d285964b - captured_at: '2026-07-23' + merged_at: '2026-07-24T03:00:39Z' + pr: 9357 + merge_sha: 64d663c00fbeb5c1a762fd4f93eef4e16a34fc16 + captured_at: '2026-07-24' vllm-rocm: - merged_at: '2026-07-23T07:17:25Z' - pr: 49523 - merge_sha: f83de6d44c2473656f95357900d53f1b7401d21c - captured_at: '2026-07-23' + merged_at: '2026-07-24T03:08:15Z' + pr: 49513 + merge_sha: 2ac125123a8d312823cf4ef56ca165f04f579dd1 + captured_at: '2026-07-24' sglang-rocm: - merged_at: '2026-07-23T07:42:57Z' - pr: 32023 - merge_sha: 9b853e6832e71a3058212df02a025232a453e146 - captured_at: '2026-07-23' + merged_at: '2026-07-24T03:08:57Z' + pr: 32251 + merge_sha: eac7c7d7cd852e7d17ba227f8e2ca539b97f1f3e + captured_at: '2026-07-24' rocm-blogs: - commit: e8b2ff4be13151b6a89bbdc7b256f145f29cf90d - captured_at: '2026-07-23' + commit: 97cb1971730336784d58f95250064cf51c28bc79 + captured_at: '2026-07-24' amdgpu-optimization-guide: commit: efa471aeef66a260c85983cc41e833bfa769dade - captured_at: '2026-07-23' + captured_at: '2026-07-24' diff --git a/queries/by-hardware-feature.md b/queries/by-hardware-feature.md index 812bee7a..428afe66 100644 --- a/queries/by-hardware-feature.md +++ b/queries/by-hardware-feature.md @@ -3971,6 +3971,7 @@ Pages grouped by AMD GPU hardware feature. - [pr-aiter-362](../sources/prs/aiter/PR-362.md) — \[TRITON\] Add RMSNorm quant (smooth and dynamic) Triton Kernel `[source-pr]` - [pr-aiter-371](../sources/prs/aiter/PR-371.md) — refine torch_fp8 define `[source-pr]` - [pr-aiter-373](../sources/prs/aiter/PR-373.md) — \[Triton\] fused routing and fused quant kernels `[source-pr]` +- [pr-aiter-3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 `[source-pr]` - [pr-aiter-377](../sources/prs/aiter/PR-377.md) — update build utility `[source-pr]` - [pr-aiter-381](../sources/prs/aiter/PR-381.md) — \[TRITON\]\[GEMM\] Add support for inplace output `[source-pr]` - [pr-aiter-395](../sources/prs/aiter/PR-395.md) — \[TRITON\]\[GEMM\]: GEMM A8W8 now tests all 8b types and benchmarks fp8e4 by default `[source-pr]` diff --git a/queries/by-kernel-type.md b/queries/by-kernel-type.md index 5f251a7a..dec85b00 100644 --- a/queries/by-kernel-type.md +++ b/queries/by-kernel-type.md @@ -361,6 +361,7 @@ - [pr-aiter-3390](../sources/prs/aiter/PR-3390.md) — Fix causal mask grid and TFLOPS for gfx950 FMHA fwd v3 `[source-pr]` - [pr-aiter-349](../sources/prs/aiter/PR-349.md) — Use attention customization interface LogitsMask() in aiter.paged_attention_ragged() `[source-pr]` - [pr-aiter-357](../sources/prs/aiter/PR-357.md) — Add logits_soft_cap and attention customizaton interfaces `[source-pr]` +- [pr-aiter-3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 `[source-pr]` - [pr-aiter-376](../sources/prs/aiter/PR-376.md) — \[TRITON\]: Adding Lean + Paged Attention, for decode `[source-pr]` - [pr-aiter-387](../sources/prs/aiter/PR-387.md) — \[TRITON\] Causal Attention XCD balancing and MHA Scale `[source-pr]` - [pr-aiter-397](../sources/prs/aiter/PR-397.md) — AITER Ruff Fixes `[source-pr]` @@ -2739,6 +2740,7 @@ - [pr-aiter-3390](../sources/prs/aiter/PR-3390.md) — Fix causal mask grid and TFLOPS for gfx950 FMHA fwd v3 `[source-pr]` - [pr-aiter-3416](../sources/prs/aiter/PR-3416.md) — Fix causal f8 mha kernel to properly support causal mask `[source-pr]` - [pr-aiter-357](../sources/prs/aiter/PR-357.md) — Add logits_soft_cap and attention customizaton interfaces `[source-pr]` +- [pr-aiter-3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 `[source-pr]` - [pr-aiter-384](../sources/prs/aiter/PR-384.md) — Enable fa v3 bwd hd128 swa `[source-pr]` - [pr-aiter-402](../sources/prs/aiter/PR-402.md) — Add gfx950 fmha bwd asm kernels `[source-pr]` - [pr-aiter-406](../sources/prs/aiter/PR-406.md) — Show fmha asm kernel name while profiling `[source-pr]` diff --git a/queries/by-language.md b/queries/by-language.md index bb8c6bd8..37d0dadb 100644 --- a/queries/by-language.md +++ b/queries/by-language.md @@ -3188,6 +3188,7 @@ - [pr-aiter-37](../sources/prs/aiter/PR-37.md) — Asm layernorm `[source-pr]` - [pr-aiter-371](../sources/prs/aiter/PR-371.md) — refine torch_fp8 define `[source-pr]` - [pr-aiter-373](../sources/prs/aiter/PR-373.md) — \[Triton\] fused routing and fused quant kernels `[source-pr]` +- [pr-aiter-3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 `[source-pr]` - [pr-aiter-376](../sources/prs/aiter/PR-376.md) — \[TRITON\]: Adding Lean + Paged Attention, for decode `[source-pr]` - [pr-aiter-377](../sources/prs/aiter/PR-377.md) — update build utility `[source-pr]` - [pr-aiter-378](../sources/prs/aiter/PR-378.md) — rope update for deepseek `[source-pr]` @@ -6120,6 +6121,7 @@ - [pr-FlyDSL-91](../sources/prs/FlyDSL/PR-91.md) — fix lds bug `[source-pr]` - [pr-FlyDSL-92](../sources/prs/FlyDSL/PR-92.md) — \[Bug\] Fix missing stream_ptr parameter in MoeGemm2ReduceWrapper `[source-pr]` - [pr-FlyDSL-98](../sources/prs/FlyDSL/PR-98.md) — fix a4w4 gemm precision `[source-pr]` +- [pr-aiter-3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 `[source-pr]` - [ref-flydsl-kernel-profiling](../sources/refs/ref-flydsl-kernel-profiling.md) — FlyDSL Kernel Profiling — MI350X rocprofv3 ATT Sweep & Dashboard `[source-ref]` - [ref-flydsl](../sources/refs/ref-flydsl.md) — FlyDSL — Flexible Layout DSL for AMD GPUs `[source-ref]` - [kernel-flydsl-flash-attention](../wiki/kernels/flydsl-flash-attention.md) — FlyDSL Flash Attention — generic + gfx950 dual-wave fast path `[wiki-kernel]` @@ -8850,6 +8852,7 @@ - [pr-aiter-37](../sources/prs/aiter/PR-37.md) — Asm layernorm `[source-pr]` - [pr-aiter-371](../sources/prs/aiter/PR-371.md) — refine torch_fp8 define `[source-pr]` - [pr-aiter-373](../sources/prs/aiter/PR-373.md) — \[Triton\] fused routing and fused quant kernels `[source-pr]` +- [pr-aiter-3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 `[source-pr]` - [pr-aiter-376](../sources/prs/aiter/PR-376.md) — \[TRITON\]: Adding Lean + Paged Attention, for decode `[source-pr]` - [pr-aiter-377](../sources/prs/aiter/PR-377.md) — update build utility `[source-pr]` - [pr-aiter-378](../sources/prs/aiter/PR-378.md) — rope update for deepseek `[source-pr]` @@ -14563,6 +14566,7 @@ - [pr-Tensile-996](../sources/prs/Tensile/PR-996.md) — Fix problem predicates `[source-pr]` - [pr-Tensile-998](../sources/prs/Tensile/PR-998.md) — Try leaving params default due to possible bug in CI `[source-pr]` - [pr-Tensile-999](../sources/prs/Tensile/PR-999.md) — Hotfix to PR #981 `[source-pr]` +- [pr-aiter-3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 `[source-pr]` - [pr-sglang-20999](../sources/prs/sglang/PR-20999.md) — Replace clamp_position with JIT kernel + platform dispatch `[source-pr]` - [pr-sglang-21020](../sources/prs/sglang/PR-21020.md) — \[AMD\] Improve openai/gpt-oss performance `[source-pr]` - [pr-sglang-21040](../sources/prs/sglang/PR-21040.md) — \[AMD\]\[MoRI\] Auto-select dispatch quantization type from MoE weight dtype. `[source-pr]` @@ -16416,6 +16420,7 @@ - [pr-aiter-37](../sources/prs/aiter/PR-37.md) — Asm layernorm `[source-pr]` - [pr-aiter-371](../sources/prs/aiter/PR-371.md) — refine torch_fp8 define `[source-pr]` - [pr-aiter-373](../sources/prs/aiter/PR-373.md) — \[Triton\] fused routing and fused quant kernels `[source-pr]` +- [pr-aiter-3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 `[source-pr]` - [pr-aiter-376](../sources/prs/aiter/PR-376.md) — \[TRITON\]: Adding Lean + Paged Attention, for decode `[source-pr]` - [pr-aiter-377](../sources/prs/aiter/PR-377.md) — update build utility `[source-pr]` - [pr-aiter-378](../sources/prs/aiter/PR-378.md) — rope update for deepseek `[source-pr]` diff --git a/queries/by-repo.md b/queries/by-repo.md index 3a7240f1..d560ebb3 100644 --- a/queries/by-repo.md +++ b/queries/by-repo.md @@ -1,7 +1,7 @@ # Index: By Repository (PR sources) -6670 PR pages across 9 repositories. +6671 PR pages across 9 repositories. ## ROCm/FlyDSL @@ -1707,7 +1707,7 @@ ## ROCm/aiter -1671 PR page(s). +1672 PR page(s). - [PR #1](../sources/prs/aiter/PR-1.md) — support rta in pa - [PR #2](../sources/prs/aiter/PR-2.md) — Pa opt 1121 @@ -3380,6 +3380,7 @@ - [PR #3417](../sources/prs/aiter/PR-3417.md) — Fix mhc_pre_big_fuse accuracy issue in rocm7.2.3 - [PR #3434](../sources/prs/aiter/PR-3434.md) — re-tune flydsl bf16 gemm tuned config - [PR #3435](../sources/prs/aiter/PR-3435.md) — Revert 'moe enable padding params as runtime' +- [PR #3732](../sources/prs/aiter/PR-3732.md) — HD256 FMHA FP8 GFX950 ## ROCm/composable_kernel diff --git a/sources/prs/ATOM/PR-1673.md b/sources/prs/ATOM/PR-1673.md new file mode 100644 index 00000000..a173892e --- /dev/null +++ b/sources/prs/ATOM/PR-1673.md @@ -0,0 +1,94 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- atom/plugin/sglang/deepseek_v4_bridge.py +- atom/plugin/sglang/models/deepseek_v4_attention.py +url: https://github.com/ROCm/ATOM/pull/1673 +source_license: MIT +id: pr-ATOM-1673 +status: merged +source_fingerprint: sha256:5e0839a0772b58912e725d51a8017215d40efb526b5b4f3a8e2a060de4958554 +repo: ROCm/ATOM +source_trust: first-party +source_category: upstream-code +date: '2026-07-23' +author: qichu-yun +merge_sha: 5c3a5b4f399bf4f3bed33a53d257a2fb8dda5cae +inclusion_reason: kernel path 'atom/plugin/sglang/models/deepseek_v4_attention.py'; + keyword 'attention' +pr: 1673 +scope_status: quarantine +title: '[sglang plugin] Fix SGLang DSV4 fp8 KV cache binding' +techniques: [] +hardware_features: +- fp8 +- fp4 +kernel_types: +- attention +- moe +languages: +- python +- hip +- triton +architectures: [] +tags: +- attention +- fp4 +- fp8 +- moe +--- + +# [sglang plugin] Fix SGLang DSV4 fp8 KV cache binding + +**Repository:** [ROCm/ATOM](https://github.com/ROCm/ATOM) · +**PR:** [#1673](https://github.com/ROCm/ATOM/pull/1673) · +**Merged:** 2026-07-23 · **Author:** @qichu-yun + +**Inclusion reason:** kernel path 'atom/plugin/sglang/models/deepseek_v4_attention.py'; keyword 'attention' + +## Summary from upstream + + +Motivation +Fix SGLang DeepSeek-V4 startup/runtime failures when fp8 KV cache is enabled. The SGLang proxy KV pool did not fully bind the native DSV4 fp8 2-buffer layout, causing attention modules to miss RoPE companion buffers such as unified_kv_rope. +Technical Details + +Add SGLang proxy KV cache support for DSV4 fp8 2-buffer layout: packed fp8 NoPE/scale buffer plus bf16 RoPE companion buffer. +Bind unified_kv_rope, swa_kv_rope, and compressor kv_cache_rope consistently for CSA/HCA layers. +Set the correct compressor write_mode for bf16, fp8 main cache, and fp8 indexer cache. +Populate decode page metadata needed by the fp8 paged decode kernel. +Clean up the slicing logic to share the bf16/fp8 path and keep the effective kv_fp8 state in metadata. + +Test Plan +server: +set -x +export AITER_BF16_FP8_MOE_BOUND=0 +export ATOM_MOE_GU_ITLV=1 +export SGLANG_DEFAULT_THINKING=1 +export SGLANG_DSV4_REASONING_EFFORT=max +export SGLANG_USE_AITER=1 +export SGLANG_DSV4_FP4_EXPERTS=true + +export SGLANG_EXTERNAL_MODEL_PACKAGE=atom.plugin.sglang.models +export SGLANG_ENABLE_TORCH_COMPILE=1 + +model_path=/shared/data/amd_int/models/deepseek-ai/DeepSeek-V4-Pro + +TORCHINDUCTOR_COMPILE_THREADS=128 \ +python3 -m sglang.l + + +## Changed files + +- `atom/plugin/sglang/deepseek_v4_bridge.py` +- `atom/plugin/sglang/models/deepseek_v4_attention.py` + +## Provenance + +- Merge commit: `5c3a5b4f399bf4f3bed33a53d257a2fb8dda5cae` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above. diff --git a/sources/prs/ATOM/PR-860.md b/sources/prs/ATOM/PR-860.md new file mode 100644 index 00000000..11cc43eb --- /dev/null +++ b/sources/prs/ATOM/PR-860.md @@ -0,0 +1,97 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- .github/scripts/run_unit_tests.sh +- atom/config.py +- atom/model_engine/arg_utils.py +- atom/model_engine/disagg_types.py +- atom/model_engine/engine_core.py +- atom/model_engine/engine_core_mgr.py +- atom/model_engine/ipc_utils.py +- atom/model_engine/llm_engine.py +- atom/model_engine/model_runner.py +- atom/model_engine/scheduler.py +- atom/model_ops/attentions/aiter_mla.py +- tests/test_disagg_modes.py +- tests/test_disagg_types.py +- tests/test_io_processor_fanout.py +- tests/test_prefill_scheduler.py +url: https://github.com/ROCm/ATOM/pull/860 +source_license: MIT +id: pr-ATOM-860 +status: merged +source_fingerprint: sha256:2abc13a5e1d1dc5bb986d1d1ae4eb956f8329fa146b6cdf6422b94a13d7bf81d +repo: ROCm/ATOM +source_trust: first-party +source_category: upstream-code +date: '2026-07-23' +author: amnamasood-amd +merge_sha: 817676249b2a0db3afec7fe184ba24c0f9901dde +inclusion_reason: kernel path 'atom/model_ops/attentions/aiter_mla.py'; keyword 'attention' +pr: 860 +scope_status: quarantine +title: Atom-RAPIDserve merge +techniques: [] +hardware_features: [] +kernel_types: +- attention +languages: +- python +- hip +- triton +architectures: [] +tags: +- attention +--- + +# Atom-RAPIDserve merge + +**Repository:** [ROCm/ATOM](https://github.com/ROCm/ATOM) · +**PR:** [#860](https://github.com/ROCm/ATOM/pull/860) · +**Merged:** 2026-07-23 · **Author:** @amnamasood-amd + +**Inclusion reason:** kernel path 'atom/model_ops/attentions/aiter_mla.py'; keyword 'attention' + +## Summary from upstream + + +Motivation +This PR implements IntraGPU disaggregation (RAPID-Serve: https://arxiv.org/abs/2601.11822). The main idea is to run prefill and decode on the same GPU(s) concurrently on separate streams to maximize GPU utilization and throughput while improving latencies. This techniques avoids the TPOT overheads associated with chunked prefill and also avoids KV cache transfers required for Inter-GPU/node disaggregation. +Technical Details +Major changes include: + +"enable-disagg" parameter to enable Intra-GPU disaggregation +Separate prefill and decode processes, engines and schedulers +Model weights and KV cache tensors are shared through IPC +Only decode manages the KV cache blocks to avoid inter-process syncs and locks +A new request is routed to both prefill and decode. The decode assigns the KV cache blocks based on the prefill length and notifies the prefill process. The prefill process then processes the prompt, populates the KV cache and notifies decode. The decode process then adds the new decode to the running batch. +Two supported modes: unconstrained and constrained. In Unconstrained mode, both prefill and decode run on separate streams and the workgroup scheduling is done by the + + +## Changed files + +- `.github/scripts/run_unit_tests.sh` +- `atom/config.py` +- `atom/model_engine/arg_utils.py` +- `atom/model_engine/disagg_types.py` +- `atom/model_engine/engine_core.py` +- `atom/model_engine/engine_core_mgr.py` +- `atom/model_engine/ipc_utils.py` +- `atom/model_engine/llm_engine.py` +- `atom/model_engine/model_runner.py` +- `atom/model_engine/scheduler.py` +- `atom/model_ops/attentions/aiter_mla.py` +- `tests/test_disagg_modes.py` +- `tests/test_disagg_types.py` +- `tests/test_io_processor_fanout.py` +- `tests/test_prefill_scheduler.py` + +## Provenance + +- Merge commit: `817676249b2a0db3afec7fe184ba24c0f9901dde` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above. diff --git a/sources/prs/aiter/PR-3732.md b/sources/prs/aiter/PR-3732.md new file mode 100644 index 00000000..4249bedf --- /dev/null +++ b/sources/prs/aiter/PR-3732.md @@ -0,0 +1,90 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- aiter/ops/mha.py +- csrc/cpp_itfs/mha_fwd.cu +- hsa/gfx950/fmha_v3_fwd/fmha_fwd.csv +- hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8.co +- hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_causal.co +- hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_causal_group.co +- hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_group.co +url: https://github.com/ROCm/aiter/pull/3732 +source_license: MIT +id: pr-aiter-3732 +status: merged +source_fingerprint: sha256:3d9658361b1ca20bb2269d1d3a380f43e979b35b0ff78003435232102726ea83 +repo: ROCm/aiter +source_trust: first-party +source_category: upstream-code +date: '2026-07-23' +author: JohnNikolay84 +merge_sha: 75c5e0f0b382d335d2698a4c5177a252dba7d8cc +inclusion_reason: kernel path 'csrc/cpp_itfs/mha_fwd.cu'; keyword 'attention' +pr: 3732 +scope_status: active +title: HD256 FMHA FP8 GFX950 +techniques: [] +hardware_features: +- fp8 +kernel_types: +- flash-attention +- attention +languages: +- hip +- cpp +- triton +- flydsl +- python +architectures: +- gfx950 +tags: +- attention +- flash-attention +- fp8 +- gfx950 +--- + +# HD256 FMHA FP8 GFX950 + +**Repository:** [ROCm/aiter](https://github.com/ROCm/aiter) · +**PR:** [#3732](https://github.com/ROCm/aiter/pull/3732) · +**Merged:** 2026-07-23 · **Author:** @JohnNikolay84 + +**Inclusion reason:** kernel path 'csrc/cpp_itfs/mha_fwd.cu'; keyword 'attention' + +## Summary from upstream + + +Motivation +qwen3.5 is using triton attention which is slow, we have tried to implement an asm alternative to increase performance. +Technical Details +Use hd128 reference attention kernel and implement hd256 support. kv tile is reduced to 64 to fit into registers req. +Test Plan + +Test Result +Light blue is a new fmha f8 hd256. + +## Submission Checklist + + Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests. + + +## Changed files + +- `aiter/ops/mha.py` +- `csrc/cpp_itfs/mha_fwd.cu` +- `hsa/gfx950/fmha_v3_fwd/fmha_fwd.csv` +- `hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8.co` +- `hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_causal.co` +- `hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_causal_group.co` +- `hsa/gfx950/fmha_v3_fwd/fwd_hd256_fp8_group.co` + +## Provenance + +- Merge commit: `75c5e0f0b382d335d2698a4c5177a252dba7d8cc` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above. diff --git a/sources/prs/aiter/PR-3951.md b/sources/prs/aiter/PR-3951.md new file mode 100644 index 00000000..d30e8753 --- /dev/null +++ b/sources/prs/aiter/PR-3951.md @@ -0,0 +1,80 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- aiter/configs/model_configs/a8w8_blockscale_tuned_fmoe_ds_v3.csv +- aiter/configs/model_configs/a8w8_blockscale_tuned_gemm_ds_v3.csv +url: https://github.com/ROCm/aiter/pull/3951 +source_license: MIT +id: pr-aiter-3951 +status: merged +source_fingerprint: sha256:bf38f45e82ae94ce63aa49342693c3967fed7fc1c02d6f30b701619f59c77438 +repo: ROCm/aiter +source_trust: first-party +source_category: upstream-code +date: '2026-07-23' +author: frida-andersson +merge_sha: 84493f0e5b083b02c9ff3d60961f58bae547045a +inclusion_reason: kernel path 'aiter/configs/model_configs/a8w8_blockscale_tuned_fmoe_ds_v3.csv'; + keyword 'gemm' +pr: 3951 +scope_status: quarantine +title: '[Configs] DSv3.2 gfx942 (MI325X): tuned a8w8 blockscale GEMM + FMoE configs + (TP8)' +techniques: [] +hardware_features: [] +kernel_types: +- attention +- moe +- gemm +languages: +- hip +- cpp +- triton +- flydsl +- python +architectures: +- gfx942 +tags: +- attention +- gemm +- gfx942 +- moe +--- + +# [Configs] DSv3.2 gfx942 (MI325X): tuned a8w8 blockscale GEMM + FMoE configs (TP8) + +**Repository:** [ROCm/aiter](https://github.com/ROCm/aiter) · +**PR:** [#3951](https://github.com/ROCm/aiter/pull/3951) · +**Merged:** 2026-07-23 · **Author:** @frida-andersson + +**Inclusion reason:** kernel path 'aiter/configs/model_configs/a8w8_blockscale_tuned_fmoe_ds_v3.csv'; keyword 'gemm' + +## Summary from upstream + + +Summary +Tuned a8w8 blockscale GEMM + FMoE configs for DeepSeek-V3.2 on gfx942 (MI325X), TP8. Config data only — no kernel/code changes. +Changes + +aiter/configs/a8w8_blockscale_tuned_gemm.csv (+525): new per-M autotuned rows for the DSv3.2 TP8 GEMM shapes (attention-projection + MLA/dense). All 525 are new (M,N,K,cu_num,gfx) shapes — none overwrite existing rows. +aiter/configs/tuned_fmoe.csv (+46): new autotuned FMoE rows for the DSv3.2 expert shapes (all new shapes). +aiter/configs/model_configs/a8w8_blockscale_tuned_gemm_ds_v3.csv (−62): removes stale, coarse override rows for shapes now covered by the main CSV — 512×7168, 256×7168, 2112×7168, 3072×1536, 4096×512, 7168×2048. + +Why remove the ds_v3 overrides? +The loader (aiter/jit/core.py) merges a8w8_blockscale_tuned_gemm.csv with every model_configs/*a8w8_blockscale_tuned_gemm*.csv and dedups on (M,N,K,cu_num,gfx) against the untuned key file. The old ds_v3 rows for these shapes pinned a single coarse kernel across all M; keeping them alongside the new per-M autotuned rows would (a) trip the loader's duplicate-shape guard at load time and (b) shadow the better configs. The retained main-CSV rows are strictly faster (lower us) for ev + + +## Changed files + +- `aiter/configs/model_configs/a8w8_blockscale_tuned_fmoe_ds_v3.csv` +- `aiter/configs/model_configs/a8w8_blockscale_tuned_gemm_ds_v3.csv` + +## Provenance + +- Merge commit: `84493f0e5b083b02c9ff3d60961f58bae547045a` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above. diff --git a/sources/prs/rocm-libraries/PR-9305.md b/sources/prs/rocm-libraries/PR-9305.md new file mode 100644 index 00000000..99fe5825 --- /dev/null +++ b/sources/prs/rocm-libraries/PR-9305.md @@ -0,0 +1,100 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- projects/composablekernel/dispatcher/bindings/ctypes/CMakeLists.txt +- projects/composablekernel/dispatcher/bindings/ctypes/gemm_multi_abd_ctypes_lib.cpp +- projects/composablekernel/dispatcher/codegen/unified_gemm_codegen.py +- projects/composablekernel/dispatcher/python/ctypes_utils.py +- projects/composablekernel/dispatcher/python/gemm_utils.py +- projects/composablekernel/dispatcher/tests/test_multi_abd_bridge.py +- projects/composablekernel/tile_engine/ops/gemm/gemm_full_benchmark.py +- projects/composablekernel/tile_engine/ops/gemm/gemm_multi_abd/configs/default_ci_config.json +- projects/composablekernel/tile_engine/ops/gemm/run_one_gemm_kernel.py +url: https://github.com/ROCm/rocm-libraries/pull/9305 +source_license: mixed-upstream +id: pr-rocm-libraries-9305 +status: merged +source_fingerprint: sha256:3a9be98f7ce4a394b773a364669a70447018ba00479af72dff58f924e743335f +repo: ROCm/rocm-libraries +source_trust: first-party +source_category: upstream-code +date: '2026-07-23' +author: ozturkosu +merge_sha: 34cb16fb1eaa9b370fc4fdfcbf383184f7be2f35 +inclusion_reason: kernel path 'projects/composablekernel/dispatcher/bindings/ctypes/CMakeLists.txt'; + keyword 'gemm' +pr: 9305 +scope_status: quarantine +title: 'feat(ck-tile): multi-ABD GEMM TE to dispatcher bridge' +techniques: [] +hardware_features: [] +kernel_types: +- gemm +languages: +- hip +- cpp +- gcn-asm +- composable-kernel +- python +architectures: +- gfx942 +tags: +- gemm +- gfx942 +--- + +# feat(ck-tile): multi-ABD GEMM TE to dispatcher bridge + +**Repository:** [ROCm/rocm-libraries](https://github.com/ROCm/rocm-libraries) · +**PR:** [#9305](https://github.com/ROCm/rocm-libraries/pull/9305) · +**Merged:** 2026-07-23 · **Author:** @ozturkosu + +**Inclusion reason:** kernel path 'projects/composablekernel/dispatcher/bindings/ctypes/CMakeLists.txt'; keyword 'gemm' + +## Summary from upstream + + +ISSUE ID: #8997 +Motivation +The CK Tile dispatcher could already generate and launch regular GEMM through the +TileEngine → Dispatcher bridge, but it had no path for the multi-tensor +gemm_multi_abd op. Multi-ABD is used when a GEMM needs to combine several A and +B operands and fuse several D operands in the epilogue +(E = cde_op(a_op(As) @ b_op(Bs), {Ds})), which is a real Old-TE capability with no +dispatcher equivalent. This PR closes that gap so Python callers can drive multi_abd +through the dispatcher at parity with the legacy Tile Engine version, without touching +C++. +It follows the divergent-ABI pattern established by the grouped bridge (#9000) because +multi_abd needs arrays of A/B/D device pointers, not the single-pointer regular +GEMM ABI. The capability set matches the Old-TE gemm_multi_abd_instance_builder.py +exactly: fp16, rcrr layout, configurable A/B/D tensor counts, and the element-wise +op set {PassThrough, AddScale, MultiDMultiply, MultiDAdd}. +Test Plan + +Run the CPU-only unit tests (no GPU required): +python3 -m pytest dispatcher/tests/test_multi_abd_bridge.py -v +On-GPU numeric verification through the bridge launch path (gfx942 / MI300X), +512x512x512 fp16 rcrr, across the + + +## Changed files + +- `projects/composablekernel/dispatcher/bindings/ctypes/CMakeLists.txt` +- `projects/composablekernel/dispatcher/bindings/ctypes/gemm_multi_abd_ctypes_lib.cpp` +- `projects/composablekernel/dispatcher/codegen/unified_gemm_codegen.py` +- `projects/composablekernel/dispatcher/python/ctypes_utils.py` +- `projects/composablekernel/dispatcher/python/gemm_utils.py` +- `projects/composablekernel/dispatcher/tests/test_multi_abd_bridge.py` +- `projects/composablekernel/tile_engine/ops/gemm/gemm_full_benchmark.py` +- `projects/composablekernel/tile_engine/ops/gemm/gemm_multi_abd/configs/default_ci_config.json` +- `projects/composablekernel/tile_engine/ops/gemm/run_one_gemm_kernel.py` + +## Provenance + +- Merge commit: `34cb16fb1eaa9b370fc4fdfcbf383184f7be2f35` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above. diff --git a/sources/prs/rocm-libraries/PR-9308.md b/sources/prs/rocm-libraries/PR-9308.md new file mode 100644 index 00000000..100ac15c --- /dev/null +++ b/sources/prs/rocm-libraries/PR-9308.md @@ -0,0 +1,102 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- projects/composablekernel/dispatcher/bindings/ctypes/MULTI_D_GEMM_BRIDGE.md +- projects/composablekernel/dispatcher/bindings/ctypes/multi_d_gemm_ctypes_lib.cpp +- projects/composablekernel/dispatcher/codegen/unified_gemm_codegen.py +- projects/composablekernel/dispatcher/python/gemm_utils.py +- projects/composablekernel/dispatcher/tests/test_multi_d_bridge.py +- projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d/configs/default_ci_config.json +- projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d/configs/default_config.json +- projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d_full_benchmark.py +- projects/composablekernel/tile_engine/ops/gemm/run_one_gemm_multi_d_kernel.py +url: https://github.com/ROCm/rocm-libraries/pull/9308 +source_license: mixed-upstream +id: pr-rocm-libraries-9308 +status: merged +source_fingerprint: sha256:812219471d7e246a4e7ee4879a1ed31c3f0a8468cbd6089fc77b085f80e39070 +repo: ROCm/rocm-libraries +source_trust: first-party +source_category: upstream-code +date: '2026-07-23' +author: ozturkosu +merge_sha: 7fcb5f3609abea6d00938e36666fd862f67677a7 +inclusion_reason: kernel path 'projects/composablekernel/dispatcher/bindings/ctypes/MULTI_D_GEMM_BRIDGE.md'; + keyword 'gemm' +pr: 9308 +scope_status: quarantine +title: 'feat(ck-tile): multi-D GEMM TE to dispatcher bridge' +techniques: [] +hardware_features: +- lds +kernel_types: +- gemm +languages: +- hip +- cpp +- gcn-asm +- composable-kernel +- python +architectures: +- gfx942 +tags: +- gemm +- gfx942 +- lds +--- + +# feat(ck-tile): multi-D GEMM TE to dispatcher bridge + +**Repository:** [ROCm/rocm-libraries](https://github.com/ROCm/rocm-libraries) · +**PR:** [#9308](https://github.com/ROCm/rocm-libraries/pull/9308) · +**Merged:** 2026-07-23 · **Author:** @ozturkosu + +**Inclusion reason:** kernel path 'projects/composablekernel/dispatcher/bindings/ctypes/MULTI_D_GEMM_BRIDGE.md'; keyword 'gemm' + +## Summary from upstream + + +ISSUE ID: #8997 +Motivation +The TileEngine → Dispatcher bridge had no path for the gemm_multi_d op, which +fuses one or more extra D operands into the GEMM epilogue +(E = elementwise_op(A@B, D0, D1, ...)). This is a real Old-TE capability used for +fused bias/residual-style epilogues with no dispatcher equivalent, so this PR adds a +complete bridge so the dispatcher can generate, build, and launch multi_d at parity +with the legacy Tile Engine version. +The capability set matches the Old-TE gemm_multi_d_instance_builder.py exactly: +fp16, the 4-char layouts {rcrr, rrrr, ccrr, crrr} (A/B vary, C and D row-major), +the element-wise ops {MultiDAdd, MultiDMultiply, PassThrough}, and a swept number of +D tensors (1 and 2). It follows the registry-bypass bridge pattern used by the grouped +(#9000) and stream-K (#9028) bridges. +Test Plan + +Run the CPU-only unit tests (no GPU required): +python3 -m pytest dispatcher/tests/test_multi_d_bridge.py -v +On-GPU numeric verify over the full capability matrix +(fp16 × {rcrr, rrrr, ccrr, crrr} × {MultiDAdd, MultiDMultiply} × {num_d 1, 2} = 16 +combos) at M=N=K=1024 against an fp32 reference, gate 2e-2. +Confirm the CI config builds real kernels and the sweep covers + + +## Changed files + +- `projects/composablekernel/dispatcher/bindings/ctypes/MULTI_D_GEMM_BRIDGE.md` +- `projects/composablekernel/dispatcher/bindings/ctypes/multi_d_gemm_ctypes_lib.cpp` +- `projects/composablekernel/dispatcher/codegen/unified_gemm_codegen.py` +- `projects/composablekernel/dispatcher/python/gemm_utils.py` +- `projects/composablekernel/dispatcher/tests/test_multi_d_bridge.py` +- `projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d/configs/default_ci_config.json` +- `projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d/configs/default_config.json` +- `projects/composablekernel/tile_engine/ops/gemm/gemm_multi_d_full_benchmark.py` +- `projects/composablekernel/tile_engine/ops/gemm/run_one_gemm_multi_d_kernel.py` + +## Provenance + +- Merge commit: `7fcb5f3609abea6d00938e36666fd862f67677a7` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above. diff --git a/sources/prs/rocm-libraries/PR-9588.md b/sources/prs/rocm-libraries/PR-9588.md new file mode 100644 index 00000000..61682270 --- /dev/null +++ b/sources/prs/rocm-libraries/PR-9588.md @@ -0,0 +1,69 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- projects/hipblaslt/tensilelite/tox.ini +url: https://github.com/ROCm/rocm-libraries/pull/9588 +source_license: mixed-upstream +id: pr-rocm-libraries-9588 +status: merged +source_fingerprint: sha256:ea849de7b97d5da70f2e8728a5df069676dc7609fa94946c797c8950f4851902 +repo: ROCm/rocm-libraries +source_trust: first-party +source_category: upstream-code +date: '2026-07-23' +author: pdhirajkumarprasad +merge_sha: d30b5b256056d7612023663ddc04b10e19d93b96 +inclusion_reason: kernel path 'projects/hipblaslt/tensilelite/tox.ini' +pr: 9588 +scope_status: quarantine +title: 'Fix: revert ignoring of characterization test from coverage collection' +techniques: [] +hardware_features: [] +kernel_types: [] +languages: +- hip +- cpp +- gcn-asm +- composable-kernel +- python +architectures: [] +tags: [] +--- + +# Fix: revert ignoring of characterization test from coverage collection + +**Repository:** [ROCm/rocm-libraries](https://github.com/ROCm/rocm-libraries) · +**PR:** [#9588](https://github.com/ROCm/rocm-libraries/pull/9588) · +**Merged:** 2026-07-23 · **Author:** @pdhirajkumarprasad + +**Inclusion reason:** kernel path 'projects/hipblaslt/tensilelite/tox.ini' + +## Summary from upstream + + +Motivation +Revert ignoring of characterization test from coverage collection +Technical Details +We had added this check in #8953 which we are reverting as we will be handling this differently +Test Plan +N/A +Test Result +N/A +Submission Checklist + + Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests. + + +## Changed files + +- `projects/hipblaslt/tensilelite/tox.ini` + +## Provenance + +- Merge commit: `d30b5b256056d7612023663ddc04b10e19d93b96` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above. diff --git a/sources/prs/rocm-libraries/PR-9759.md b/sources/prs/rocm-libraries/PR-9759.md new file mode 100644 index 00000000..69da99a2 --- /dev/null +++ b/sources/prs/rocm-libraries/PR-9759.md @@ -0,0 +1,107 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- projects/composablekernel/example/ck_tile/53_contraction_multi_abd/CMakeLists.txt +- projects/composablekernel/example/ck_tile/53_contraction_multi_abd/contraction_multi_abd.cpp +- projects/composablekernel/example/ck_tile/53_contraction_multi_abd/contraction_multi_abd_utils.hpp +- projects/composablekernel/example/ck_tile/53_contraction_multi_abd/run_contraction_multi_abd_example.inc +- projects/composablekernel/example/ck_tile/CMakeLists.txt +- projects/composablekernel/groovy/vars/ck.groovy +- projects/composablekernel/include/ck_tile/host/reference/reference_batched_contraction.hpp +- projects/composablekernel/include/ck_tile/ops/batched_contraction/kernel/batched_contraction_kernel.hpp +- projects/composablekernel/include/ck_tile/ops/batched_contraction/kernel/batched_contraction_multi_abd_kernel.hpp +- projects/composablekernel/include/ck_tile/ops/batched_contraction/pipeline/batched_contraction_multi_abd_problem.hpp +- projects/composablekernel/include/ck_tile/ops/batched_contraction/utils/tensor_descriptor_utils.hpp +- projects/composablekernel/include/ck_tile/ops/batched_contraction_multi_abd.hpp +- projects/composablekernel/test/ck_tile/CMakeLists.txt +- projects/composablekernel/test/ck_tile/contraction_multi_abd/CMakeLists.txt +- projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_cshuffle.cpp +- projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_default2d.cpp +- projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_ut_cases_cshuffle.inc +- projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_ut_cases_default2d.inc +- projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_util.hpp +- projects/composablekernel/tile_engine/ops/common/utils.hpp +url: https://github.com/ROCm/rocm-libraries/pull/9759 +source_license: mixed-upstream +id: pr-rocm-libraries-9759 +status: merged +source_fingerprint: sha256:28ea4c82de620f3cd1b512440ef86f32aaa10184f10a768be558c1f9935e3232 +repo: ROCm/rocm-libraries +source_trust: first-party +source_category: upstream-code +date: '2026-07-23' +author: jefyang1 +merge_sha: 799134a5a2b80068f4c4c9652b4aa92059de24bf +inclusion_reason: kernel path 'projects/composablekernel/example/ck_tile/53_contraction_multi_abd/CMakeLists.txt'; + keyword 'gemm' +pr: 9759 +scope_status: quarantine +title: 'Revert "feat(composablekernel): [CK][CK_TILE] Add batched contraction multiple + ABD"' +techniques: [] +hardware_features: [] +kernel_types: +- grouped-gemm +- gemm +languages: +- hip +- cpp +- gcn-asm +- composable-kernel +- python +architectures: [] +tags: +- gemm +- grouped-gemm +--- + +# Revert "feat(composablekernel): [CK][CK_TILE] Add batched contraction multiple ABD" + +**Repository:** [ROCm/rocm-libraries](https://github.com/ROCm/rocm-libraries) · +**PR:** [#9759](https://github.com/ROCm/rocm-libraries/pull/9759) · +**Merged:** 2026-07-23 · **Author:** @jefyang1 + +**Inclusion reason:** kernel path 'projects/composablekernel/example/ck_tile/53_contraction_multi_abd/CMakeLists.txt'; keyword 'gemm' + +## Summary from upstream + + +Reverts #6339 +This commit broke the CI tile_engine tests at the build 1875. +JIRA ID : AICK-1731 +Test Plan +test_tile_engine + + +## Changed files + +- `projects/composablekernel/example/ck_tile/53_contraction_multi_abd/CMakeLists.txt` +- `projects/composablekernel/example/ck_tile/53_contraction_multi_abd/contraction_multi_abd.cpp` +- `projects/composablekernel/example/ck_tile/53_contraction_multi_abd/contraction_multi_abd_utils.hpp` +- `projects/composablekernel/example/ck_tile/53_contraction_multi_abd/run_contraction_multi_abd_example.inc` +- `projects/composablekernel/example/ck_tile/CMakeLists.txt` +- `projects/composablekernel/groovy/vars/ck.groovy` +- `projects/composablekernel/include/ck_tile/host/reference/reference_batched_contraction.hpp` +- `projects/composablekernel/include/ck_tile/ops/batched_contraction/kernel/batched_contraction_kernel.hpp` +- `projects/composablekernel/include/ck_tile/ops/batched_contraction/kernel/batched_contraction_multi_abd_kernel.hpp` +- `projects/composablekernel/include/ck_tile/ops/batched_contraction/pipeline/batched_contraction_multi_abd_problem.hpp` +- `projects/composablekernel/include/ck_tile/ops/batched_contraction/utils/tensor_descriptor_utils.hpp` +- `projects/composablekernel/include/ck_tile/ops/batched_contraction_multi_abd.hpp` +- `projects/composablekernel/test/ck_tile/CMakeLists.txt` +- `projects/composablekernel/test/ck_tile/contraction_multi_abd/CMakeLists.txt` +- `projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_cshuffle.cpp` +- `projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_default2d.cpp` +- `projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_ut_cases_cshuffle.inc` +- `projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_ut_cases_default2d.inc` +- `projects/composablekernel/test/ck_tile/contraction_multi_abd/test_contraction_multi_abd_util.hpp` +- `projects/composablekernel/tile_engine/ops/common/utils.hpp` + +## Provenance + +- Merge commit: `799134a5a2b80068f4c4c9652b4aa92059de24bf` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above. diff --git a/sources/prs/sglang/PR-32191.md b/sources/prs/sglang/PR-32191.md new file mode 100644 index 00000000..d726b9f5 --- /dev/null +++ b/sources/prs/sglang/PR-32191.md @@ -0,0 +1,122 @@ +--- +captured_at: '2026-07-24' +changed_paths: +- python/sglang/jit_kernel/csrc/moe/moe_align_kernel.cu +- python/sglang/srt/layers/moe/moe_runner/triton_utils/moe_align_block_size.py +- python/sglang/srt/layers/moe/topk.py +- python/sglang/srt/layers/quantization/__init__.py +- python/sglang/srt/layers/quantization/quark/schemes/quark_w4a4_mxfp4.py +- python/sglang/srt/layers/quantization/quark_int4fp8_moe.py +- python/sglang/srt/utils/common.py +- sgl-kernel/csrc/elementwise/deepseek_v4_topk.cu +- sgl-kernel/csrc/elementwise/dsv4_norm_rope.cu +- sgl-kernel/csrc/elementwise/topk.cu +- sgl-kernel/include/utils.h +- sgl-kernel/setup_rocm.py +url: https://github.com/sgl-project/sglang/pull/32191 +source_license: Apache-2.0 +id: pr-sglang-32191 +status: merged +source_fingerprint: sha256:c4c1d0bb7bf9f4d30a869b9bcc9180f83c055fed846892851358664c5d52f367 +repo: sgl-project/sglang +source_trust: ecosystem +source_category: upstream-code +date: '2026-07-23' +author: akao-amd +merge_sha: e35a33b34a5b23c8968f9e1fae6ffb9ddedf1153 +inclusion_reason: kernel path 'python/sglang/jit_kernel/csrc/moe/moe_align_kernel.cu'; + keyword 'moe' +pr: 32191 +scope_status: quarantine +title: Rebase to v0.5.15.post1 for internal testing +techniques: [] +hardware_features: +- fp8 +- fp4 +- mxfp +kernel_types: +- moe +- quantization +languages: +- hip +- triton +- python +architectures: [] +tags: +- fp4 +- fp8 +- moe +- mxfp +- quantization +--- + +# Rebase to v0.5.15.post1 for internal testing + +**Repository:** [sgl-project/sglang](https://github.com/sgl-project/sglang) · +**PR:** [#32191](https://github.com/sgl-project/sglang/pull/32191) · +**Merged:** 2026-07-23 · **Author:** @akao-amd + +**Inclusion reason:** kernel path 'python/sglang/jit_kernel/csrc/moe/moe_align_kernel.cu'; keyword 'moe' + +## Summary from upstream + + +Motivation +Support internal testing of the next ROCm GA release. +Modifications +Previously amd_march has three commits on v0.5.13.post1, and now it has discarded the three commits and rebase on v0.5.15.post1. +This PR is to add the three commits back. +Accuracy Tests +N/A. This is a part of the ROCK CI effort. Downstream QA teams will be responsible for the tests. +Speed Tests and Profiling +N/A. +Checklist + + Format your code according to the Format code with pre-commit. + Add unit tests according to the Run and add unit tests. + Update documentation according to Write documentations. + Provide accuracy and speed benchmark results according to Test the accuracy and Benchmark the speed. + Follow the SGLang code style guidance. + +Review and Merge Process + +Ping Merge Oncalls to start the process. See the PR Merge Process. +Get approvals from CODEOWNERS and other reviewers. +Trigger CI tests with comments or contact authorized users to do so. + +Common commands include /tag-and-rerun-ci, /tag-run-ci-label, /rerun-failed-ci + + +After green CI and required approvals, ask Merge Oncalls or people with Write permission to merge the PR. + + + +CI States +Latest PR Test (Base): ❌ Run #29996914085 +Latest PR Test ( + + +## Changed files + +- `python/sglang/jit_kernel/csrc/moe/moe_align_kernel.cu` +- `python/sglang/srt/layers/moe/moe_runner/triton_utils/moe_align_block_size.py` +- `python/sglang/srt/layers/moe/topk.py` +- `python/sglang/srt/layers/quantization/__init__.py` +- `python/sglang/srt/layers/quantization/quark/schemes/quark_w4a4_mxfp4.py` +- `python/sglang/srt/layers/quantization/quark_int4fp8_moe.py` +- `python/sglang/srt/utils/common.py` +- `sgl-kernel/csrc/elementwise/deepseek_v4_topk.cu` +- `sgl-kernel/csrc/elementwise/dsv4_norm_rope.cu` +- `sgl-kernel/csrc/elementwise/topk.cu` +- `sgl-kernel/include/utils.h` +- `sgl-kernel/setup_rocm.py` + +## Provenance + +- Merge commit: `e35a33b34a5b23c8968f9e1fae6ffb9ddedf1153` +- Captured at: 2026-07-24 +- Source of truth: the immutable merge commit and upstream PR linked above.