Skip to content

Commit 1be357d

Browse files
committed
Merge branch 'master' into compilade/imatrix-batched-chunks
2 parents db502dd + 19d3c82 commit 1be357d

File tree

149 files changed

+14452
-5150
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+14452
-5150
lines changed

.github/workflows/build.yml

Lines changed: 66 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ on:
1010
push:
1111
branches:
1212
- master
13-
paths: ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal']
13+
paths: ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal', '**/*.comp']
1414
pull_request:
1515
types: [opened, synchronize, reopened]
16-
paths: ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal']
16+
paths: ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal', '**/*.comp']
1717

1818
concurrency:
1919
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
@@ -59,16 +59,14 @@ jobs:
5959
id: cmake_build
6060
run: |
6161
sysctl -a
62-
mkdir build
63-
cd build
64-
cmake .. \
62+
cmake -B build \
6563
-DCMAKE_BUILD_RPATH="@loader_path" \
6664
-DLLAMA_FATAL_WARNINGS=ON \
6765
-DLLAMA_CURL=ON \
6866
-DGGML_METAL_USE_BF16=ON \
6967
-DGGML_METAL_EMBED_LIBRARY=ON \
7068
-DGGML_RPC=ON
71-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
69+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
7270
7371
- name: Test
7472
id: cmake_test
@@ -199,13 +197,11 @@ jobs:
199197
- name: Build
200198
id: cmake_build
201199
run: |
202-
mkdir build
203-
cd build
204-
cmake .. \
200+
cmake -B build \
205201
-DLLAMA_FATAL_WARNINGS=ON \
206202
-DLLAMA_CURL=ON \
207203
-DGGML_RPC=ON
208-
cmake --build . --config Release -j $(nproc)
204+
cmake --build build --config Release -j $(nproc)
209205
210206
- name: Test
211207
id: cmake_test
@@ -283,26 +279,52 @@ jobs:
283279
id: cmake_build
284280
if: ${{ matrix.sanitizer != 'THREAD' }}
285281
run: |
286-
mkdir build
287-
cd build
288-
cmake .. \
282+
cmake -B build \
289283
-DLLAMA_FATAL_WARNINGS=ON \
290284
-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
291285
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
292-
cmake --build . --config ${{ matrix.build_type }} -j $(nproc)
286+
cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
293287
294288
- name: Build (no OpenMP)
295289
id: cmake_build_no_openmp
296290
if: ${{ matrix.sanitizer == 'THREAD' }}
297291
run: |
298-
mkdir build
299-
cd build
300-
cmake .. \
292+
cmake -B build \
301293
-DLLAMA_FATAL_WARNINGS=ON \
302294
-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
303295
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
304296
-DGGML_OPENMP=OFF
305-
cmake --build . --config ${{ matrix.build_type }} -j $(nproc)
297+
cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
298+
299+
- name: Test
300+
id: cmake_test
301+
run: |
302+
cd build
303+
ctest -L main --verbose --timeout 900
304+
305+
ubuntu-latest-llguidance:
306+
runs-on: ubuntu-latest
307+
308+
steps:
309+
- name: Clone
310+
id: checkout
311+
uses: actions/checkout@v4
312+
313+
- name: Dependencies
314+
id: depends
315+
run: |
316+
sudo apt-get update
317+
sudo apt-get install build-essential
318+
319+
- name: Build
320+
id: cmake_build
321+
run: |
322+
mkdir build
323+
cd build
324+
cmake .. \
325+
-DLLAMA_FATAL_WARNINGS=ON \
326+
-DLLAMA_LLGUIDANCE=ON
327+
cmake --build . --config Release -j $(nproc)
306328
307329
- name: Test
308330
id: cmake_test
@@ -335,11 +357,9 @@ jobs:
335357
- name: Build
336358
id: cmake_build
337359
run: |
338-
mkdir build
339-
cd build
340-
cmake .. \
360+
cmake -B build \
341361
-DGGML_RPC=ON
342-
cmake --build . --config Release -j $(nproc)
362+
cmake --build build --config Release -j $(nproc)
343363
344364
- name: Test
345365
id: cmake_test
@@ -372,11 +392,9 @@ jobs:
372392
- name: Build
373393
id: cmake_build
374394
run: |
375-
mkdir build
376-
cd build
377-
cmake .. \
395+
cmake -B build \
378396
-DGGML_VULKAN=ON
379-
cmake --build . --config Release -j $(nproc)
397+
cmake --build build --config Release -j $(nproc)
380398
381399
- name: Test
382400
id: cmake_test
@@ -493,13 +511,11 @@ jobs:
493511
id: cmake_build
494512
run: |
495513
source /opt/intel/oneapi/setvars.sh
496-
mkdir build
497-
cd build
498-
cmake .. \
514+
cmake -B build \
499515
-DGGML_SYCL=ON \
500516
-DCMAKE_C_COMPILER=icx \
501517
-DCMAKE_CXX_COMPILER=icpx
502-
cmake --build . --config Release -j $(nproc)
518+
cmake --build build --config Release -j $(nproc)
503519
504520
ubuntu-22-cmake-sycl-fp16:
505521
runs-on: ubuntu-22.04
@@ -543,14 +559,12 @@ jobs:
543559
id: cmake_build
544560
run: |
545561
source /opt/intel/oneapi/setvars.sh
546-
mkdir build
547-
cd build
548-
cmake .. \
562+
cmake -B build \
549563
-DGGML_SYCL=ON \
550564
-DCMAKE_C_COMPILER=icx \
551565
-DCMAKE_CXX_COMPILER=icpx \
552566
-DGGML_SYCL_F16=ON
553-
cmake --build . --config Release -j $(nproc)
567+
cmake --build build --config Release -j $(nproc)
554568
555569
macOS-latest-cmake-ios:
556570
runs-on: macos-latest
@@ -576,9 +590,7 @@ jobs:
576590
id: cmake_build
577591
run: |
578592
sysctl -a
579-
mkdir build
580-
cd build
581-
cmake -G Xcode .. \
593+
cmake -B build -G Xcode \
582594
-DGGML_METAL_USE_BF16=ON \
583595
-DGGML_METAL_EMBED_LIBRARY=ON \
584596
-DLLAMA_BUILD_EXAMPLES=OFF \
@@ -587,7 +599,7 @@ jobs:
587599
-DCMAKE_SYSTEM_NAME=iOS \
588600
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
589601
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
590-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
602+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
591603
592604
macOS-latest-cmake-tvos:
593605
runs-on: macos-latest
@@ -613,9 +625,7 @@ jobs:
613625
id: cmake_build
614626
run: |
615627
sysctl -a
616-
mkdir build
617-
cd build
618-
cmake -G Xcode .. \
628+
cmake -B build -G Xcode \
619629
-DGGML_METAL_USE_BF16=ON \
620630
-DGGML_METAL_EMBED_LIBRARY=ON \
621631
-DLLAMA_BUILD_EXAMPLES=OFF \
@@ -624,7 +634,7 @@ jobs:
624634
-DCMAKE_SYSTEM_NAME=tvOS \
625635
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
626636
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
627-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
637+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
628638
629639
macOS-latest-swift:
630640
runs-on: macos-latest
@@ -654,17 +664,15 @@ jobs:
654664
id: cmake_build
655665
run: |
656666
sysctl -a
657-
mkdir build
658-
cd build
659-
cmake -G Xcode .. \
667+
cmake -B build -G Xcode \
660668
-DGGML_METAL_USE_BF16=ON \
661669
-DGGML_METAL_EMBED_LIBRARY=ON \
662670
-DLLAMA_BUILD_EXAMPLES=OFF \
663671
-DLLAMA_BUILD_TESTS=OFF \
664672
-DLLAMA_BUILD_SERVER=OFF \
665673
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
666-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
667-
sudo cmake --install . --config Release
674+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
675+
sudo cmake --install build --config Release
668676
669677
- name: xcodebuild for swift package
670678
id: xcodebuild
@@ -689,6 +697,7 @@ jobs:
689697
uses: hendrikmuhs/[email protected]
690698
with:
691699
key: windows-msys2
700+
variant: sccache
692701
evict-old-files: 1d
693702

