Skip to content

Conversation

@yuantailing
Copy link
Member

@yuantailing yuantailing commented Oct 30, 2025

Summary by CodeRabbit

  • New Features

    • Use local DeepSeek-V3.2-Exp and DeepSeek-R1-0528-FP4-v2 models in layer-wise benchmarking tests.
  • Bug Fixes

    • Improved error handling in initialization scripts by enforcing early exit for unsupported hardware architectures.
  • Documentation

    • Updated benchmark documentation comments for clarity.

Description

Test Coverage

PR Checklist

Please review the following before submitting your PR:

  • PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.

  • PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.

  • Test cases are provided for new code paths (see test instructions)

  • Any new dependencies have been scanned for license and vulnerabilities

  • CODEOWNERS updated if ownership changes

  • Documentation updated as needed

  • The reviewers assigned automatically/manually are appropriate for the PR.

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

GitHub Bot Help

/bot [-h] ['run', 'kill', 'skip', 'reuse-pipeline'] ...

Provide a user friendly way for developers to interact with a Jenkins server.

Run /bot [-h|--help] to print this help message.

See details below for each supported subcommand.

run [--reuse-test (optional)pipeline-id --disable-fail-fast --skip-test --stage-list "A10-PyTorch-1, xxx" --gpu-type "A30, H100_PCIe" --test-backend "pytorch, cpp" --add-multi-gpu-test --only-multi-gpu-test --disable-multi-gpu-test --post-merge --extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx" --detailed-log --debug(experimental)]

Launch build/test pipelines. All previously running jobs will be killed.

--reuse-test (optional)pipeline-id (OPTIONAL) : Allow the new pipeline to reuse build artifacts and skip successful test stages from a specified pipeline or the last pipeline if no pipeline-id is indicated. If the Git commit ID has changed, this option will be always ignored. The DEFAULT behavior of the bot is to reuse build artifacts and successful test results from the last pipeline.

--disable-reuse-test (OPTIONAL) : Explicitly prevent the pipeline from reusing build artifacts and skipping successful test stages from a previous pipeline. Ensure that all builds and tests are run regardless of previous successes.

--disable-fail-fast (OPTIONAL) : Disable fail fast on build/tests/infra failures.

--skip-test (OPTIONAL) : Skip all test stages, but still run build stages, package stages and sanity check stages. Note: Does NOT update GitHub check status.

--stage-list "A10-PyTorch-1, xxx" (OPTIONAL) : Only run the specified test stages. Examples: "A10-PyTorch-1, xxx". Note: Does NOT update GitHub check status.

--gpu-type "A30, H100_PCIe" (OPTIONAL) : Only run the test stages on the specified GPU types. Examples: "A30, H100_PCIe". Note: Does NOT update GitHub check status.

--test-backend "pytorch, cpp" (OPTIONAL) : Skip test stages which don't match the specified backends. Only support [pytorch, cpp, tensorrt, triton]. Examples: "pytorch, cpp" (does not run test stages with tensorrt or triton backend). Note: Does NOT update GitHub pipeline status.

--only-multi-gpu-test (OPTIONAL) : Only run the multi-GPU tests. Note: Does NOT update GitHub check status.

--disable-multi-gpu-test (OPTIONAL) : Disable the multi-GPU tests. Note: Does NOT update GitHub check status.

--add-multi-gpu-test (OPTIONAL) : Force run the multi-GPU tests in addition to running L0 pre-merge pipeline.

--post-merge (OPTIONAL) : Run the L0 post-merge pipeline instead of the ordinary L0 pre-merge pipeline.

--extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx" (OPTIONAL) : Run the ordinary L0 pre-merge pipeline and specified test stages. Examples: --extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx".

--detailed-log (OPTIONAL) : Enable flushing out all logs to the Jenkins console. This will significantly increase the log volume and may slow down the job.

--debug (OPTIONAL) : Experimental feature. Enable access to the CI container for debugging purpose. Note: Specify exactly one stage in the stage-list parameter to access the appropriate container environment. Note: Does NOT update GitHub check status.

For guidance on mapping tests to stage names, see docs/source/reference/ci-overview.md
and the scripts/test_to_stage_mapping.py helper.

kill

kill

Kill all running builds associated with pull request.

skip

skip --comment COMMENT

Skip testing for latest commit on pull request. --comment "Reason for skipping build/test" is required. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break.

reuse-pipeline

reuse-pipeline

Reuse a previous pipeline to validate current commit. This action will also kill all currently running builds associated with the pull request. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break.

Signed-off-by: Tailing Yuan <[email protected]>
Signed-off-by: Tailing Yuan <[email protected]>
@yuantailing yuantailing requested a review from a team as a code owner October 30, 2025 13:40
@yuantailing
Copy link
Member Author

/bot run

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 30, 2025

📝 Walkthrough

Walkthrough

This pull request updates layer-wise benchmark infrastructure by introducing DeepSeek R1 and V3.2 model support via pytest fixtures, making kv_cache_manager parameter mandatory in deepseekv3_runner, adding machine validation error handling, and refactoring tests to use dynamic model paths via parameterization.

Changes

Cohort / File(s) Summary
Documentation
examples/layer_wise_benchmarks/README.md
Removed "MNNVL" from comment phrase for clarity in comment describing scaling configuration.
Error Handling
examples/layer_wise_benchmarks/slurm_init_containers.sh
Added early exit (exit 1) when MACHINE is not x86_64 or aarch64, preventing execution with unset or invalid DOCKER_IMAGE.
DeepSeek V3 Runner Configuration
tensorrt_llm/tools/layer_wise_benchmarks/deepseekv3_runner.py
Changed balance_method default initialization from None to BalanceMethod.NotModified; made kv_cache_manager parameter required (removed Optional and default None); added trailing commas in dictionary literals.
Test Fixtures
tests/integration/defs/conftest.py
Extended deepseek_v3_model_root fixture to handle "DeepSeek-V3.2-Exp" model path; introduced new deepseek_r1_model_root fixture to resolve "DeepSeek-R1-0528-FP4-v2" model path with existence assertion.
Test Cases
tests/unittest/tools/test_layer_wise_benchmarks.py
Parameterized test functions with pytest.mark.parametrize decorators for model-root fixtures; updated test signatures to accept deepseek_r1_model_root and deepseek_v3_model_root; replaced hardcoded model identifiers with dynamic fixture values; added fixture imports from conftest.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Attention areas:
    • Verify that deepseek_r1_model_root fixture correctly resolves model paths and that the model exists before tests run
    • Confirm that kv_cache_manager being now required does not break any existing callers of create_run_pack
    • Ensure parameterization decorators correctly pass model paths through to test execution and that the indirect=True resolution works as expected

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Description Check ⚠️ Warning The pull request description is largely incomplete. While the PR title properly follows the repository's format, the Description section (explaining the issue and solution) is entirely empty, containing only the template placeholder comment. Similarly, the Test Coverage section is completely blank when it should list relevant tests that safeguard the changes. Only the final PR Checklist checkbox is marked, but no explanation or details are provided for the review items. The required sections for describing the changes and test coverage are missing. Please fill in the Description section with a brief explanation of why these changes are needed and what problem they solve. Add a Test Coverage section that clearly lists the relevant tests affected by these changes, such as test_deepseek_r1_ctx_tep, test_deepseek_v32_ctx_dep, and test_deepseek_r1_gen_scaled_from_16_dep mentioned in the raw summary. This will provide reviewers with better context about the modifications and ensure proper test coverage is documented.
✅ Passed checks (1 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "[None][fix] Layer-wise benchmarks: use local models, lint" is related to real and significant aspects of the changeset. The title accurately reflects the main objective of converting layer-wise benchmark tests to use local models through new fixtures (deepseek_r1_model_root and deepseek_v3_model_root in conftest.py and test_layer_wise_benchmarks.py), and the "lint" portion corresponds to the minor comment fix in the README. Supporting changes like the create_run_pack signature tightening and routing balance adjustments are necessary modifications to enable this transition but are not captured in the title, which is acceptable as titles need not cover every detail.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@tensorrt-cicd
Copy link
Collaborator

PR_Github #23053 [ run ] triggered by Bot. Commit: ffc00bc

@kaiyux kaiyux enabled auto-merge (squash) October 30, 2025 14:02
@yuantailing yuantailing changed the title [None][fix] Layer wise benchmarks: use local models, lint [None][fix] Layer-wise benchmarks: use local models, lint Oct 30, 2025
@tensorrt-cicd
Copy link
Collaborator

PR_Github #23053 [ run ] completed with state SUCCESS. Commit: ffc00bc
/LLM/main/L0_MergeRequest_PR pipeline #17382 completed with status: 'SUCCESS'

@kaiyux kaiyux merged commit ec31363 into NVIDIA:main Oct 30, 2025
12 of 13 checks passed
fredricz-20070104 pushed a commit to fredricz-20070104/TensorRT-LLM that referenced this pull request Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants