Skip to content

Commit c9003ce

Browse files
committed
ci : try fix ios build
1 parent 2df7e32 commit c9003ce

File tree

3 files changed

+40
-18
lines changed

3 files changed

+40
-18
lines changed

.github/workflows/build.yml

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1106,16 +1106,38 @@ jobs:
11061106
path: llama-${{ steps.tag.outputs.name }}-bin-win-hip-x64-${{ matrix.gpu_target }}.zip
11071107
name: llama-bin-win-hip-x64-${{ matrix.gpu_target }}.zip
11081108

1109-
# TODO: use CMake to build the SPM and use it in the project
1110-
# ios-xcode-build:
1111-
# runs-on: macos-latest
1112-
#
1113-
# steps:
1114-
# - name: Checkout code
1115-
# uses: actions/checkout@v4
1116-
#
1117-
# - name: Build Xcode project
1118-
# run: xcodebuild -project examples/llama.swiftui/llama.swiftui.xcodeproj -scheme llama.swiftui -sdk iphoneos CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= -destination 'generic/platform=iOS' build
1109+
ios-xcode-build:
1110+
runs-on: macos-latest
1111+
1112+
steps:
1113+
- name: Checkout code
1114+
uses: actions/checkout@v4
1115+
1116+
- name: Build
1117+
id: cmake_build
1118+
run: |
1119+
sysctl -a
1120+
mkdir build
1121+
cd build
1122+
cmake -G Xcode .. \
1123+
-DGGML_METAL_USE_BF16=ON \
1124+
-DGGML_METAL_EMBED_LIBRARY=ON \
1125+
-DLLAMA_BUILD_EXAMPLES=OFF \
1126+
-DLLAMA_BUILD_TESTS=OFF \
1127+
-DLLAMA_BUILD_SERVER=OFF \
1128+
-DCMAKE_SYSTEM_NAME=tvOS \
1129+
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
1130+
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
1131+
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
1132+
sudo cmake --install . --config Release
1133+
1134+
- name: xcodebuild for swift package
1135+
id: xcodebuild
1136+
run: |
1137+
xcodebuild -scheme llama-Package -destination "${{ matrix.destination }}"
1138+
1139+
- name: Build Xcode project
1140+
run: xcodebuild -project examples/llama.swiftui/llama.swiftui.xcodeproj -scheme llama.swiftui -sdk iphoneos CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= -destination 'generic/platform=iOS' build
11191141

11201142
android-build:
11211143
runs-on: ubuntu-latest

examples/llama.swiftui/llama.cpp.swift/LibLlama.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,20 +210,20 @@ actor LlamaContext {
210210

211211
llama_kv_cache_clear(context)
212212

213-
let t_pp_start = ggml_time_us()
213+
let t_pp_start = DispatchTime.now().uptimeNanoseconds / 1000;
214214

215215
if llama_decode(context, batch) != 0 {
216216
print("llama_decode() failed during prompt")
217217
}
218218
llama_synchronize(context)
219219

220-
let t_pp_end = ggml_time_us()
220+
let t_pp_end = DispatchTime.now().uptimeNanoseconds / 1000;
221221

222222
// bench text generation
223223

224224
llama_kv_cache_clear(context)
225225

226-
let t_tg_start = ggml_time_us()
226+
let t_tg_start = DispatchTime.now().uptimeNanoseconds / 1000;
227227

228228
for i in 0..<tg {
229229
llama_batch_clear(&batch)
@@ -238,7 +238,7 @@ actor LlamaContext {
238238
llama_synchronize(context)
239239
}
240240

241-
let t_tg_end = ggml_time_us()
241+
let t_tg_end = DispatchTime.now().uptimeNanoseconds / 1000;
242242

243243
llama_kv_cache_clear(context)
244244

examples/llama.swiftui/llama.swiftui.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
1809696D2D05A39F00400EE8 /* llama in Frameworks */ = {isa = PBXBuildFile; productRef = 1809696C2D05A39F00400EE8 /* llama */; };
1011
549479CB2AC9E16000E0F78B /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 549479CA2AC9E16000E0F78B /* Metal.framework */; };
1112
79E1D9CD2B4CD16E005F8E46 /* InputButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79E1D9CC2B4CD16E005F8E46 /* InputButton.swift */; };
1213
7FA3D2B32B2EA2F600543F92 /* DownloadButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FA3D2B22B2EA2F600543F92 /* DownloadButton.swift */; };
@@ -17,7 +18,6 @@
1718
8A3F84242AC4C891005E2EE8 /* models in Resources */ = {isa = PBXBuildFile; fileRef = 8A3F84232AC4C891005E2EE8 /* models */; };
1819
8A907F332AC7138A006146EA /* LibLlama.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A907F322AC7134E006146EA /* LibLlama.swift */; };
1920
8A9F7C4D2AC332EE008AE1EA /* LlamaState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A9F7C4C2AC332EE008AE1EA /* LlamaState.swift */; };
20-
DF810E132B4A5BA200301144 /* llama in Frameworks */ = {isa = PBXBuildFile; productRef = DF810E122B4A5BA200301144 /* llama */; };
2121
F1FE20E22B465ECA00B45541 /* LoadCustomButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1FE20E12B465EC900B45541 /* LoadCustomButton.swift */; };
2222
/* End PBXBuildFile section */
2323

@@ -42,7 +42,7 @@
4242
isa = PBXFrameworksBuildPhase;
4343
buildActionMask = 2147483647;
4444
files = (
45-
DF810E132B4A5BA200301144 /* llama in Frameworks */,
45+
1809696D2D05A39F00400EE8 /* llama in Frameworks */,
4646
549479CB2AC9E16000E0F78B /* Metal.framework in Frameworks */,
4747
8A39BE0A2AC7601100BFEB40 /* Accelerate.framework in Frameworks */,
4848
);
@@ -151,7 +151,7 @@
151151
);
152152
name = llama.swiftui;
153153
packageProductDependencies = (
154-
DF810E122B4A5BA200301144 /* llama */,
154+
1809696C2D05A39F00400EE8 /* llama */,
155155
);
156156
productName = llama.swiftui;
157157
productReference = 8A1C83732AC328BD0096AF73 /* llama.swiftui.app */;
@@ -429,7 +429,7 @@
429429
/* End XCConfigurationList section */
430430

431431
/* Begin XCSwiftPackageProductDependency section */
432-
DF810E122B4A5BA200301144 /* llama */ = {
432+
1809696C2D05A39F00400EE8 /* llama */ = {
433433
isa = XCSwiftPackageProductDependency;
434434
productName = llama;
435435
};

0 commit comments

Comments
 (0)