694703
- name: Setup ${{ matrix.sys }}
@@ -763,6 +772,7 @@ jobs:
763772
uses: hendrikmuhs/[email protected]
764773
with:
765774
key: windows-latest-cmake-${{ matrix.build }}
775+
variant: sccache
766776
evict-old-files: 1d
767777

768778
- name: Clone Kompute submodule
@@ -804,21 +814,19 @@ jobs:
804814
run: |
805815
git clone https://github.com/KhronosGroup/OpenCL-Headers
806816
cd OpenCL-Headers
807-
mkdir build && cd build
808-
cmake .. `
817+
cmake -B build `
809818
-DBUILD_TESTING=OFF `
810819
-DOPENCL_HEADERS_BUILD_TESTING=OFF `
811820
-DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF `
812821
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
813-
cmake --build . --target install
822+
cmake --build build --target install
814823
git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
815824
cd OpenCL-ICD-Loader
816-
mkdir build-arm64-release && cd build-arm64-release
817-
cmake .. `
825+
cmake -B build-arm64-release `
818826
-A arm64 `
819827
-DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" `
820828
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
821-
cmake --build . --target install --config release
829+
cmake --build build-arm64-release --target install --config release
822830
823831
- name: Build
824832
id: cmake_build
@@ -949,6 +957,7 @@ jobs:
949957
uses: hendrikmuhs/[email protected]
950958
with:
951959
key: ${{ github.job }}-${{ matrix.cuda }}-${{ matrix.build }}
960+
variant: sccache
952961
evict-old-files: 1d
953962

