Skip to content

[https://nvbugs/6403920][fix] Move allreduce strategy test to smoke, use full-warp hidden_size#16389

Open
MrGeva wants to merge 9 commits into
NVIDIA:mainfrom
nv-auto-deploy:agent/allreduce-smoke-move-fullwarp
Open

[https://nvbugs/6403920][fix] Move allreduce strategy test to smoke, use full-warp hidden_size#16389
MrGeva wants to merge 9 commits into
NVIDIA:mainfrom
nv-auto-deploy:agent/allreduce-smoke-move-fullwarp

Conversation

@MrGeva

@MrGeva MrGeva commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Description

  1. Move the AutoDeploy allreduce-strategy test from tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py to tests/unittest/auto_deploy/multigpu/smoke/test_ad_allreduce_strategies.py (pure relocation, no logic change).
  2. Override the test's tiny model hidden_size from 64 to 256, so the fused all-reduce/RMSNorm kernel's blockReduceSum always launches exactly one full warp (32 threads) instead of the partial-warp (8-thread) block.

No kernel code (allReduceFusionKernels.cu) is touched at all — the kernel is exactly as it is on main today.

Motivation

Isolates the smoke-test-in-new-location + full-warp-hidden_size combination from the kernel fix in #16111, to determine whether CI failures seen on #16111 (an unrelated cuBLAS GEMM error and, separately, an MPI/PMIx runtime stall, on three different physical nodes across attempts) reproduce even without any kernel changes.

Test Coverage

Same test_allreduce_strategies test, all 6 strategies, hidden_size=256, run via the smoke directory.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Tests
    • Added multi-GPU smoke coverage for multiple all-reduce strategies.
    • Added throughput benchmark validation across supported distributed execution strategies.
    • Improved test reliability with dataset reuse, kernel prewarming, GPU availability checks, and execution timeouts.
    • Streamlined graph-level tests to focus on verifying all-reduce and all-gather strategy propagation.

MrGeva added 2 commits July 14, 2026 13:35
Signed-off-by: Eran Geva <19514940+MrGeva@users.noreply.github.com>
Diagnostic-only change: overrides the tiny test model's hidden_size from
64 (which launches an 8-thread, partial-warp block in the fused all-reduce
RMSNorm kernel) to 256 (exactly one full warp), so the smoke test no
longer exercises the partial-warp reduction path at all.

Two prior CI runs of the base branch (agent/fix-ad-allreduce-ci) failed
with an identical CUBLAS_STATUS_EXECUTION_FAILED error in an unrelated
cuBLAS GEMM (torch_linear_simple), on the same node
(nsc-svg-slurm-1-gpu-120), at a different allreduce strategy each time.
This branch isolates whether that failure is specific to the partial-warp
kernel path or is unrelated node/infra flakiness that also reproduces on
the full-warp path.

Signed-off-by: Eran Geva <19514940+MrGeva@users.noreply.github.com>
@MrGeva MrGeva requested a review from a team as a code owner July 14, 2026 20:40
@MrGeva MrGeva requested a review from suyoggupta July 14, 2026 20:40
@MrGeva

MrGeva commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The change separates multi-GPU throughput strategy testing into a new smoke module, retaining graph-level propagation tests in the custom-ops module. The smoke tests prepare shared data, prewarm FlashInfer kernels, apply strategy-specific options, and invoke the throughput benchmark.

Changes

All-reduce strategy test coverage

Layer / File(s) Summary
Retain graph strategy checks
tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py
Removes benchmark and dataset utilities while retaining graph-level all-reduce and all-gather strategy propagation checks.
Build smoke test infrastructure
tests/unittest/auto_deploy/multigpu/smoke/test_ad_allreduce_strategies.py
Adds timeout handling, FlashInfer JIT prewarming, synthetic dataset generation, and shared dataset reuse.
Run strategy benchmark matrix
tests/unittest/auto_deploy/multigpu/smoke/test_ad_allreduce_strategies.py
Adds parameterized multi-GPU throughput runs for six all-reduce strategies with auto-deploy configuration and exit-status assertions.

Estimated code review effort: 4 (Complex) | ~45 minutes

Suggested reviewers: suyoggupta

Sequence Diagram(s)

sequenceDiagram
  participant Pytest
  participant DatasetPreparer
  participant CliRunner
  participant AutoDeploy
  participant ThroughputBenchmark
  Pytest->>DatasetPreparer: generate shared synthetic dataset
  DatasetPreparer-->>Pytest: return dataset contents
  Pytest->>CliRunner: invoke throughput for each strategy
  CliRunner->>AutoDeploy: apply sharding and compilation options
  AutoDeploy->>ThroughputBenchmark: run multi-GPU benchmark
  ThroughputBenchmark-->>Pytest: return exit status
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title matches the main change: relocating the allreduce strategy test and adjusting hidden_size for smoke testing.
Description check ✅ Passed The description covers the change, motivation, and test coverage, but does not fill the PR Checklist section.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

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

Inline comments:
In `@tests/unittest/auto_deploy/multigpu/smoke/test_ad_allreduce_strategies.py`:
- Around line 40-52: Add Python 3.10+ type annotations to every function and
pytest fixture in this test module, including timeout and timeout_handler, all
parameters, and return types such as Iterator[None], Path, str, and None where
applicable. Ensure annotations cover the additional functions and fixtures
referenced by the review without changing their behavior.
- Around line 34-37: Remove the custom TimeoutError declaration and use Python’s
built-in TimeoutError throughout the test module, preserving the existing
timeout handling behavior.
- Line 194: Move the GPU-count guard for test_allreduce_strategies ahead of
shared_dataset setup and the autouse prewarm_flashinfer_jit fixture, using an
earlier collection or fixture-level skip so CPU and single-GPU runners exit
before dataset preparation or FlashInfer warmup.
- Around line 76-125: Update the FlashInfer prewarm block around the lock_f
acquisition and warmup steps to close and unlock the file in a finally block
whenever fcntl.flock succeeds. Ensure cleanup runs for exceptions from page or
sampling warmup, torch.cuda.empty_cache(), and future steps, while preserving
the existing warmup behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: fa3d6d0f-b8ed-44d1-bdb3-4c24d1938a1d

📥 Commits

Reviewing files that changed from the base of the PR and between 725d9a1 and 8991f60.

📒 Files selected for processing (2)
  • tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py
  • tests/unittest/auto_deploy/multigpu/smoke/test_ad_allreduce_strategies.py
💤 Files with no reviewable changes (1)
  • tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59275 [ run ] triggered by Bot. Commit: 8991f60 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59275 [ run ] completed with state FAILURE. Commit: 8991f60
/LLM/main/L0_MergeRequest_PR pipeline #47764 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

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

CI Agent Failure Analysis

Link to invocation

…path

test_allreduce_strategies moved from
tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py
to tests/unittest/auto_deploy/multigpu/smoke/test_ad_allreduce_strategies.py
in the prior commit, but 6 waives.txt entries still referenced the old
path, failing the release-check's stale-waive validator.

Signed-off-by: Eran Geva <19514940+MrGeva@users.noreply.github.com>
@MrGeva

MrGeva commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59281 [ run ] triggered by Bot. Commit: 6e0742c Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59281 [ run ] completed with state SUCCESS. Commit: 6e0742c
/LLM/main/L0_MergeRequest_PR pipeline #47768 completed with status: 'SUCCESS'

CI Report

Link to invocation

@MrGeva MrGeva changed the title [None][test] Move allreduce strategy test to smoke, use full-warp hidden_size [https://nvbugs/6403920][fix] Move allreduce strategy test to smoke, use full-warp hidden_size Jul 15, 2026
@MrGeva

MrGeva commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --stage-list "DGX_B200-4_GPUs-AutoDeploy-1" --disable-reuse-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59378 [ run ] triggered by Bot. Commit: 6e0742c Link to invocation

@ZhanruiSunCh ZhanruiSunCh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM for infra part.

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59448 [ run ] completed with state SUCCESS. Commit: 0d5ff18
/LLM/main/L0_MergeRequest_PR pipeline #47916 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

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

CI Agent Failure Analysis

Link to invocation

@MrGeva

MrGeva commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@yufeiwu-nv yufeiwu-nv removed their request for review July 16, 2026 05:47
@MrGeva

MrGeva commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59650 [ run ] triggered by Bot. Commit: 3806efd Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59650 [ run ] completed with state FAILURE. Commit: 3806efd
/LLM/main/L0_MergeRequest_PR pipeline #48085 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

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

CI Agent Failure Analysis

Link to invocation

@MrGeva

MrGeva commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59672 [ run ] triggered by Bot. Commit: 3806efd Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59672 [ run ] completed with state FAILURE. Commit: 3806efd
/LLM/main/L0_MergeRequest_PR pipeline #48105 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

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

CI Agent Failure Analysis

Link to invocation

@MrGeva

MrGeva commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59688 [ run ] triggered by Bot. Commit: 061e69d Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59688 [ run ] completed with state FAILURE. Commit: 061e69d
/LLM/main/L0_MergeRequest_PR pipeline #48123 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

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

CI Agent Failure Analysis

Link to invocation

@MrGeva

MrGeva commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59697 [ run ] triggered by Bot. Commit: 061e69d Link to invocation

@BowenFu BowenFu left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM — faithful relocation of the allreduce strategy test to the smoke dir; no test logic dropped, and the smoke dir is already registered so the test still runs.

@autoweave-bot

autoweave-bot commented Jul 16, 2026

Copy link
Copy Markdown

This looks like a great optimization pass, nice work! 🚀😌
Explore here →

Subweave map of nvidia/tensorrt-llm#16389

Maintainer? Turn off weaves from non-maintainers →
Carefully crafted by Subweave · 🧶 used ~16k LLM tokens

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59697 [ run ] completed with state SUCCESS. Commit: 061e69d
/LLM/main/L0_MergeRequest_PR pipeline #48128 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

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

CI Agent Failure Analysis

Link to invocation

@MrGeva MrGeva closed this Jul 16, 2026
auto-merge was automatically disabled July 16, 2026 14:54

Pull request was closed

@MrGeva MrGeva reopened this Jul 16, 2026
@MrGeva

MrGeva commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@MrGeva MrGeva enabled auto-merge (squash) July 16, 2026 14:54
@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59731 [ run ] triggered by Bot. Commit: 72ac8bc Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59731 [ run ] completed with state SUCCESS. Commit: 72ac8bc
/LLM/main/L0_MergeRequest_PR pipeline #48158 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

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

CI Agent Failure Analysis

Link to invocation

@MrGeva

MrGeva commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59753 [ run ] triggered by Bot. Commit: 72ac8bc Link to invocation

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.

10 participants