Add new FW (TRT) and precision support - #5
Merged
Merged
Conversation
kimbochen
reviewed
Sep 5, 2025
kimbochen
left a comment
Collaborator
There was a problem hiding this comment.
Thank you for the PR. lgtm
Oseltamivir
added a commit
that referenced
this pull request
Jun 23, 2026
Add summarize.py (compact NCCL/DeepEP results table, printed at end of every job) and make it the result gate. Fix review findings: benchmark failures/skipped-deepep now fail the job instead of reporting green (#1); DeepEP nodes from SLURM_NNODES not world_size//8 (#3); apply Buffer.set_num_sms so num_comm_sms is real (#8); nccl-tests -c 1 with a missing check footer is now invalid (#7); use context managers for file reads (#4,#5); launchers export COLLECTIVEX_IMAGE/_DIGEST for provenance (#9); trim workflow_dispatch sku options to launcher-backed pools (#2). Artifact-path finding (#6) already fixed via cx_collect_results.
Oseltamivir
added a commit
that referenced
this pull request
Aug 7, 2026
…spent DeepEP rewrite Two dead paths, from an external review of the PR (queries.md items #4 and #5). MoRI: `_external_input` is assigned once, True, and read nowhere else in the tree -- no env var, no config key, no test -- so the registered-buffer arms of stage() and combine_transformed(), and the `or not self._external_input` in stage_device_work, cannot execute. Removed, keeping the external-input implementation and the note that 16 combine warps belong to this mode (MoRI's tuned tables key combine on zero_copy, so the warp count and the buffer mode have to move together). Also fixes a latent defect the review did not name: expected_config compared the realized inter-node config against a hardcoded "gpu_per_node": 8. Not live -- mori is registered at EP8 only, on three SKUs that all have 8 GPUs per node -- but it defeats the check's purpose, which is to prove requested == realized. The moment mori scale-out ran on a non-8-GPU node it would abort with a spurious "configuration was not realized". Now reads gpus_per_node. The neighbouring rdma_block_num/num_qp_per_pe literals stay: those are genuinely file-invariant. DeepEP: the pin tracks upstream main, whose deep_ep/__init__.py already carries the 'libnccl' scan narrowing (#640), so rewrite_deepep_v2 took its early return on every run. Deleting it rather than keeping a harmless no-op, because it is not harmless: the guard accepts exactly two literal string forms, so any future upstream edit to that line -- a rename, requote or line split -- falls through to `count(old) != 1` and exits 1, aborting every deepep-v2 leg at source-prep. It converts routine upstream drift into a fleet-wide tripwire while guarding nothing. Removed with its SPECS entry and common.sh invocation together, so the stage.py/common.sh lockstep holds (six subcommands declared, six invoked, none orphaned). The review also listed "the tests proving the no-op succeeds" for deletion; there are none. Tests unchanged, 150 green. The MoRI file executes only on the AMD benchmark images, so the deletion is behaviour-preserving by construction rather than by test -- a routine mori leg is the on-metal confirmation.
xiaohuguo2023
added a commit
that referenced
this pull request
Aug 19, 2026
Move the K3 FP4 MI355X recipe onto vllm/vllm-openai-rocm:nightly-8efa13b700f1836657699cae2503dc2feab27fa0 (vLLM 0.27.2rc1.dev122+g8efa13b70, ROCm 7.2.3): 3 image: pins in configs/amd-master.yaml (:627/:1296/:1325) + doc/comment tag copies + docs/waiver/2508.md. Also carries the native) KV-offload arm in the base entry script. WIP — NOT yet validated on the new image: 0.27 rewrote rocm_aiter_mla.py, so the patch orchestrator dies at 5/9 (patch_fp8asm.py padded_q anchor). Patch reconciliation (drop upstreamed patches #1/#5/#6 + trio #2/#3/#4, keep #7 offload eagle veto, re-port dspark 4/7,4c,5/7) + conc-1 DSpark boot/accuracy + perf compare pending. Do not merge until green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR adds TensorRT-LLM (TRT-LLM) as a new inference framework for LLaMA 70B benchmarking on NVIDIA H200 and B200 GPUs, alongside the existing vLLM framework. This enables direct performance comparison between vLLM and TRT-LLM on the same hardware.
Key Features
🔧 Core Workflow Updates
.github/workflows/benchmark-tmpl.yml
.github/workflows/70b-tmpl.yml
🚀 New Benchmark Scripts
benchmarks/70b_h200_trt_slurm.sh and benchmarks/70b_b200_trt_slurm.sh
🔄 Launcher Script Updates
Updated SLURM Launchers
runners/launch_h200-nv.sh
runners/launch_h200-cw.sh
runners/launch_h200-nb.sh
runners/launch_b200-nv.sh
Key improvements:
📊 Result Processing & Visualization
utils/process_result.py
utils/plot_perf.py
h200-trt: dark green
b200-trt: gray
🧪 Testing Configuration
.github/workflows/workflow-scheduler.yml