From 79360a3461f980653d90d4f2a88306003983aa1b Mon Sep 17 00:00:00 2001 From: pmaybank <113125070+pmaybank@users.noreply.github.com> Date: Thu, 29 May 2025 16:41:38 +0100 Subject: [PATCH] [release/2.6] [SWDEV-529824] Fix Float16 CooperativeReduction Test Failure (#2204) - Previously expected values were calculated on GPU using same dtype as result values - Now expected values are calculated on CPU using Float32 dtype - This fixes a test failure that was observed on Navi48 where difference between Eager mode (expected) and Inductor / Triton (result) did not meet the error tolerance when sum was evaluated on an array of Float16 values Co-authored-by: pnikolic-amd --- test/inductor/test_cooperative_reductions.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/inductor/test_cooperative_reductions.py b/test/inductor/test_cooperative_reductions.py index 469ceec2e1b2..a913ffb25bf3 100644 --- a/test/inductor/test_cooperative_reductions.py +++ b/test/inductor/test_cooperative_reductions.py @@ -58,7 +58,8 @@ def setUp(self): torch._dynamo.reset() def run_and_check(self, fn, args, *, expect_kernel_count=1): - expected = fn(*args) + args_cpu = [tensor.cpu().to(torch.float32) for tensor in args] + expected = fn(*args_cpu).to(torch.float16) fn = torch.compile(fn, fullgraph=True) result, (source_code,) = run_and_get_code(fn, *args) self.assertEqual(result, expected)