Skip to content

Commit 01c2f36

Browse files
authored
Use locally built frameworks for Benchmark app (#8854)
1 parent 86dcc3e commit 01c2f36

File tree

4 files changed

+64
-129
lines changed

4 files changed

+64
-129
lines changed

.github/workflows/apple-perf.yml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -386,25 +386,8 @@ jobs:
386386
echo "::endgroup::"
387387
388388
echo "::group::Build ExecuTorch iOS frameworks"
389-
FRAMEWORKS=(
390-
"executorch"
391-
"backend_coreml"
392-
"backend_mps"
393-
"backend_xnnpack"
394-
"kernels_custom"
395-
"kernels_optimized"
396-
"kernels_portable"
397-
"kernels_quantized"
398-
)
399-
400-
# Build Release iOS Frameworks
401389
PYTHON_EXECUTABLE=python ${CONDA_RUN} --no-capture-output \
402-
build/build_apple_frameworks.sh --coreml --custom --mps --optimized --portable --quantized --xnnpack
403-
404-
mkdir -p extension/benchmark/apple/Benchmark/Frameworks
405-
for FRAMEWORK in "${FRAMEWORKS[@]}"; do (
406-
cp -r "cmake-out/${FRAMEWORK}.xcframework" extension/benchmark/apple/Benchmark/Frameworks/
407-
) done
390+
build/build_apple_frameworks.sh --Release --Debug --coreml --custom --mps --optimized --portable --quantized --xnnpack
408391
echo "::endgroup::"
409392
410393
# NB: Although exported models can be copied to this directory and bundled together with the

.github/workflows/apple.yml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -312,25 +312,8 @@ jobs:
312312
echo "::endgroup::"
313313
314314
echo "::group::Build ExecuTorch iOS frameworks"
315-
FRAMEWORKS=(
316-
"executorch"
317-
"backend_coreml"
318-
"backend_mps"
319-
"backend_xnnpack"
320-
"kernels_custom"
321-
"kernels_optimized"
322-
"kernels_portable"
323-
"kernels_quantized"
324-
)
325-
326-
# Build Release iOS Frameworks
327315
PYTHON_EXECUTABLE=python ${CONDA_RUN} --no-capture-output \
328-
build/build_apple_frameworks.sh --coreml --custom --mps --optimized --portable --quantized --xnnpack
329-
330-
mkdir -p extension/benchmark/apple/Benchmark/Frameworks
331-
for FRAMEWORK in "${FRAMEWORKS[@]}"; do (
332-
cp -r "cmake-out/${FRAMEWORK}.xcframework" extension/benchmark/apple/Benchmark/Frameworks/
333-
) done
316+
build/build_apple_frameworks.sh --Release --Debug --coreml --custom --mps --optimized --portable --quantized --xnnpack
334317
echo "::endgroup::"
335318
336319
echo "::group::Build ExecuTorch benchmark app"

extension/benchmark/apple/Benchmark/Benchmark.xcodeproj/project.pbxproj

Lines changed: 62 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 56;
6+
objectVersion = 60;
77
objects = {
88

99
/* Begin PBXBuildFile section */
@@ -20,21 +20,15 @@
2020
03B011912CAD114E00054791 /* ResourceTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 03B011902CAD114E00054791 /* ResourceTestCase.m */; };
2121
03B2D3682C8A515A0046936E /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03B2D3672C8A515A0046936E /* App.swift */; };
2222
03B2D37A2C8A515C0046936E /* GenericTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 03B2D3792C8A515C0046936E /* GenericTests.mm */; };
23-
03DD00A92C8FE44600FE4619 /* backend_coreml.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DD00992C8FE44600FE4619 /* backend_coreml.xcframework */; };
24-
03DD00AA2C8FE44600FE4619 /* kernels_custom.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DD009A2C8FE44600FE4619 /* kernels_custom.xcframework */; };
25-
03DD00AF2C8FE44600FE4619 /* kernels_portable.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DD009F2C8FE44600FE4619 /* kernels_portable.xcframework */; };
26-
03DD00B02C8FE44600FE4619 /* kernels_optimized.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DD00A02C8FE44600FE4619 /* kernels_optimized.xcframework */; };
27-
03DD00B12C8FE44600FE4619 /* backend_xnnpack.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DD00A12C8FE44600FE4619 /* backend_xnnpack.xcframework */; };
28-
03DD00B22C8FE44600FE4619 /* backend_mps.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DD00A22C8FE44600FE4619 /* backend_mps.xcframework */; };
29-
03DD00B32C8FE44600FE4619 /* executorch.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DD00A32C8FE44600FE4619 /* executorch.xcframework */; settings = {ATTRIBUTES = (Required, ); }; };
30-
03DD00B52C8FE44600FE4619 /* kernels_quantized.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DD00A52C8FE44600FE4619 /* kernels_quantized.xcframework */; };
3123
03E7E6792CBDCAE900205E71 /* CoreMLTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 03E7E6782CBDC1C900205E71 /* CoreMLTests.mm */; };
32-
03ED6D0F2C8AAFE900F2D6EE /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 03ED6D0E2C8AAFE900F2D6EE /* libsqlite3.0.tbd */; };
33-
03ED6D112C8AAFF200F2D6EE /* MetalPerformanceShadersGraph.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03ED6D102C8AAFF200F2D6EE /* MetalPerformanceShadersGraph.framework */; };
34-
03ED6D132C8AAFF700F2D6EE /* MetalPerformanceShaders.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03ED6D122C8AAFF700F2D6EE /* MetalPerformanceShaders.framework */; };
35-
03ED6D152C8AAFFF00F2D6EE /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03ED6D142C8AAFFF00F2D6EE /* Metal.framework */; };
36-
03ED6D172C8AB00500F2D6EE /* CoreML.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03ED6D162C8AB00500F2D6EE /* CoreML.framework */; };
37-
03ED6D192C8AB00A00F2D6EE /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03ED6D182C8AB00A00F2D6EE /* Accelerate.framework */; };
24+
03F1814E2D7262FC0058BDF9 /* backend_coreml in Frameworks */ = {isa = PBXBuildFile; productRef = 03F1814D2D7262FC0058BDF9 /* backend_coreml */; };
25+
03F181502D7262FC0058BDF9 /* backend_mps in Frameworks */ = {isa = PBXBuildFile; productRef = 03F1814F2D7262FC0058BDF9 /* backend_mps */; };
26+
03F181522D7262FC0058BDF9 /* backend_xnnpack in Frameworks */ = {isa = PBXBuildFile; productRef = 03F181512D7262FC0058BDF9 /* backend_xnnpack */; };
27+
03F181542D7262FC0058BDF9 /* executorch in Frameworks */ = {isa = PBXBuildFile; productRef = 03F181532D7262FC0058BDF9 /* executorch */; };
28+
03F181562D7262FC0058BDF9 /* kernels_custom in Frameworks */ = {isa = PBXBuildFile; productRef = 03F181552D7262FC0058BDF9 /* kernels_custom */; };
29+
03F181582D7262FC0058BDF9 /* kernels_optimized in Frameworks */ = {isa = PBXBuildFile; productRef = 03F181572D7262FC0058BDF9 /* kernels_optimized */; };
30+
03F1815A2D7262FC0058BDF9 /* kernels_portable in Frameworks */ = {isa = PBXBuildFile; productRef = 03F181592D7262FC0058BDF9 /* kernels_portable */; };
31+
03F1815C2D7262FC0058BDF9 /* kernels_quantized in Frameworks */ = {isa = PBXBuildFile; productRef = 03F1815B2D7262FC0058BDF9 /* kernels_quantized */; };
3832
/* End PBXBuildFile section */
3933

