From 227817825cb388fc8c2b482091fdbd80783bf50f Mon Sep 17 00:00:00 2001 From: RJ Ascani Date: Tue, 5 May 2026 10:20:41 -0700 Subject: [PATCH] Remove deprecated MPS backend test from iOS demo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The MPS backend was deprecated for removal in ExecuTorch 1.4 by pytorch/executorch#18425, and the iOS demo's `testV3WithMPSBackend()` has been intermittently failing on the `macos-14-xlarge` runner pool since around the same time. The failure pattern (3 isolated reds sandwiched between many greens, fp16-only model, tight confidence thresholds shared with the fp32 backends) points at iOS-simulator MPS shader precision drift rather than an executorch regression — the MPS runtime code in pytorch/executorch hasn't materially changed since the deprecation. Drop the test rather than chase numerical noise on a backend that is slated for removal. CoreML is the recommended replacement for iOS GPU acceleration per the deprecation guidance, and `testV3WithCoreMLBackend` already exercises that path on the same model. A companion change to pytorch/executorch's `.ci/scripts/test_ios_ci.sh` removes the matching `mps_example.py` export step so the build doesn't produce an unused `.pte`. Authored with Claude Code. --- .../Sources/MobileNet/Test/MobileNetClassifierTest.swift | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mv3/apple/ExecuTorchDemo/ExecuTorchDemo/Sources/MobileNet/Test/MobileNetClassifierTest.swift b/mv3/apple/ExecuTorchDemo/ExecuTorchDemo/Sources/MobileNet/Test/MobileNetClassifierTest.swift index 7936699bb9..0738d293f1 100644 --- a/mv3/apple/ExecuTorchDemo/ExecuTorchDemo/Sources/MobileNet/Test/MobileNetClassifierTest.swift +++ b/mv3/apple/ExecuTorchDemo/ExecuTorchDemo/Sources/MobileNet/Test/MobileNetClassifierTest.swift @@ -21,10 +21,6 @@ final class MobileNetClassifierTest: XCTestCase { try run(model: "mv3_coreml_all") } - func testV3WithMPSBackend() throws { - try run(model: "mv3_mps_float16") - } - func testV3WithXNNPACKBackend() throws { try run(model: "mv3_xnnpack_fp32") }