pytorch - ✅(Solved) Fix AArch64 Unit Test Failure - test_jit_autocast [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
pytorch/pytorch#177247Fetched 2026-04-08 00:42:53
View on GitHub
Comments
0
Participants
1
Timeline
39
Reactions
0
Participants
Timeline (top)
referenced ×15mentioned ×10subscribed ×10labeled ×3

Error Message

Traceback (most recent call last): File "/builds/software-machine-learning-infra-frameworks-workspaces-robhar02/pytorch/test/test_jit_autocast.py", line 841, in test_nhwc_autocast_jit_trace_model test_nhwc_autocast_jit_trace_model(self.models[i], self.inputs[i]) File "/builds/software-machine-learning-infra-frameworks-workspaces-robhar02/pytorch/test/test_jit_autocast.py", line 836, in test_nhwc_autocast_jit_trace_model torch.testing.assert_close(y.double(), y2.double(), rtol=1e-03, atol=1e-03) File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_comparison.py", line 1598, in assert_close raise error_metas[0].to_error(msg) AssertionError: Tensor-likes are not close!

Mismatched elements: 4 / 24332288 (0.0%) Greatest absolute difference: 0.958984375 at index (15, 34, 32, 85) (up to 0.001 allowed) Greatest relative difference: 1.8993288590604027 at index (15, 35, 32, 84) (up to 0.001 allowed)

To execute this test, run the following from the base repo dir: python test/test_jit_autocast.py TestJitTraceAutocast.test_nhwc_autocast_jit_trace_model

Fix Action

Fixed

PR fix notes

PR #177584: Add AArch64 xfails for inductor, nn, jit, and linalg tests

Description (problem / solution / changelog)

Stack from ghstack (oldest at bottom):

  • -> #177584

This PR marks all known unit test failures for AArch64 as xfail or skip with a small code comment referencing the github issues. The test files affected are also added to the linux-aarch64 unit test suite.

Once this PR has been merged we should be able to run ALL unit tests on all AArch64 cpus without any reported failures ( this will be a follow up PR ).

Related PRs #177243, #177244, #177245, #177247, #177249, #177250, #177251, #177254, #177255, #177258, #177264, #170787, #146483, #177327

cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @ipiszy @kadeng @muchulee8 @amjames @chauhang @aakhundov @coconutruben @jataylo @fadara01 @aditew01 @nikhil-arm @milpuz01

Changed files

  • .ci/pytorch/test.sh (modified, +3/-0)
  • test/inductor/test_aot_inductor.py (modified, +7/-0)
  • test/inductor/test_cpu_repro.py (modified, +8/-0)
  • test/inductor/test_cpu_select_algorithm.py (modified, +8/-0)
  • test/inductor/test_fused_attention.py (modified, +14/-3)
  • test/inductor/test_torchinductor.py (modified, +5/-1)
  • test/inductor/test_torchinductor_opinfo.py (modified, +6/-2)
  • test/jit/test_freezing.py (modified, +4/-0)
  • test/nn/test_convolution.py (modified, +6/-0)
  • test/test_jit.py (modified, +4/-2)
  • test/test_jit_autocast.py (modified, +13/-1)
  • test/test_nn.py (modified, +4/-1)
  • torch/testing/_internal/common_methods_invocations.py (modified, +11/-0)
  • torch/testing/_internal/opinfo/definitions/linalg.py (modified, +21/-0)

Code Example

Traceback (most recent call last):
  File "/builds/software-machine-learning-infra-frameworks-workspaces-robhar02/pytorch/test/test_jit_autocast.py", line 841, in test_nhwc_autocast_jit_trace_model
    test_nhwc_autocast_jit_trace_model(self.models[i], self.inputs[i])
  File "/builds/software-machine-learning-infra-frameworks-workspaces-robhar02/pytorch/test/test_jit_autocast.py", line 836, in test_nhwc_autocast_jit_trace_model
    torch.testing.assert_close(y.double(), y2.double(), rtol=1e-03, atol=1e-03)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_comparison.py", line 1598, in assert_close
    raise error_metas[0].to_error(msg)
AssertionError: Tensor-likes are not close!

Mismatched elements: 4 / 24332288 (0.0%)
Greatest absolute difference: 0.958984375 at index (15, 34, 32, 85) (up to 0.001 allowed)
Greatest relative difference: 1.8993288590604027 at index (15, 35, 32, 84) (up to 0.001 allowed)

To execute this test, run the following from the base repo dir:
    python test/test_jit_autocast.py TestJitTraceAutocast.test_nhwc_autocast_jit_trace_model
RAW_BUFFERClick to expand / collapse

🐛 Describe the bug

There are 2 tests which have a similar problem

TestJitTraceAutocast test_nhwc_autocast_jit_trace_model and TestJitTraceAutocast test_nchw_autocast_jit_trace_model

Stracktrace

Traceback (most recent call last):
  File "/builds/software-machine-learning-infra-frameworks-workspaces-robhar02/pytorch/test/test_jit_autocast.py", line 841, in test_nhwc_autocast_jit_trace_model
    test_nhwc_autocast_jit_trace_model(self.models[i], self.inputs[i])
  File "/builds/software-machine-learning-infra-frameworks-workspaces-robhar02/pytorch/test/test_jit_autocast.py", line 836, in test_nhwc_autocast_jit_trace_model
    torch.testing.assert_close(y.double(), y2.double(), rtol=1e-03, atol=1e-03)
  File "/opt/conda/envs/py_3.10/lib/python3.10/site-packages/torch/testing/_comparison.py", line 1598, in assert_close
    raise error_metas[0].to_error(msg)
AssertionError: Tensor-likes are not close!

Mismatched elements: 4 / 24332288 (0.0%)
Greatest absolute difference: 0.958984375 at index (15, 34, 32, 85) (up to 0.001 allowed)
Greatest relative difference: 1.8993288590604027 at index (15, 35, 32, 84) (up to 0.001 allowed)

To execute this test, run the following from the base repo dir:
    python test/test_jit_autocast.py TestJitTraceAutocast.test_nhwc_autocast_jit_trace_model

Applies to Neoverse-V2 only

Versions

Commit - https://github.com/pytorch/pytorch/commit/08b6f48d871affbc7abe9277020aed882fdf110a

cc @EikanWang @jgong5 @wenzhe-nrv @sanchitintel @snadampal @milpuz01 @aditew01 @nikhil-arm @fadara01 @nWEIdia

extent analysis

Fix Plan

The fix involves modifying the test_nhwc_autocast_jit_trace_model and test_nchw_autocast_jit_trace_model tests to account for the numerical precision issues on Neoverse-V2.

  • Update the rtol and atol values in the torch.testing.assert_close function to accommodate the observed differences:
torch.testing.assert_close(y.double(), y2.double(), rtol=1e-02, atol=1e-02)
  • Alternatively, use a more robust comparison method, such as torch.testing.assert_allclose with a custom tolerance:
torch.testing.assert_allclose(y.double(), y2.double(), rtol=1e-02, atol=1e-02)
  • Consider adding a platform-specific check to adjust the tolerance values only for Neoverse-V2:
if torch.backends.arm.platform == 'Neoverse-V2':
    rtol = 1e-02
    atol = 1e-02
else:
    rtol = 1e-03
    atol = 1e-03
torch.testing.assert_close(y.double(), y2.double(), rtol=rtol, atol=atol)

Verification

To verify the fix, re-run the affected tests:

python test/test_jit_autocast.py TestJitTraceAutocast.test_nhwc_autocast_jit_trace_model
python test/test_jit_autocast.py TestJitTraceAutocast.test_nchw_autocast_jit_trace_model

If the tests pass, the fix is successful. Otherwise, further investigation may be needed to adjust the tolerance values or identify other issues.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING