@@ -27,13 +27,13 @@ jobs:
27
27
matrix :
28
28
include :
29
29
- build : ' noavx'
30
- defines : ' -DLLAMA_AVX =OFF -DLLAMA_AVX2 =OFF -DLLAMA_FMA =OFF'
30
+ defines : ' -DGGML_AVX =OFF -DGGML_AVX2 =OFF -DGGML_FMA =OFF'
31
31
- build : ' avx2'
32
32
defines : ' '
33
33
- build : ' avx'
34
- defines : ' -DLLAMA_AVX2 =OFF'
34
+ defines : ' -DGGML_AVX2 =OFF'
35
35
- build : ' avx512'
36
- defines : ' -DLLAMA_AVX512 =ON'
36
+ defines : ' -DGGML_AVX512 =ON'
37
37
runs-on : ubuntu-20.04
38
38
steps :
39
39
- uses : actions/checkout@v4
54
54
path : ./build/src/libllama.so
55
55
name : llama-bin-linux-${{ matrix.build }}-x64.so
56
56
if-no-files-found : error
57
+ - uses : actions/upload-artifact@v4
58
+ with :
59
+ path : ./build/ggml/src/libggml.so
60
+ name : ggml-bin-linux-${{ matrix.build }}-x64.so
61
+ if-no-files-found : error
57
62
- name : Upload Llava
58
63
uses : actions/upload-artifact@v4
59
64
with :
@@ -68,13 +73,13 @@ jobs:
68
73
matrix :
69
74
include :
70
75
- build : ' noavx'
71
- defines : ' -DLLAMA_AVX =OFF -DLLAMA_AVX2 =OFF -DLLAMA_FMA =OFF'
76
+ defines : ' -DGGML_AVX =OFF -DGGML_AVX2 =OFF -DGGML_FMA =OFF'
72
77
- build : ' avx2'
73
78
defines : ' '
74
79
- build : ' avx'
75
- defines : ' -DLLAMA_AVX2 =OFF'
80
+ defines : ' -DGGML_AVX2 =OFF'
76
81
- build : ' avx512'
77
- defines : ' -DLLAMA_AVX512 =ON -DLLAMA_AVX512_VBMI =ON -DLLAMA_AVX512_VNNI =ON'
82
+ defines : ' -DGGML_AVX512 =ON -DGGML_AVX512_VBMI =ON -DGGML_AVX512_VNNI =ON'
78
83
runs-on : windows-latest
79
84
steps :
80
85
- uses : actions/checkout@v4
@@ -90,15 +95,22 @@ jobs:
90
95
cd build
91
96
cmake .. ${{ env.COMMON_DEFINE }} ${{ matrix.defines }}
92
97
cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS}
98
+ tree /f
93
99
94
- - name : Upload artifacts
100
+ - name : Upload artifacts (llama)
95
101
uses : actions/upload-artifact@v4
96
102
with :
97
103
path : .\build\bin\Release\llama.dll
98
104
name : llama-bin-win-${{ matrix.build }}-x64.dll
99
105
if-no-files-found : error
106
+ - name : Upload artifacts (ggml)
107
+ uses : actions/upload-artifact@v4
108
+ with :
109
+ path : .\build\bin\Release\ggml.dll
110
+ name : ggml-bin-win-${{ matrix.build }}-x64.dll
111
+ if-no-files-found : error
100
112
101
- - name : Upload Llava
113
+ - name : Upload artifacts (llava)
102
114
uses : actions/upload-artifact@v4
103
115
with :
104
116
path : .\build\bin\Release\llava_shared.dll
@@ -147,15 +159,15 @@ jobs:
147
159
run : |
148
160
mkdir build
149
161
cd build
150
- cmake .. ${{ env.COMMON_DEFINE }} -DLLAMA_VULKAN =ON
162
+ cmake .. ${{ env.COMMON_DEFINE }} -DGGML_VULKAN =ON
151
163
cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS}
152
164
ls -R
153
165
- name : Build
154
166
if : ${{ matrix.os == 'ubuntu-22.04' }}
155
167
run : |
156
168
mkdir build
157
169
cd build
158
- cmake .. ${{ env.COMMON_DEFINE }} -DLLAMA_VULKAN =ON
170
+ cmake .. ${{ env.COMMON_DEFINE }} -DGGML_VULKAN =ON
159
171
cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS}
160
172
ls -R
161
173
- name : Upload llama artifacts (Windows)
@@ -165,6 +177,13 @@ jobs:
165
177
path : .\build\bin\Release\llama.dll
166
178
name : llama-bin-win-vulkan-x64.dll
167
179
if-no-files-found : error
180
+ - name : Upload llama artifacts (Windows)
181
+ if : ${{ matrix.os == 'windows-latest' }}
182
+ uses : actions/upload-artifact@v4
183
+ with :
184
+ path : .\build\bin\Release\ggml.dll
185
+ name : ggml-bin-win-vulkan-x64.dll
186
+ if-no-files-found : error
168
187
- name : Upload llava artifacts (Windows)
169
188
if : ${{ matrix.os == 'windows-latest' }}
170
189
uses : actions/upload-artifact@v4
@@ -179,6 +198,13 @@ jobs:
179
198
path : ./build/src/libllama.so
180
199
name : llama-bin-linux-vulkan-x64.so
181
200
if-no-files-found : error
201
+ - name : Upload ggml artifacts (Linux)
202
+ if : ${{ matrix.os == 'ubuntu-22.04' }}
203
+ uses : actions/upload-artifact@v4
204
+ with :
205
+ path : ./build/ggml/src/libggml.so
206
+ name : ggml-bin-linux-vulkan-x64.so
207
+ if-no-files-found : error
182
208
- name : Upload llava artifacts (Linux)
183
209
if : ${{ matrix.os == 'ubuntu-22.04' }}
184
210
uses : actions/upload-artifact@v4
@@ -236,6 +262,13 @@ jobs:
236
262
path : .\build\bin\Release\llama.dll
237
263
name : llama-bin-win-cublas-cu${{ matrix.cuda }}-x64.dll
238
264
if-no-files-found : error
265
+ - name : Upload artifacts (ggml)
266
+ if : ${{ matrix.os == 'windows-2019' }}
267
+ uses : actions/upload-artifact@v4
268
+ with :
269
+ path : .\build\bin\Release\ggml.dll
270
+ name : ggml-bin-win-cublas-cu${{ matrix.cuda }}-x64.dll
271
+ if-no-files-found : error
239
272
- name : Upload llava artifacts (Windows)
240
273
if : ${{ matrix.os == 'windows-2019' }}
241
274
uses : actions/upload-artifact@v4
@@ -250,6 +283,13 @@ jobs:
250
283
path : ./build/src/libllama.so
251
284
name : llama-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
252
285
if-no-files-found : error
286
+ - name : Upload artifacts ggml (Linux)
287
+ if : ${{ matrix.os == 'ubuntu-20.04' }}
288
+ uses : actions/upload-artifact@v4
289
+ with :
290
+ path : ./build/ggml/src/libggml.so
291
+ name : ggml-bin-linux-cublas-cu${{ matrix.cuda }}-x64.so
292
+ if-no-files-found : error
253
293
- name : Upload llava artifacts (Linux)
254
294
if : ${{ matrix.os == 'ubuntu-20.04' }}
255
295
uses : actions/upload-artifact@v4
@@ -268,9 +308,9 @@ jobs:
268
308
- build : ' arm64'
269
309
defines : ' -DCMAKE_OSX_ARCHITECTURES=arm64 -DGGML_METAL_EMBED_LIBRARY=ON'
270
310
- build : ' x64'
271
- defines : ' -DCMAKE_OSX_ARCHITECTURES=x86_64 -DGGML_METAL=OFF -DLLAMA_AVX =ON -DLLAMA_AVX2 =ON'
311
+ defines : ' -DCMAKE_OSX_ARCHITECTURES=x86_64 -DGGML_METAL=OFF -DGGML_AVX =ON -DGGML_AVX2 =ON'
272
312
- build : ' x64-rosetta2'
273
- defines : ' -DCMAKE_OSX_ARCHITECTURES=x86_64 -DGGML_METAL=OFF -DLLAMA_AVX =OFF -DLLAMA_AVX2 =OFF'
313
+ defines : ' -DCMAKE_OSX_ARCHITECTURES=x86_64 -DGGML_METAL=OFF -DGGML_AVX =OFF -DGGML_AVX2 =OFF'
274
314
runs-on : macos-latest
275
315
steps :
276
316
- uses : actions/checkout@v4
@@ -289,7 +329,13 @@ jobs:
289
329
cd build
290
330
cmake .. ${{ env.COMMON_DEFINE }} ${{ matrix.defines }}
291
331
cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS}
292
- - name : Upload artifacts
332
+ - name : Upload ggml
333
+ uses : actions/upload-artifact@v4
334
+ with :
335
+ path : ./build/ggml/src/libggml.dylib
336
+ name : ggml-bin-osx-${{ matrix.build }}.dylib
337
+ if-no-files-found : error
338
+ - name : Upload llama
293
339
uses : actions/upload-artifact@v4
294
340
with :
295
341
path : ./build/src/libllama.dylib
@@ -331,54 +377,81 @@ jobs:
331
377
# Make all directories at once
332
378
mkdir --parents deps/{avx,avx2,avx512,osx-arm64,osx-x64,osx-x64-rosetta2,cu11.7.1,cu12.2.0,vulkan}
333
379
334
- cp artifacts/llama-bin-linux-noavx-x64.so/libllama.so deps/libllama.so
335
- cp artifacts/llama-bin-linux-avx-x64.so/libllama.so deps/avx/libllama.so
336
- cp artifacts/llama-bin-linux-avx2-x64.so/libllama.so deps/avx2/libllama.so
337
- cp artifacts/llama-bin-linux-avx512-x64.so/libllama.so deps/avx512/libllama.so
338
-
339
- cp artifacts/llama-bin-win-noavx-x64.dll/llama.dll deps/llama.dll
340
- cp artifacts/llama-bin-win-avx-x64.dll/llama.dll deps/avx/llama.dll
341
- cp artifacts/llama-bin-win-avx2-x64.dll/llama.dll deps/avx2/llama.dll
342
- cp artifacts/llama-bin-win-avx512-x64.dll/llama.dll deps/avx512/llama.dll
343
-
380
+ # Linux
381
+ cp artifacts/ggml-bin-linux-noavx-x64.so/libggml.so deps/libggml.so
382
+ cp artifacts/llama-bin-linux-noavx-x64.so/libllama.so deps/libllama.so
344
383
cp artifacts/llava-bin-linux-noavx-x64.so/libllava_shared.so deps/libllava_shared.so
384
+
385
+ cp artifacts/ggml-bin-linux-avx-x64.so/libggml.so deps/avx/libggml.so
386
+ cp artifacts/llama-bin-linux-avx-x64.so/libllama.so deps/avx/libllama.so
345
387
cp artifacts/llava-bin-linux-avx-x64.so/libllava_shared.so deps/avx/libllava_shared.so
388
+
389
+ cp artifacts/ggml-bin-linux-avx2-x64.so/libggml.so deps/avx2/libggml.so
390
+ cp artifacts/llama-bin-linux-avx2-x64.so/libllama.so deps/avx2/libllama.so
346
391
cp artifacts/llava-bin-linux-avx2-x64.so/libllava_shared.so deps/avx2/libllava_shared.so
392
+
393
+ cp artifacts/ggml-bin-linux-avx512-x64.so/libggml.so deps/avx512/libggml.so
394
+ cp artifacts/llama-bin-linux-avx512-x64.so/libllama.so deps/avx512/libllama.so
347
395
cp artifacts/llava-bin-linux-avx512-x64.so/libllava_shared.so deps/avx512/libllava_shared.so
348
396
349
- cp artifacts/llava-bin-win-noavx-x64.dll/llava_shared.dll deps/llava_shared.dll
350
- cp artifacts/llava -bin-win-avx -x64.dll/llava_shared .dll deps/avx/llava_shared .dll
351
- cp artifacts/llava -bin-win-avx2 -x64.dll/llava_shared .dll deps/avx2/llava_shared .dll
352
- cp artifacts/llava-bin-win-avx512 -x64.dll/llava_shared.dll deps/avx512 /llava_shared.dll
397
+ # Windows
398
+ cp artifacts/ggml -bin-win-noavx -x64.dll/ggml .dll deps/ggml .dll
399
+ cp artifacts/llama -bin-win-noavx -x64.dll/llama .dll deps/llama .dll
400
+ cp artifacts/llava-bin-win-noavx -x64.dll/llava_shared.dll deps/llava_shared.dll
353
401
402
+ cp artifacts/ggml-bin-win-avx-x64.dll/ggml.dll deps/avx/ggml.dll
403
+ cp artifacts/llama-bin-win-avx-x64.dll/llama.dll deps/avx/llama.dll
404
+ cp artifacts/llava-bin-win-avx-x64.dll/llava_shared.dll deps/avx/llava_shared.dll
354
405
355
- cp artifacts/llama -bin-osx-arm64.dylib/libllama.dylib deps/osx-arm64/libllama.dylib
356
- cp artifacts/llava -bin-osx-arm64.dylib/libllava_shared.dylib deps/osx-arm64/libllava_shared.dylib
357
- cp artifacts/ggml-metal.metal/ggml-metal.metal deps/osx-arm64/ggml-metal.metal
406
+ cp artifacts/ggml -bin-win-avx2-x64.dll/ggml.dll deps/avx2/ggml.dll
407
+ cp artifacts/llama -bin-win-avx2-x64.dll/llama.dll deps/avx2/llama.dll
408
+ cp artifacts/llava-bin-win-avx2-x64.dll/llava_shared.dll deps/avx2/llava_shared.dll
358
409
359
- cp artifacts/llama-bin-osx-x64.dylib/libllama.dylib deps/osx-x64/libllama.dylib
360
- cp artifacts/llava-bin-osx-x64.dylib/libllava_shared.dylib deps/osx-x64/libllava_shared.dylib
410
+ cp artifacts/ggml-bin-win-avx512-x64.dll/ggml.dll deps/avx512/ggml.dll
411
+ cp artifacts/llama-bin-win-avx512-x64.dll/llama.dll deps/avx512/llama.dll
412
+ cp artifacts/llava-bin-win-avx512-x64.dll/llava_shared.dll deps/avx512/llava_shared.dll
361
413
362
- cp artifacts/llama-bin-osx-x64-rosetta2.dylib/libllama.dylib deps/osx-x64-rosetta2/libllama.dylib
414
+ # MacOS
415
+ cp artifacts/ggml-bin-osx-arm64.dylib/libggml.dylib deps/osx-arm64/libggml.dylib
416
+ cp artifacts/llama-bin-osx-arm64.dylib/libllama.dylib deps/osx-arm64/libllama.dylib
417
+ cp artifacts/llava-bin-osx-arm64.dylib/libllava_shared.dylib deps/osx-arm64/libllava_shared.dylib
418
+ cp artifacts/ggml-metal.metal/ggml-metal.metal deps/osx-arm64/ggml-metal.metal
419
+
420
+ cp artifacts/ggml-bin-osx-x64.dylib/libggml.dylib deps/osx-x64/libggml.dylib
421
+ cp artifacts/llama-bin-osx-x64.dylib/libllama.dylib deps/osx-x64/libllama.dylib
422
+ cp artifacts/llava-bin-osx-x64.dylib/libllava_shared.dylib deps/osx-x64/libllava_shared.dylib
423
+
424
+ cp artifacts/ggml-bin-osx-x64-rosetta2.dylib/libggml.dylib deps/osx-x64-rosetta2/libggml.dylib
425
+ cp artifacts/llama-bin-osx-x64-rosetta2.dylib/libllama.dylib deps/osx-x64-rosetta2/libllama.dylib
363
426
cp artifacts/llava-bin-osx-x64-rosetta2.dylib/libllava_shared.dylib deps/osx-x64-rosetta2/libllava_shared.dylib
364
427
365
- cp artifacts/llama-bin-win-cublas-cu11.7.1-x64.dll/llama.dll deps/cu11.7.1/llama.dll
366
- cp artifacts/llava-bin-win-cublas-cu11.7.1-x64.dll/llava_shared.dll deps/cu11.7.1/llava_shared.dll
367
-
368
- cp artifacts/llama-bin-linux-cublas-cu11.7.1-x64.so/libllama.so deps/cu11.7.1/libllama.so
369
- cp artifacts/llava-bin-linux-cublas-cu11.7.1-x64.so/libllava_shared.so deps/cu11.7.1/libllava_shared.so
428
+ # Windows CUDA
429
+ cp artifacts/ggml-bin-win-cublas-cu11.7.1-x64.dll/ggml.dll deps/cu11.7.1/ggml.dll
430
+ cp artifacts/llama-bin-win-cublas-cu11.7.1-x64.dll/llama.dll deps/cu11.7.1/llama.dll
431
+ cp artifacts/llava-bin-win-cublas-cu11.7.1-x64.dll/llava_shared.dll deps/cu11.7.1/llava_shared.dll
370
432
371
- cp artifacts/llama-bin-win-cublas-cu12.2.0-x64.dll/llama.dll deps/cu12.2.0/llama.dll
372
- cp artifacts/llava-bin-win-cublas-cu12.2.0-x64.dll/llava_shared.dll deps/cu12.2.0/llava_shared.dll
433
+ cp artifacts/ggml-bin-win-cublas-cu12.2.0-x64.dll/ggml.dll deps/cu12.2.0/ggml.dll
434
+ cp artifacts/llama-bin-win-cublas-cu12.2.0-x64.dll/llama.dll deps/cu12.2.0/llama.dll
435
+ cp artifacts/llava-bin-win-cublas-cu12.2.0-x64.dll/llava_shared.dll deps/cu12.2.0/llava_shared.dll
436
+
437
+ # Linux CUDA
438
+ cp artifacts/ggml-bin-linux-cublas-cu11.7.1-x64.so/libggml.so deps/cu11.7.1/libggml.so
439
+ cp artifacts/llama-bin-linux-cublas-cu11.7.1-x64.so/libllama.so deps/cu11.7.1/libllama.so
440
+ cp artifacts/llava-bin-linux-cublas-cu11.7.1-x64.so/libllava_shared.so deps/cu11.7.1/libllava_shared.so
373
441
374
- cp artifacts/llama-bin-linux-cublas-cu12.2.0-x64.so/libllama.so deps/cu12.2.0/libllama.so
375
- cp artifacts/llava-bin-linux-cublas-cu12.2.0-x64.so/libllava_shared.so deps/cu12.2.0/libllava_shared.so
442
+ cp artifacts/ggml-bin-linux-cublas-cu12.2.0-x64.so/libggml.so deps/cu12.2.0/libggml.so
443
+ cp artifacts/llama-bin-linux-cublas-cu12.2.0-x64.so/libllama.so deps/cu12.2.0/libllama.so
444
+ cp artifacts/llava-bin-linux-cublas-cu12.2.0-x64.so/libllava_shared.so deps/cu12.2.0/libllava_shared.so
376
445
377
- cp artifacts/llama-bin-win-vulkan-x64.dll/llama.dll deps/vulkan/llama.dll
378
- cp artifacts/llava-bin-win-vulkan-x64.dll/llava_shared.dll deps/vulkan/llava_shared.dll
446
+ # Windows Vulkan
447
+ cp artifacts/ggml-bin-win-vulkan-x64.dll/ggml.dll deps/vulkan/ggml.dll
448
+ cp artifacts/llama-bin-win-vulkan-x64.dll/llama.dll deps/vulkan/llama.dll
449
+ cp artifacts/llava-bin-win-vulkan-x64.dll/llava_shared.dll deps/vulkan/llava_shared.dll
379
450
380
- cp artifacts/llama-bin-linux-vulkan-x64.so/libllama.so deps/vulkan/libllama.so
381
- cp artifacts/llava-bin-linux-vulkan-x64.so/libllava_shared.so deps/vulkan/libllava_shared.so
451
+ # Linux Vulkan
452
+ cp artifacts/ggml-bin-linux-vulkan-x64.so/libggml.so deps/vulkan/libggml.so
453
+ cp artifacts/llama-bin-linux-vulkan-x64.so/libllama.so deps/vulkan/libllama.so
454
+ cp artifacts/llava-bin-linux-vulkan-x64.so/libllava_shared.so deps/vulkan/libllava_shared.so
382
455
383
456
- name : Upload artifacts
384
457
uses : actions/upload-artifact@v4
@@ -394,3 +467,4 @@ jobs:
394
467
llama-*
395
468
llava-*
396
469
*.metal
470
+ ggml-*
0 commit comments