954963
- name: Install Cuda Toolkit 11.7
@@ -1090,6 +1099,7 @@ jobs:
10901099
uses: hendrikmuhs/[email protected]
10911100
with:
10921101
key: windows-latest-cmake-sycl
1102+
variant: sccache
10931103
evict-old-files: 1d
10941104

10951105
- name: Install
@@ -1278,9 +1288,7 @@ jobs:
12781288
id: cmake_build
12791289
run: |
12801290
sysctl -a
1281-
mkdir build
1282-
cd build
1283-
cmake -G Xcode .. \
1291+
cmake -B build -G Xcode \
12841292
-DGGML_METAL_USE_BF16=ON \
12851293
-DGGML_METAL_EMBED_LIBRARY=ON \
12861294
-DLLAMA_BUILD_EXAMPLES=OFF \
@@ -1289,8 +1297,8 @@ jobs:
12891297
-DCMAKE_SYSTEM_NAME=iOS \
12901298
-DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
12911299
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
1292-
cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
1293-
sudo cmake --install . --config Release
1300+
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
1301+
sudo cmake --install build --config Release
12941302
12951303
- name: xcodebuild for swift package
12961304
id: xcodebuild

.github/workflows/close-issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
steps:
1818
- uses: actions/stale@v5
1919
with:
20-
exempt-issue-labels: "refactor,help wanted,good first issue,research,bug"
20+
exempt-issue-labels: "refactor,help wanted,good first issue,research,bug,roadmap"
2121
days-before-issue-stale: 30
2222
days-before-issue-close: 14
2323
stale-issue-label: "stale"

.github/workflows/server.yml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,36 @@ jobs:
8181
with:
8282
node-version: '22.11.0'
8383

84+
- name: WebUI - Install dependencies
85+
id: webui_lint
86+
run: |
87+
cd examples/server/webui
88+
npm ci
89+
90+
- name: WebUI - Check code format
91+
id: webui_format
92+
run: |
93+
git config --global --add safe.directory $(realpath .)
94+
cd examples/server/webui
95+
git status
96+
97+
npm run format
98+
git status
99+
modified_files="$(git status -s)"
100+
echo "Modified files: ${modified_files}"
101+
if [ -n "${modified_files}" ]; then
102+
echo "Files do not follow coding style. To fix: npm run format"
103+
echo "${modified_files}"
104+
exit 1
105+
fi
106+
84107
- name: Verify bundled index.html
85108
id: verify_server_index_html
86109
run: |
87110
git config --global --add safe.directory $(realpath .)
88111
cd examples/server/webui
89112
git status
90-
npm ci
113+
91114
npm run build
92115
git status
93116
modified_files="$(git status -s)"

0 commit comments

Comments
 (0)