56
56
mkdir build
57
57
cd build
58
58
cmake .. \
59
+ -DCMAKE_BUILD_RPATH="@loader_path" \
59
60
-DLLAMA_FATAL_WARNINGS=ON \
60
61
-DLLAMA_CURL=ON \
61
62
-DGGML_METAL_USE_BF16=ON \
@@ -120,6 +121,7 @@ jobs:
120
121
# Metal is disabled due to intermittent failures with Github runners not having a GPU:
121
122
# https://github.com/ggerganov/llama.cpp/actions/runs/8635935781/job/23674807267#step:5:2313
122
123
cmake -B build \
124
+ -DCMAKE_BUILD_RPATH="@loader_path" \
123
125
-DLLAMA_FATAL_WARNINGS=ON \
124
126
-DLLAMA_CURL=ON \
125
127
-DGGML_METAL=OFF \
@@ -160,8 +162,8 @@ jobs:
160
162
path : llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip
161
163
name : llama-bin-macos-x64.zip
162
164
163
- ubuntu-latest -cmake :
164
- runs-on : ubuntu-latest
165
+ ubuntu-cpu -cmake :
166
+ runs-on : ubuntu-22.04
165
167
166
168
steps :
167
169
- name : Clone
@@ -181,7 +183,10 @@ jobs:
181
183
run : |
182
184
mkdir build
183
185
cd build
184
- cmake .. -DLLAMA_FATAL_WARNINGS=ON -DLLAMA_CURL=ON -DGGML_RPC=ON
186
+ cmake .. \
187
+ -DLLAMA_FATAL_WARNINGS=ON \
188
+ -DLLAMA_CURL=ON \
189
+ -DGGML_RPC=ON
185
190
cmake --build . --config Release -j $(nproc)
186
191
187
192
- name : Test
@@ -256,7 +261,10 @@ jobs:
256
261
run : |
257
262
mkdir build
258
263
cd build
259
- cmake .. -DLLAMA_FATAL_WARNINGS=ON -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
264
+ cmake .. \
265
+ -DLLAMA_FATAL_WARNINGS=ON \
266
+ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
267
+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
260
268
cmake --build . --config ${{ matrix.build_type }} -j $(nproc)
261
269
262
270
- name : Build (no OpenMP)
@@ -265,7 +273,11 @@ jobs:
265
273
run : |
266
274
mkdir build
267
275
cd build
268
- cmake .. -DLLAMA_FATAL_WARNINGS=ON -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DGGML_OPENMP=OFF
276
+ cmake .. \
277
+ -DLLAMA_FATAL_WARNINGS=ON \
278
+ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
279
+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
280
+ -DGGML_OPENMP=OFF
269
281
cmake --build . --config ${{ matrix.build_type }} -j $(nproc)
270
282
271
283
- name : Test
@@ -295,7 +307,8 @@ jobs:
295
307
run : |
296
308
mkdir build
297
309
cd build
298
- cmake -DGGML_RPC=ON ..
310
+ cmake .. \
311
+ -DGGML_RPC=ON
299
312
cmake --build . --config Release -j $(nproc)
300
313
301
314
- name : Test
@@ -325,7 +338,8 @@ jobs:
325
338
run : |
326
339
mkdir build
327
340
cd build
328
- cmake -DGGML_VULKAN=ON ..
341
+ cmake .. \
342
+ -DGGML_VULKAN=ON
329
343
cmake --build . --config Release -j $(nproc)
330
344
331
345
- name : Test
@@ -352,13 +366,18 @@ jobs:
352
366
- name : Build with native CMake HIP support
353
367
id : cmake_build
354
368
run : |
355
- cmake -B build -S . -DCMAKE_HIP_COMPILER="$(hipconfig -l)/clang" -DGGML_HIP=ON
369
+ cmake -B build -S . \
370
+ -DCMAKE_HIP_COMPILER="$(hipconfig -l)/clang" \
371
+ -DGGML_HIP=ON
356
372
cmake --build build --config Release -j $(nproc)
357
373
358
374
- name : Build with legacy HIP support
359
375
id : cmake_build_legacy_hip
360
376
run : |
361
- cmake -B build2 -S . -DCMAKE_C_COMPILER=hipcc -DCMAKE_CXX_COMPILER=hipcc -DGGML_HIP=ON
377
+ cmake -B build2 -S . \
378
+ -DCMAKE_C_COMPILER=hipcc \
379
+ -DCMAKE_CXX_COMPILER=hipcc \
380
+ -DGGML_HIP=ON
362
381
cmake --build build2 --config Release -j $(nproc)
363
382
364
383
ubuntu-22-cmake-musa :
@@ -379,7 +398,8 @@ jobs:
379
398
- name : Build with native CMake MUSA support
380
399
id : cmake_build
381
400
run : |
382
- cmake -B build -S . -DGGML_MUSA=ON
401
+ cmake -B build -S . \
402
+ -DGGML_MUSA=ON
383
403
cmake --build build --config Release -j $(nproc)
384
404
385
405
ubuntu-22-cmake-sycl :
@@ -420,7 +440,10 @@ jobs:
420
440
source /opt/intel/oneapi/setvars.sh
421
441
mkdir build
422
442
cd build
423
- cmake -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx ..
443
+ cmake .. \
444
+ -DGGML_SYCL=ON \
445
+ -DCMAKE_C_COMPILER=icx \
446
+ -DCMAKE_CXX_COMPILER=icpx
424
447
cmake --build . --config Release -j $(nproc)
425
448
426
449
ubuntu-22-cmake-sycl-fp16 :
@@ -461,42 +484,13 @@ jobs:
461
484
source /opt/intel/oneapi/setvars.sh
462
485
mkdir build
463
486
cd build
464
- cmake -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_SYCL_F16=ON ..
487
+ cmake .. \
488
+ -DGGML_SYCL=ON \
489
+ -DCMAKE_C_COMPILER=icx \
490
+ -DCMAKE_CXX_COMPILER=icpx \
491
+ -DGGML_SYCL_F16=ON
465
492
cmake --build . --config Release -j $(nproc)
466
493
467
- # TODO: build with GGML_METAL=OFF because test-backend-ops fail on "Apple Paravirtual device" and I don't know
468
- # how to debug it.
469
- # ref: https://github.com/ggerganov/llama.cpp/actions/runs/7132125951/job/19422043567?pr=4359#step:5:6584
470
- # would be great if we fix these
471
- macOS-latest-cmake :
472
- runs-on : macos-latest
473
-
474
- steps :
475
- - name : Clone
476
- id : checkout
477
- uses : actions/checkout@v4
478
-
479
- - name : Dependencies
480
- id : depends
481
- continue-on-error : true
482
- run : |
483
- brew update
484
-
485
- - name : Build
486
- id : cmake_build
487
- run : |
488
- sysctl -a
489
- mkdir build
490
- cd build
491
- cmake -DLLAMA_FATAL_WARNINGS=ON -DGGML_METAL=OFF ..
492
- cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
493
-
494
- - name : Test
495
- id : cmake_test
496
- run : |
497
- cd build
498
- ctest -L main --verbose --timeout 900
499
-
500
494
macOS-latest-cmake-ios :
501
495
runs-on : macos-latest
502
496
@@ -827,7 +821,13 @@ jobs:
827
821
828
822
- name : Build with CMake
829
823
run : |
830
- cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DGGML_NATIVE=OFF -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=89-real -DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined -DLLAMA_FATAL_WARNINGS=ON
824
+ cmake -S . -B build -G Ninja \
825
+ -DCMAKE_BUILD_TYPE=Release \
826
+ -DCMAKE_CUDA_ARCHITECTURES=89-real \
827
+ -DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined \
828
+ -DLLAMA_FATAL_WARNINGS=ON \
829
+ -DGGML_NATIVE=OFF \
830
+ -DGGML_CUDA=ON
831
831
cmake --build build
832
832
833
833
windows-2019-cmake-cuda :
@@ -916,7 +916,11 @@ jobs:
916
916
shell : cmd
917
917
run : |
918
918
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
919
- cmake -S . -B build -G "Ninja Multi-Config" -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DGGML_CUDA=ON -DGGML_RPC=ON
919
+ cmake -S . -B build -G "Ninja Multi-Config" \
920
+ -DLLAMA_BUILD_SERVER=ON \
921
+ -DGGML_NATIVE=OFF \
922
+ -DGGML_CUDA=ON \
923
+ -DGGML_RPC=ON
920
924
set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1
921
925
cmake --build build --config Release -j %NINJA_JOBS% -t ggml
922
926
cmake --build build --config Release
@@ -1201,8 +1205,7 @@ jobs:
1201
1205
runs-on : ubuntu-latest
1202
1206
1203
1207
needs :
1204
- - ubuntu-latest-cmake
1205
- - macOS-latest-cmake
1208
+ - ubuntu-cpu-cmake
1206
1209
- windows-latest-cmake
1207
1210
- windows-2019-cmake-cuda
1208
1211
- windows-latest-cmake-hip-release
@@ -1461,3 +1464,37 @@ jobs:
1461
1464
# popd
1462
1465
# emcmake cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }}
1463
1466
# make
1467
+
1468
+ openEuler-latest-cmake-cann :
1469
+ if : ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'Ascend NPU') }}
1470
+ defaults :
1471
+ run :
1472
+ shell : bash -el {0}
1473
+ runs-on : ubuntu-24.04-arm
1474
+ strategy :
1475
+ matrix :
1476
+ cann :
1477
+ - ' 8.0.rc3.beta1-910b-openeuler22.03-py3.10'
1478
+ device :
1479
+ - ' ascend910b3'
1480
+ build :
1481
+ - ' Release'
1482
+ container : ascendai/cann:${{ matrix.cann }}
1483
+ steps :
1484
+ - name : Checkout
1485
+ uses : actions/checkout@v4
1486
+
1487
+ - name : Dependencies
1488
+ run : |
1489
+ yum update -y
1490
+ yum install -y git gcc gcc-c++ make cmake
1491
+
1492
+ - name : Build
1493
+ run : |
1494
+ export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH}
1495
+
1496
+ cmake -S . -B build \
1497
+ -DCMAKE_BUILD_TYPE=${{ matrix.build }} \
1498
+ -DGGML_CANN=on \
1499
+ -DSOC_TYPE=${{ matrix.device }}
1500
+ cmake --build build -j $(nproc)
0 commit comments