4034
/* Begin PBXContainerItemProxy section */
@@ -83,21 +77,7 @@
8377
03B2D3752C8A515C0046936E /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
8478
03B2D3792C8A515C0046936E /* GenericTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = GenericTests.mm; sourceTree = "<group>"; };
8579
03C7FA322C8AA24200E6E9AE /* Resources */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Resources; sourceTree = SOURCE_ROOT; };
86-
03DD00992C8FE44600FE4619 /* backend_coreml.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = backend_coreml.xcframework; path = Frameworks/backend_coreml.xcframework; sourceTree = "<group>"; };
87-
03DD009A2C8FE44600FE4619 /* kernels_custom.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = kernels_custom.xcframework; path = Frameworks/kernels_custom.xcframework; sourceTree = "<group>"; };
88-
03DD009F2C8FE44600FE4619 /* kernels_portable.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = kernels_portable.xcframework; path = Frameworks/kernels_portable.xcframework; sourceTree = "<group>"; };
89-
03DD00A02C8FE44600FE4619 /* kernels_optimized.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = kernels_optimized.xcframework; path = Frameworks/kernels_optimized.xcframework; sourceTree = "<group>"; };
90-
03DD00A12C8FE44600FE4619 /* backend_xnnpack.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = backend_xnnpack.xcframework; path = Frameworks/backend_xnnpack.xcframework; sourceTree = "<group>"; };
91-
03DD00A22C8FE44600FE4619 /* backend_mps.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = backend_mps.xcframework; path = Frameworks/backend_mps.xcframework; sourceTree = "<group>"; };
92-
03DD00A32C8FE44600FE4619 /* executorch.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = executorch.xcframework; path = Frameworks/executorch.xcframework; sourceTree = "<group>"; };
93-
03DD00A52C8FE44600FE4619 /* kernels_quantized.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = kernels_quantized.xcframework; path = Frameworks/kernels_quantized.xcframework; sourceTree = "<group>"; };
9480
03E7E6782CBDC1C900205E71 /* CoreMLTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CoreMLTests.mm; sourceTree = "<group>"; };
95-
03ED6D0E2C8AAFE900F2D6EE /* libsqlite3.0.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.0.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/lib/libsqlite3.0.tbd; sourceTree = DEVELOPER_DIR; };
96-
03ED6D102C8AAFF200F2D6EE /* MetalPerformanceShadersGraph.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalPerformanceShadersGraph.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/System/Library/Frameworks/MetalPerformanceShadersGraph.framework; sourceTree = DEVELOPER_DIR; };
97-
03ED6D122C8AAFF700F2D6EE /* MetalPerformanceShaders.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalPerformanceShaders.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/System/Library/Frameworks/MetalPerformanceShaders.framework; sourceTree = DEVELOPER_DIR; };
98-
03ED6D142C8AAFFF00F2D6EE /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/System/Library/Frameworks/Metal.framework; sourceTree = DEVELOPER_DIR; };
99-
03ED6D162C8AB00500F2D6EE /* CoreML.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreML.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/System/Library/Frameworks/CoreML.framework; sourceTree = DEVELOPER_DIR; };
100-
03ED6D182C8AB00A00F2D6EE /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; };
10181
/* End PBXFileReference section */
10282

