@@ -312,6 +312,41 @@ jobs:
312
312
with :
313
313
path : ./build/bin/ggml-metal.metal
314
314
name : ggml-metal.metal
315
+
316
+ compile-android :
317
+ name : Compile (Android)
318
+ runs-on : ubuntu-20.04
319
+ steps :
320
+ - uses : actions/checkout@v4
321
+ with :
322
+ repository : ggerganov/llama.cpp
323
+ fetch-depth : 0
324
+ ref : ' ${{ github.event.inputs.llama_cpp_commit }}'
325
+ - uses : nttld/setup-ndk@v1
326
+ id : setup-ndk
327
+ with :
328
+ ndk-version : r26d
329
+ add-to-path : false
330
+ - name : Build
331
+ id : cmake_build
332
+ env :
333
+ CMAKE_FLAGS : ' -DCMAKE_TOOLCHAIN_FILE=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23'
334
+ run : |
335
+ mkdir build
336
+ cd build
337
+ cmake .. ${{ env.COMMON_DEFINE }} ${{ env.CMAKE_FLAGS }}
338
+ cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS}
339
+ - name : Upload Llama
340
+ uses : actions/upload-artifact@v4
341
+ with :
342
+ path : ./build/libllama.so
343
+ name : llama-bin-android-arm64.so
344
+ - name : Upload Llava
345
+ uses : actions/upload-artifact@v4
346
+ with :
347
+ path : ./build/examples/llava/libllava_shared.so
348
+ name : llava-bin-android-arm64.so
349
+
315
350
316
351
build-deps :
317
352
runs-on : ubuntu-latest
@@ -321,6 +356,7 @@ jobs:
321
356
" compile-linux" ,
322
357
" compile-macos" ,
323
358
" compile-windows" ,
359
+ " compile-android" ,
324
360
" compile-cublas" ,
325
361
" compile-clblast"
326
362
]
@@ -333,7 +369,7 @@ jobs:
333
369
- name : Rearrange Files
334
370
run : |
335
371
# Make all directories at once
336
- mkdir --parents deps/{avx,avx2,avx512,osx-arm64,osx-x64,cu11.7.1,cu12.1.0,clblast}
372
+ mkdir --parents deps/{avx,avx2,avx512,osx-arm64,osx-x64,android-arm64, cu11.7.1,cu12.1.0,clblast}
337
373
338
374
cp artifacts/llama-bin-linux-noavx-x64.so/libllama.so deps/libllama.so
339
375
cp artifacts/llama-bin-linux-avx-x64.so/libllama.so deps/avx/libllama.so
@@ -384,6 +420,8 @@ jobs:
384
420
cp artifacts/llama-bin-linux-clblast-x64.so/libllama.so deps/clblast/
385
421
cp artifacts/llava-bin-linux-clblast-x64.so/libllava_shared.so deps/clblast/libllava_shared.so
386
422
423
+ cp artifacts/llama-bin-android-arm64.so/libllama.so deps/android-arm64/libllama.so
424
+ cp artifacts/llava-bin-android-arm64.so/libllava_shared.so deps/android-arm64/libllava_shared.so
387
425
388
426
- name : Upload artifacts
389
427
uses : actions/upload-artifact@v4
0 commit comments