@@ -28,13 +28,25 @@ jobs:
28
28
include :
29
29
- build : ' noavx'
30
30
defines : ' -DGGML_AVX=OFF -DGGML_AVX2=OFF -DGGML_FMA=OFF'
31
+ os : ubuntu-24.04
32
+ arch : x64
31
33
- build : ' avx2'
32
34
defines : ' '
35
+ os : ubuntu-24.04
36
+ arch : x64
33
37
- build : ' avx'
34
38
defines : ' -DGGML_AVX2=OFF'
39
+ os : ubuntu-24.04
40
+ arch : x64
35
41
- build : ' avx512'
36
42
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 }}
38
50
steps :
39
51
- uses : actions/checkout@v4
40
52
with :
@@ -52,28 +64,28 @@ jobs:
52
64
- uses : actions/upload-artifact@v4
53
65
with :
54
66
path : ./build/bin/libllama.so
55
- name : llama-bin-linux-${{ matrix.build }}-x64 .so
67
+ name : llama-bin-linux-${{ matrix.build }}-${{ matrix.arch }} .so
56
68
if-no-files-found : error
57
69
- uses : actions/upload-artifact@v4
58
70
with :
59
71
path : ./build/bin/libggml.so
60
- name : ggml-bin-linux-${{ matrix.build }}-x64 .so
72
+ name : ggml-bin-linux-${{ matrix.build }}-${{ matrix.arch }} .so
61
73
if-no-files-found : error
62
74
- uses : actions/upload-artifact@v4
63
75
with :
64
76
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
66
78
if-no-files-found : error
67
79
- uses : actions/upload-artifact@v4
68
80
with :
69
81
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
71
83
if-no-files-found : error
72
84
- name : Upload Llava
73
85
uses : actions/upload-artifact@v4
74
86
with :
75
87
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
77
89
if-no-files-found : error
78
90
79
91
compile-musl :
@@ -409,35 +421,35 @@ jobs:
409
421
if-no-files-found : error
410
422
411
423
- name : Upload artifacts (Linux)
412
- if : ${{ matrix.os == 'ubuntu-24 .04' }}
424
+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
413
425
uses : actions/upload-artifact@v4
414
426
with :
415
427
path : ./build/bin/libllama.so
416
428
name : llama-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
417
429
if-no-files-found : error
418
430
- name : Upload artifacts ggml (Linux)
419
- if : ${{ matrix.os == 'ubuntu-24 .04' }}
431
+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
420
432
uses : actions/upload-artifact@v4
421
433
with :
422
434
path : ./build/bin/libggml.so
423
435
name : ggml-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
424
436
if-no-files-found : error
425
437
- name : Upload artifacts ggml-base (Linux)
426
- if : ${{ matrix.os == 'ubuntu-24 .04' }}
438
+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
427
439
uses : actions/upload-artifact@v4
428
440
with :
429
441
path : ./build/bin/libggml-base.so
430
442
name : ggml-base-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
431
443
if-no-files-found : error
432
444
- name : Upload artifacts ggml-cuda (Linux)
433
- if : ${{ matrix.os == 'ubuntu-24 .04' }}
445
+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
434
446
uses : actions/upload-artifact@v4
435
447
with :
436
448
path : ./build/bin/libggml-cuda.so
437
449
name : ggml-cuda-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
438
450
if-no-files-found : error
439
451
- name : Upload llava artifacts (Linux)
440
- if : ${{ matrix.os == 'ubuntu-24 .04' }}
452
+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
441
453
uses : actions/upload-artifact@v4
442
454
with :
443
455
path : ./build/bin/libllava_shared.so
@@ -601,7 +613,7 @@ jobs:
601
613
- name : Rearrange Files
602
614
run : |
603
615
# 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}
605
617
606
618
# Linux
607
619
cp artifacts/ggml-bin-linux-noavx-x64.so/libggml.so deps/noavx/libggml.so
@@ -628,6 +640,13 @@ jobs:
628
640
cp artifacts/llama-bin-linux-avx512-x64.so/libllama.so deps/avx512/libllama.so
629
641
cp artifacts/llava-bin-linux-avx512-x64.so/libllava_shared.so deps/avx512/libllava_shared.so
630
642
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
+
631
650
# Musl
632
651
cp artifacts/ggml-bin-musl-noavx-x64.so/libggml.so deps/musl-noavx/libggml.so
633
652
cp artifacts/ggml-base-bin-musl-noavx-x64.so/libggml-base.so deps/musl-noavx/libggml-base.so
0 commit comments