10383
/* Begin PBXFrameworksBuildPhase section */
@@ -112,20 +92,14 @@
11292
isa = PBXFrameworksBuildPhase;
11393
buildActionMask = 2147483647;
11494
files = (
115-
03ED6D192C8AB00A00F2D6EE /* Accelerate.framework in Frameworks */,
116-
03ED6D172C8AB00500F2D6EE /* CoreML.framework in Frameworks */,
117-
03ED6D152C8AAFFF00F2D6EE /* Metal.framework in Frameworks */,
118-
03ED6D132C8AAFF700F2D6EE /* MetalPerformanceShaders.framework in Frameworks */,
119-
03ED6D112C8AAFF200F2D6EE /* MetalPerformanceShadersGraph.framework in Frameworks */,
120-
03ED6D0F2C8AAFE900F2D6EE /* libsqlite3.0.tbd in Frameworks */,
121-
03DD00A92C8FE44600FE4619 /* backend_coreml.xcframework in Frameworks */,
122-
03DD00B22C8FE44600FE4619 /* backend_mps.xcframework in Frameworks */,
123-
03DD00B12C8FE44600FE4619 /* backend_xnnpack.xcframework in Frameworks */,
124-
03DD00B32C8FE44600FE4619 /* executorch.xcframework in Frameworks */,
125-
03DD00AA2C8FE44600FE4619 /* kernels_custom.xcframework in Frameworks */,
126-
03DD00B02C8FE44600FE4619 /* kernels_optimized.xcframework in Frameworks */,
127-
03DD00AF2C8FE44600FE4619 /* kernels_portable.xcframework in Frameworks */,
128-
03DD00B52C8FE44600FE4619 /* kernels_quantized.xcframework in Frameworks */,
95+
03F181542D7262FC0058BDF9 /* executorch in Frameworks */,
96+
03F1815C2D7262FC0058BDF9 /* kernels_quantized in Frameworks */,
97+
03F181502D7262FC0058BDF9 /* backend_mps in Frameworks */,
98+
03F1814E2D7262FC0058BDF9 /* backend_coreml in Frameworks */,
99+
03F181522D7262FC0058BDF9 /* backend_xnnpack in Frameworks */,
100+
03F181562D7262FC0058BDF9 /* kernels_custom in Frameworks */,
101+
03F1815A2D7262FC0058BDF9 /* kernels_portable in Frameworks */,
102+
03F181582D7262FC0058BDF9 /* kernels_optimized in Frameworks */,
129103
);
130104
runOnlyForDeploymentPostprocessing = 0;
131105
};
@@ -204,7 +178,6 @@
204178
isa = PBXGroup;
205179
children = (
206180
03B2D3662C8A515A0046936E /* App */,
207-
03ED6CEB2C8AAF5300F2D6EE /* Frameworks */,
208181
03C7FA322C8AA24200E6E9AE /* Resources */,
209182
03B2D3782C8A515C0046936E /* Tests */,
210183
03B0118D2CAC567900054791 /* TestUtils */,
@@ -242,27 +215,6 @@
242215
path = Tests;
243216
sourceTree = SOURCE_ROOT;
244217
};
245-
03ED6CEB2C8AAF5300F2D6EE /* Frameworks */ = {
246-
isa = PBXGroup;
247-
children = (
248-
03ED6D182C8AB00A00F2D6EE /* Accelerate.framework */,
249-
03ED6D162C8AB00500F2D6EE /* CoreML.framework */,
250-
03ED6D142C8AAFFF00F2D6EE /* Metal.framework */,
251-
03ED6D122C8AAFF700F2D6EE /* MetalPerformanceShaders.framework */,
252-
03ED6D102C8AAFF200F2D6EE /* MetalPerformanceShadersGraph.framework */,
253-
03ED6D0E2C8AAFE900F2D6EE /* libsqlite3.0.tbd */,
254-
03DD00992C8FE44600FE4619 /* backend_coreml.xcframework */,
255-
03DD00A22C8FE44600FE4619 /* backend_mps.xcframework */,
256-
03DD00A12C8FE44600FE4619 /* backend_xnnpack.xcframework */,
257-
03DD00A32C8FE44600FE4619 /* executorch.xcframework */,
258-
03DD009A2C8FE44600FE4619 /* kernels_custom.xcframework */,
259-
03DD00A02C8FE44600FE4619 /* kernels_optimized.xcframework */,
260-
03DD009F2C8FE44600FE4619 /* kernels_portable.xcframework */,
261-
03DD00A52C8FE44600FE4619 /* kernels_quantized.xcframework */,
262-
);
263-
name = Frameworks;
264-
sourceTree = SOURCE_ROOT;
265-
};
266218
/* End PBXGroup section */
267219

