From 2481aea368ef7dee0c767bd71abb941e7f3298bc Mon Sep 17 00:00:00 2001 From: handongl Date: Fri, 24 Jul 2026 05:14:02 -0700 Subject: [PATCH] [nvbugs/6501394][fix] Drop stale pytest.raises for uneven row-parallel Linear After #14875 ("Uneven TP Linear for VisualGen models") landed, ROW-parallel Linear with hidden_size not divisible by tp_size now works correctly via _auto_tp_sharding + _calc_shard. For hidden_size=15, tp_size=2 both torch.chunk(x, 2, dim=-1) and _calc_shard produce sizes [8, 7], and the subsequent AllReduce reconstructs the full output. Consequently the row_linear_forward accuracy check now passes for odd hidden sizes. The remaining "if hidden_size % 2 != 0: pytest.raises(AssertionError)" branch in test_row_linear is stale and produces "Failed: DID NOT RAISE". Assert unconditionally, matching the pattern already used by test_mlp / test_row_linear_norm_fusion / test_fp4_row_linear_allreduce. Signed-off-by: handongl --- tests/integration/test_lists/waives.txt | 1 - tests/unittest/_torch/multi_gpu/test_linear.py | 9 ++------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/tests/integration/test_lists/waives.txt b/tests/integration/test_lists/waives.txt index 6dc4776bb633..35cefb815362 100644 --- a/tests/integration/test_lists/waives.txt +++ b/tests/integration/test_lists/waives.txt @@ -352,7 +352,6 @@ unittest/_torch/modules/moe/test_moe_backend.py::test_moe_backend[act=Relu2-e60_ unittest/_torch/modules/moe/test_moe_module.py::test_configurable_moe_single_gpu -k "TRTLLM" SKIP (https://nvbugs/6464169) unittest/_torch/modules/tests_lora_modules/test_nemotron_h_lora_sanity.py::TestNemotronHLoRA::test_lora_pp2_sanity SKIP (https://nvbugs/6428124) unittest/_torch/multi_gpu/test_linear.py::test_row_linear[2-balanced] SKIP (https://nvbugs/6507113) -unittest/_torch/multi_gpu/test_linear.py::test_row_linear[2-unbalanced] SKIP (https://nvbugs/6501394) unittest/_torch/multi_gpu/test_linear.py::test_row_linear_norm_fusion[2-hidden:16-seqlen:2] SKIP (https://nvbugs/6501404) unittest/_torch/ray_orchestrator/multi_gpu/test_llm_update_weights_multi_gpu.py -m "part0" SKIP (https://nvbugs/6490036) unittest/_torch/ray_orchestrator/multi_gpu/test_llm_update_weights_multi_gpu.py -m "part1" SKIP (https://nvbugs/6490036) diff --git a/tests/unittest/_torch/multi_gpu/test_linear.py b/tests/unittest/_torch/multi_gpu/test_linear.py index 8452baa19e7c..1d816965e706 100644 --- a/tests/unittest/_torch/multi_gpu/test_linear.py +++ b/tests/unittest/_torch/multi_gpu/test_linear.py @@ -311,13 +311,8 @@ def test_row_linear(hidden_size, mpi_pool_executor): run_single_rank, *zip(*[(tensor_parallel_size, row_linear_forward, x, [l0_weight], hidden_size, dtype)] * 2)) - if hidden_size % 2 != 0: - with pytest.raises(AssertionError): - for r in results: - assert r is True - else: - for r in results: - assert r is True + for r in results: + assert r is True @pytest.mark.skipif(torch.cuda.device_count() < 2,