From 4b8564088b588192bdf5a282001c42e3a58f88e9 Mon Sep 17 00:00:00 2001 From: Anthony Shoumikhin Date: Tue, 14 Jan 2025 11:22:01 -0800 Subject: [PATCH 1/3] Update nightly builds version for Apple binaries. --- .github/workflows/apple.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/apple.yml b/.github/workflows/apple.yml index 8ac755bf5df..8349ddb4192 100644 --- a/.github/workflows/apple.yml +++ b/.github/workflows/apple.yml @@ -37,7 +37,7 @@ jobs: id: set_version shell: bash run: | - VERSION="0.4.0.$(TZ='PST8PDT' date +%Y%m%d)" + VERSION="0.5.0.$(TZ='PST8PDT' date +%Y%m%d)" echo "version=$VERSION" >> "$GITHUB_OUTPUT" build-demo-ios: From 18b3361f8ef60511e3bd6440e7b313d1116e3267 Mon Sep 17 00:00:00 2001 From: Anthony Shoumikhin Date: Tue, 14 Jan 2025 13:38:42 -0800 Subject: [PATCH 2/3] Update Apple binaries pin. --- .../ExecuTorchDemo/ExecuTorchDemo.xcodeproj/project.pbxproj | 2 +- .../demo-apps/apple_ios/LLaMA/LLaMA.xcodeproj/project.pbxproj | 2 +- .../react-native/rnllama/ios/rnllama.xcodeproj/project.pbxproj | 2 +- .../benchmark/apple/Benchmark/Frameworks/download_frameworks.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo.xcodeproj/project.pbxproj b/examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo.xcodeproj/project.pbxproj index aff4c7a74b7..f08d61396d2 100644 --- a/examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo.xcodeproj/project.pbxproj +++ b/examples/demo-apps/apple_ios/ExecuTorchDemo/ExecuTorchDemo.xcodeproj/project.pbxproj @@ -806,7 +806,7 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/pytorch/executorch"; requirement = { - branch = "swiftpm-0.4.0.20241120"; + branch = "swiftpm-0.5.0.20250130"; kind = branch; }; }; diff --git a/examples/demo-apps/apple_ios/LLaMA/LLaMA.xcodeproj/project.pbxproj b/examples/demo-apps/apple_ios/LLaMA/LLaMA.xcodeproj/project.pbxproj index 0145d7745fe..2cc93808799 100644 --- a/examples/demo-apps/apple_ios/LLaMA/LLaMA.xcodeproj/project.pbxproj +++ b/examples/demo-apps/apple_ios/LLaMA/LLaMA.xcodeproj/project.pbxproj @@ -808,7 +808,7 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/pytorch/executorch"; requirement = { - branch = "swiftpm-0.4.0.20241120"; + branch = "swiftpm-0.5.0.20250130"; kind = branch; }; }; diff --git a/examples/demo-apps/react-native/rnllama/ios/rnllama.xcodeproj/project.pbxproj b/examples/demo-apps/react-native/rnllama/ios/rnllama.xcodeproj/project.pbxproj index 489fa4d9f7b..1a587970640 100644 --- a/examples/demo-apps/react-native/rnllama/ios/rnllama.xcodeproj/project.pbxproj +++ b/examples/demo-apps/react-native/rnllama/ios/rnllama.xcodeproj/project.pbxproj @@ -947,7 +947,7 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/pytorch/executorch.git"; requirement = { - branch = "swiftpm-0.4.0.20241120"; + branch = "swiftpm-0.5.0.20250130"; kind = branch; }; }; diff --git a/extension/benchmark/apple/Benchmark/Frameworks/download_frameworks.sh b/extension/benchmark/apple/Benchmark/Frameworks/download_frameworks.sh index bb903c8d08b..6cd1a56a0f7 100755 --- a/extension/benchmark/apple/Benchmark/Frameworks/download_frameworks.sh +++ b/extension/benchmark/apple/Benchmark/Frameworks/download_frameworks.sh @@ -5,7 +5,7 @@ # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. -VERSION="0.4.0.20241120" +VERSION="0.5.0.20250130" FRAMEWORKS=( "backend_coreml" "backend_mps" From 3995a6ea2ae484e86be620cda10e4b27a177332a Mon Sep 17 00:00:00 2001 From: Anthony Shoumikhin Date: Thu, 30 Jan 2025 09:18:26 -0800 Subject: [PATCH 3/3] Update Aple binaries version in docs. --- docs/source/_static/img/swiftpm_xcode1.png | Bin 13185 -> 14486 bytes docs/source/apple-runtime.md | 4 ++-- .../LLaMA/docs/delegates/mps_README.md | 2 +- .../LLaMA/docs/delegates/xnnpack_README.md | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/_static/img/swiftpm_xcode1.png b/docs/source/_static/img/swiftpm_xcode1.png index 61859c38fac7a72ac96852a12c1c0d4a86d69a65..11b9c23782747d735561c5b9c1cd78a948266b3c 100644 GIT binary patch literal 14486 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 V!!pVcYT)TmlzlDpOUgLte*pG>`sV-u delta 12850 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 W_&Q4u{`4CNNKsZ*rcBE4>;D2*9H0sS diff --git a/docs/source/apple-runtime.md b/docs/source/apple-runtime.md index fe744add52e..4114b780607 100644 --- a/docs/source/apple-runtime.md +++ b/docs/source/apple-runtime.md @@ -25,7 +25,7 @@ The prebuilt ExecuTorch runtime, backend, and kernels are available as a [Swift #### Xcode -In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the [ExecuTorch repo](https://github.com/pytorch/executorch) into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version in format "swiftpm-", (e.g. "swiftpm-0.4.0"), or a branch name in format "swiftpm-." (e.g. "swiftpm-0.4.0-20241201") for a nightly build on a specific date. +In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the [ExecuTorch repo](https://github.com/pytorch/executorch) into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version in format "swiftpm-", (e.g. "swiftpm-0.5.0"), or a branch name in format "swiftpm-." (e.g. "swiftpm-0.5.0-20250130") for a nightly build on a specific date. ![](_static/img/swiftpm_xcode1.png) @@ -58,7 +58,7 @@ let package = Package( ], dependencies: [ // Use "swiftpm-." branch name for a nightly build. - .package(url: "https://github.com/pytorch/executorch.git", branch: "swiftpm-0.4.0") + .package(url: "https://github.com/pytorch/executorch.git", branch: "swiftpm-0.5.0") ], targets: [ .target( diff --git a/examples/demo-apps/apple_ios/LLaMA/docs/delegates/mps_README.md b/examples/demo-apps/apple_ios/LLaMA/docs/delegates/mps_README.md index bfe66bbd4e4..e1a1530acf9 100644 --- a/examples/demo-apps/apple_ios/LLaMA/docs/delegates/mps_README.md +++ b/examples/demo-apps/apple_ios/LLaMA/docs/delegates/mps_README.md @@ -76,7 +76,7 @@ sudo /Applications/CMake.app/Contents/bin/cmake-gui --install The prebuilt ExecuTorch runtime, backend, and kernels are available as a Swift PM package. ### Xcode -Open the project in Xcode.In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the ExecuTorch repo into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version, e.g., “0.4.0”, or just use the “latest” branch name for the latest stable build. +Open the project in Xcode.In Xcode, go to `File > Add Package Dependencies`. Paste the URL of the ExecuTorch repo into the search bar and select it. Make sure to change the branch name to the desired ExecuTorch version, e.g., “swiftpm-0.5.0”, or a branch name in format "swiftpm-." (e.g. "swiftpm-0.5.0-20250130") for a nightly build on a specific date. Note: If you're running into any issues related to package dependencies, quit Xcode entirely, delete the whole executorch repo, clean the caches by running the command below in terminal and clone the repo again. diff --git a/examples/demo-apps/apple_ios/LLaMA/docs/delegates/xnnpack_README.md b/examples/demo-apps/apple_ios/LLaMA/docs/delegates/xnnpack_README.md index b3576280426..784ebe50f8a 100644 --- a/examples/demo-apps/apple_ios/LLaMA/docs/delegates/xnnpack_README.md +++ b/examples/demo-apps/apple_ios/LLaMA/docs/delegates/xnnpack_README.md @@ -130,9 +130,9 @@ While we recommended using the latest prebuilt package pre-configured with the X Go to Project Navigator, click on LLaMA. `Project --> LLaMA --> Package Dependencies`, and update the package dependencies to any of the available options below: -- Branch --> swiftpm-0.4.0.20241120 (amend to match the latest nightly build) -- Branch --> 0.4.0 -- Branch --> 0.3.0 +- Branch --> swiftpm-0.5.0.20250130 (amend to match the latest nightly build) +- Branch --> swiftpm-0.5.0 +- Branch --> swiftpm-0.4.0 ### 2.2 Manually build the package locally and link them