@@ -28,13 +28,25 @@ jobs:
2828 include :
2929 - build : ' noavx'
3030 defines : ' -DGGML_AVX=OFF -DGGML_AVX2=OFF -DGGML_FMA=OFF'
31+ os : ubuntu-24.04
32+ arch : x64
3133 - build : ' avx2'
3234 defines : ' '
35+ os : ubuntu-24.04
36+ arch : x64
3337 - build : ' avx'
3438 defines : ' -DGGML_AVX2=OFF'
39+ os : ubuntu-24.04
40+ arch : x64
3541 - build : ' avx512'
3642 defines : ' -DGGML_AVX512=ON'
37- runs-on : ubuntu-24.04
43+ os : ubuntu-24.04
44+ arch : x64
45+ - build : ' aarch64'
46+ defines : ' -DGGML_NATIVE=OFF -DGGML_CPU_AARCH64=ON -DGGML_CPU_ARM_ARCH=armv8-a'
47+ os : ubuntu-24.04-arm
48+ arch : arm64
49+ runs-on : ${{ matrix.os }}
3850 steps :
3951 - uses : actions/checkout@v4
4052 with :
@@ -52,28 +64,28 @@ jobs:
5264 - uses : actions/upload-artifact@v4
5365 with :
5466 path : ./build/bin/libllama.so
55- name : llama-bin-linux-${{ matrix.build }}-x64 .so
67+ name : llama-bin-linux-${{ matrix.build }}-${{ matrix.arch }} .so
5668 if-no-files-found : error
5769 - uses : actions/upload-artifact@v4
5870 with :
5971 path : ./build/bin/libggml.so
60- name : ggml-bin-linux-${{ matrix.build }}-x64 .so
72+ name : ggml-bin-linux-${{ matrix.build }}-${{ matrix.arch }} .so
6173 if-no-files-found : error
6274 - uses : actions/upload-artifact@v4
6375 with :
6476 path : ./build/bin/libggml-base.so
65- name : ggml-base-bin-linux-${{ matrix.build }}-x64 .so
77+ name : ggml-base-bin-linux-${{ matrix.build }}-${{ matrix.arch }} .so
6678 if-no-files-found : error
6779 - uses : actions/upload-artifact@v4
6880 with :
6981 path : ./build/bin/libggml-cpu.so
70- name : ggml-cpu-bin-linux-${{ matrix.build }}-x64 .so
82+ name : ggml-cpu-bin-linux-${{ matrix.build }}-${{ matrix.arch }} .so
7183 if-no-files-found : error
7284 - name : Upload Llava
7385 uses : actions/upload-artifact@v4
7486 with :
7587 path : ./build/bin/libllava_shared.so
76- name : llava-bin-linux-${{ matrix.build }}-x64 .so
88+ name : llava-bin-linux-${{ matrix.build }}-${{ matrix.arch }} .so
7789 if-no-files-found : error
7890
7991 compile-musl :
@@ -409,35 +421,35 @@ jobs:
409421 if-no-files-found : error
410422
411423 - name : Upload artifacts (Linux)
412- if : ${{ matrix.os == 'ubuntu-24 .04' }}
424+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
413425 uses : actions/upload-artifact@v4
414426 with :
415427 path : ./build/bin/libllama.so
416428 name : llama-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
417429 if-no-files-found : error
418430 - name : Upload artifacts ggml (Linux)
419- if : ${{ matrix.os == 'ubuntu-24 .04' }}
431+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
420432 uses : actions/upload-artifact@v4
421433 with :
422434 path : ./build/bin/libggml.so
423435 name : ggml-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
424436 if-no-files-found : error
425437 - name : Upload artifacts ggml-base (Linux)
426- if : ${{ matrix.os == 'ubuntu-24 .04' }}
438+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
427439 uses : actions/upload-artifact@v4
428440 with :
429441 path : ./build/bin/libggml-base.so
430442 name : ggml-base-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
431443 if-no-files-found : error
432444 - name : Upload artifacts ggml-cuda (Linux)
433- if : ${{ matrix.os == 'ubuntu-24 .04' }}
445+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
434446 uses : actions/upload-artifact@v4
435447 with :
436448 path : ./build/bin/libggml-cuda.so
437449 name : ggml-cuda-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
438450 if-no-files-found : error
439451 - name : Upload llava artifacts (Linux)
440- if : ${{ matrix.os == 'ubuntu-24 .04' }}
452+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
441453 uses : actions/upload-artifact@v4
442454 with :
443455 path : ./build/bin/libllava_shared.so
@@ -601,7 +613,7 @@ jobs:
601613 - name : Rearrange Files
602614 run : |
603615 # Make all directories at once
604- mkdir --parents deps/{noavx,avx,avx2,avx512,musl-noavx,musl-avx,musl-avx2,musl-avx512,osx-arm64,osx-x64,osx-x64-rosetta2,cu11.7.1,cu12.2.0,vulkan,android-arm64-v8a,android-x86,android-x86_64}
616+ mkdir --parents deps/{noavx,avx,avx2,avx512,linux-arm64, musl-noavx,musl-avx,musl-avx2,musl-avx512,osx-arm64,osx-x64,osx-x64-rosetta2,cu11.7.1,cu12.2.0,vulkan,android-arm64-v8a,android-x86,android-x86_64}
605617
606618 # Linux
607619 cp artifacts/ggml-bin-linux-noavx-x64.so/libggml.so deps/noavx/libggml.so
@@ -628,6 +640,13 @@ jobs:
628640 cp artifacts/llama-bin-linux-avx512-x64.so/libllama.so deps/avx512/libllama.so
629641 cp artifacts/llava-bin-linux-avx512-x64.so/libllava_shared.so deps/avx512/libllava_shared.so
630642
643+ # Arm64
644+ cp artifacts/ggml-bin-linux-aarch64-arm64.so/libggml.so deps/linux-arm64/libggml.so
645+ cp artifacts/ggml-base-bin-linux-aarch64-arm64.so/libggml-base.so deps/linux-arm64/libggml-base.so
646+ cp artifacts/ggml-cpu-bin-linux-aarch64-arm64.so/libggml-cpu.so deps/linux-arm64/libggml-cpu.so
647+ cp artifacts/llama-bin-linux-aarch64-arm64.so/libllama.so deps/linux-arm64/libllama.so
648+ cp artifacts/llava-bin-linux-aarch64-arm64.so/libllava_shared.so deps/linux-arm64/libllava_shared.so
649+
631650 # Musl
632651 cp artifacts/ggml-bin-musl-noavx-x64.so/libggml.so deps/musl-noavx/libggml.so
633652 cp artifacts/ggml-base-bin-musl-noavx-x64.so/libggml-base.so deps/musl-noavx/libggml-base.so
0 commit comments