Skip to content

[OMNIML-6228] Run the GPTQ Hessian dp-sync test on the pooled gloo workers - #3064

Merged
shengliangxu merged 1 commit into
mainfrom
shengliangx/ci-gptq-pool
Oct 27, 2026
Merged

shengliangxu merged 1 commit into
mainfrom
shengliangx/ci-gptq-pool

Conversation

@shengliangxu

@shengliangxu shengliangxu commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

What does this PR do?

Type of change: CI (fewer runner stops in the unit job)

test_gptq_hessian_dp_sync spawned its own two-process gloo group (spawn_multiprocess_job) next to the persistent two-rank pool that cpu_dist_workers keeps for the other multi-rank unit tests. This PR runs the same job on the pool (cpu_dist_workers.run); the test body is unchanged.

Why. The torch_28 unit job (16 GB hosted runner) is stopped by the runner ("The runner has received a shutdown signal"), and this test is in flight every time. These are not the stops #2947 fixed (the conv/IsInf ONNX tests, mid-run).

multi-version (unit-3.12(torch_28, tf_latest)), attempts since 10-26 00:00 UTC
finished attempts 426
runner stops 13 (3.1%)
progress of the run at the stop 97 to 99%
test_gptq_hessian_dp_sync in flight at the stop 13 of 13

Effect. With a live pool the spawn adds two processes that re-import torch and modelopt; the pooled job adds none:

test_dist.py::test_data_parallel (builds the pool), then the dp-sync test; local CPU, two runs each processes at the peak peak RSS peak PSS wall time
before: spawn 6 5.35 and 5.38 GiB 3.76 and 3.76 GiB 72 and 58 s
after: pool 4 3.26 and 3.24 GiB 2.42 and 2.43 GiB 44 and 45 s

The saving applies when the xdist worker that runs the test already has a live pool; if it has none, the pool is built instead of the spawn (the same cost) and stays for the rest of the run.

Testing

  • tests/unit/torch/quantization/test_gptq.py: 7 passed; run together with test_dist.py (which shares the pool): passes.
  • Memory and time: the table above.
  • Not run: the full torch_28 unit job locally. Whether the stop rate drops is seen in the torch_28 attempts of the next days.

Before your PR is "Ready for review"

Make sure you read and follow Contributor guidelines and your commits are signed (git commit -s -S).

Make sure you read and follow the Security Best Practices (e.g. avoiding hardcoded trust_remote_code=True, torch.load(..., weights_only=False), pickle, etc.).

  • Is this change backward compatible?: N/A (unit test only)
  • If you copied code from any other sources or added a new PIP dependency, did you follow guidance in CONTRIBUTING.md: N/A
  • Did you write any new necessary tests?: N/A (changes how an existing test runs)
  • Did you update Changelog?: N/A (CI)
  • Did you get Claude approval on this PR?: N/A (not run yet)

Additional Information

Jira: [OMNIML-6228] (flaky-test cleanup, the torch_28 stops).

Summary by CodeRabbit

  • Tests
    • Updated the distributed GPTQ Hessian synchronization test to use the standard CPU worker setup and cover uneven token counts, including a worker with zero tokens. This change affects test execution only; no user-facing functionality was changed.

The test spawned its own two-process gloo group next to the persistent two-rank pool that
`cpu_dist_workers` keeps for the other multi-rank unit tests. It was in flight in all 13 runner stops of
the `torch_28` unit job since 10-26 (3.1% of its attempts), always at 97-99% of the run, where the 16 GB
runner is nearly full. With a live pool the spawn adds two processes and about 2 GiB of RSS; the test now
runs on the pool like the other multi-rank tests.

Signed-off-by: Shengliang Xu <shengliangx@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 27, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between dfd89ce and e6fdedd.

Files selected for processing: 1
  • tests/unit/torch/quantization/test_gptq.py

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

Walkthrough

The GPTQ distributed Hessian synchronization test now uses the cpu_dist_workers fixture. The test removes the direct multiprocess spawn call, its gloo backend argument, and the skip_on_windows parameter.

Changes: GPTQ Hessian synchronization test

Layer / File(s) Summary
Use the CPU distributed workers fixture
tests/unit/torch/quantization/test_gptq.py
The test removes the partial and spawn_multiprocess_job imports. It uses cpu_dist_workers to run the helper with token counts (5, 0).

Priority: Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Other

Suggested reviewers: kevalmorabia97, cjluo-nv

Merge Risk: Minimal · up to e6fde

This change only reuses the persistent distributed worker fixture for the existing test, with no established product or production risk.

Pre-merge checks: Passed 6
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: running the GPTQ Hessian data-parallel synchronization test on the pooled Gloo workers.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within survi…
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.
Security Anti-Patterns Passed PASS. The pull request changes only tests/unit/torch/quantization/test_gptq.py. It does not change Python files under the modelopt package or examples, so none of the specified security anti-pat…
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 1 files.

Full details: Security Anti-Patterns

Explanation

PASS. The pull request changes only tests/unit/torch/quantization/test_gptq.py. It does not change Python files under the modelopt package or examples, so none of the specified security anti-pattern conditions apply to this pull request.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@codecov

codecov Bot commented Oct 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.99%. Comparing base (dfd89ce) to head (e6fdedd).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3064   +/-   ##
=======================================
  Coverage   79.99%   79.99%           
=======================================
  Files         661      661           
  Lines       75580    75580           
=======================================
  Hits        60458    60458           
  Misses      15122    15122           
Flag Coverage Δ
unit 61.50% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@shengliangxu
shengliangxu marked this pull request as ready for review October 27, 2026 19:03
@shengliangxu
shengliangxu requested a review from a team as a code owner October 27, 2026 19:03
@shengliangxu
shengliangxu merged commit 90f560d into main Oct 27, 2026
45 checks passed
@shengliangxu
shengliangxu deleted the shengliangx/ci-gptq-pool branch October 27, 2026 21:04
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-27 21:04 UTC

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.

2 participants