268220
/* Begin PBXNativeTarget section */
@@ -329,6 +281,9 @@
329281
Base,
330282
);
331283
mainGroup = 03B2D35B2C8A515A0046936E;
284+
packageReferences = (
285+
03F1814C2D7262FC0058BDF9 /* XCLocalSwiftPackageReference "../../../.." */,
286+
);
332287
productRefGroup = 03B2D3652C8A515A0046936E /* Products */;
333288
projectDirPath = "";
334289
projectRoot = "";
@@ -671,6 +626,48 @@
671626
defaultConfigurationName = Release;
672627
};
673628
/* End XCConfigurationList section */
629+
630+
/* Begin XCLocalSwiftPackageReference section */
631+
03F1814C2D7262FC0058BDF9 /* XCLocalSwiftPackageReference "../../../.." */ = {
632+
isa = XCLocalSwiftPackageReference;
633+
relativePath = ../../../..;
634+
};
635+
/* End XCLocalSwiftPackageReference section */
636+
637+
/* Begin XCSwiftPackageProductDependency section */
638+
03F1814D2D7262FC0058BDF9 /* backend_coreml */ = {
639+
isa = XCSwiftPackageProductDependency;
640+
productName = backend_coreml;
641+
};
642+
03F1814F2D7262FC0058BDF9 /* backend_mps */ = {
643+
isa = XCSwiftPackageProductDependency;
644+
productName = backend_mps;
645+
};
646+
03F181512D7262FC0058BDF9 /* backend_xnnpack */ = {
647+
isa = XCSwiftPackageProductDependency;
648+
productName = backend_xnnpack;
649+
};
650+
03F181532D7262FC0058BDF9 /* executorch */ = {
651+
isa = XCSwiftPackageProductDependency;
652+
productName = executorch;
653+
};
654+
03F181552D7262FC0058BDF9 /* kernels_custom */ = {
655+
isa = XCSwiftPackageProductDependency;
656+
productName = kernels_custom;
657+
};
658+
03F181572D7262FC0058BDF9 /* kernels_optimized */ = {
659+
isa = XCSwiftPackageProductDependency;
660+
productName = kernels_optimized;
661+
};
662+
03F181592D7262FC0058BDF9 /* kernels_portable */ = {
663+
isa = XCSwiftPackageProductDependency;
664+
productName = kernels_portable;
665+
};
666+
03F1815B2D7262FC0058BDF9 /* kernels_quantized */ = {
667+
isa = XCSwiftPackageProductDependency;
668+
productName = kernels_quantized;
669+
};
670+
/* End XCSwiftPackageProductDependency section */
674671
};
675672
rootObject = 03B2D35C2C8A515A0046936E /* Project object */;
676673
}

extension/benchmark/apple/Benchmark/Frameworks/download_frameworks.sh

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)