From 015b4b3546ef6f0ac9b4ec6032b34a91fb9fee5e Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 01:01:41 +0000 Subject: [PATCH 01/11] Added Vulkan artifact uploading to build action --- .github/workflows/compile.yml | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 73364a33..2abb95b6 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -199,13 +199,27 @@ jobs: path: .\build\bin\Release\llama.dll name: llama-bin-win-vulkan-x64.dll if-no-files-found: error - - name: Upload llama artifacts (Windows) + - name: Upload ggml artifacts (Windows) if: ${{ matrix.os == 'windows-latest' }} uses: actions/upload-artifact@v4 with: path: .\build\bin\Release\ggml.dll name: ggml-bin-win-vulkan-x64.dll if-no-files-found: error + - name: Upload ggml-base artifacts (Windows) + if: ${{ matrix.os == 'windows-latest' }} + uses: actions/upload-artifact@v4 + with: + path: .\build\bin\Release\ggml-base.dll + name: ggml-base-bin-win-vulkan-x64.dll + if-no-files-found: error + - name: Upload ggml-vulkan artifacts (Windows) + if: ${{ matrix.os == 'windows-latest' }} + uses: actions/upload-artifact@v4 + with: + path: .\build\bin\Release\ggml-vulkan.dll + name: ggml-vulkan-bin-win-vulkan-x64.dll + if-no-files-found: error - name: Upload llava artifacts (Windows) if: ${{ matrix.os == 'windows-latest' }} uses: actions/upload-artifact@v4 @@ -227,6 +241,20 @@ jobs: path: ./build/ggml/src/libggml.so name: ggml-bin-linux-vulkan-x64.so if-no-files-found: error + - name: Upload ggml-base artifacts (Linux) + if: ${{ matrix.os == 'ubuntu-22.04' }} + uses: actions/upload-artifact@v4 + with: + path: .\build\bin\Release\ggml-base.so + name: ggml-base-bin-linux-vulkan-x64.so + if-no-files-found: error + - name: Upload ggml-vulkan artifacts (Linux) + if: ${{ matrix.os == 'ubuntu-22.04' }} + uses: actions/upload-artifact@v4 + with: + path: .\build\bin\Release\ggml-vulkan.so + name: ggml-vulkan-bin-linux-vulkan-x64.so + if-no-files-found: error - name: Upload llava artifacts (Linux) if: ${{ matrix.os == 'ubuntu-22.04' }} uses: actions/upload-artifact@v4 @@ -351,6 +379,7 @@ jobs: cd build cmake .. ${{ env.COMMON_DEFINE }} ${{ matrix.defines }} cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS} + ls . - name: Upload ggml uses: actions/upload-artifact@v4 with: @@ -550,11 +579,15 @@ jobs: # Windows Vulkan cp artifacts/ggml-bin-win-vulkan-x64.dll/ggml.dll deps/vulkan/ggml.dll + cp artifacts/ggml-base-win-vulkan-x64.dll/ggml-base.dll deps/vulkan/ggml-base.dll + cp artifacts/ggml-vulkan-win-vulkan-x64.dll/ggml-vulkan.dll deps/vulkan/ggml-vulkan.dll cp artifacts/llama-bin-win-vulkan-x64.dll/llama.dll deps/vulkan/llama.dll cp artifacts/llava-bin-win-vulkan-x64.dll/llava_shared.dll deps/vulkan/llava_shared.dll # Linux Vulkan cp artifacts/ggml-bin-linux-vulkan-x64.so/libggml.so deps/vulkan/libggml.so + cp artifacts/ggml-base-linux-vulkan-x64.so/libggml-base.so deps/vulkan/libggml-base.so + cp artifacts/ggml-base-linux-vulkan-x64.so/libggml-vulkan.so deps/vulkan/libggml-vulkan.so cp artifacts/llama-bin-linux-vulkan-x64.so/libllama.so deps/vulkan/libllama.so cp artifacts/llava-bin-linux-vulkan-x64.so/libllava_shared.so deps/vulkan/libllava_shared.so From 27f47a2bdc1caa096bb89a7197e25e1914730e0f Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 01:47:44 +0000 Subject: [PATCH 02/11] Fixed vulkan file naming --- .github/workflows/compile.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 2abb95b6..0d3d9636 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -245,14 +245,14 @@ jobs: if: ${{ matrix.os == 'ubuntu-22.04' }} uses: actions/upload-artifact@v4 with: - path: .\build\bin\Release\ggml-base.so + path: .\build\bin\Release\libggml-base.so name: ggml-base-bin-linux-vulkan-x64.so if-no-files-found: error - name: Upload ggml-vulkan artifacts (Linux) if: ${{ matrix.os == 'ubuntu-22.04' }} uses: actions/upload-artifact@v4 with: - path: .\build\bin\Release\ggml-vulkan.so + path: .\build\bin\Release\libggml-vulkan.so name: ggml-vulkan-bin-linux-vulkan-x64.so if-no-files-found: error - name: Upload llava artifacts (Linux) @@ -379,7 +379,7 @@ jobs: cd build cmake .. ${{ env.COMMON_DEFINE }} ${{ matrix.defines }} cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS} - ls . + ls . -R - name: Upload ggml uses: actions/upload-artifact@v4 with: From e2b0ac5e50895bcf99df8b6b12d52b9ac8c00edf Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 02:01:04 +0000 Subject: [PATCH 03/11] - Fixed vulkan paths - Fixed ls --- .github/workflows/compile.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 0d3d9636..4d350b03 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -245,14 +245,14 @@ jobs: if: ${{ matrix.os == 'ubuntu-22.04' }} uses: actions/upload-artifact@v4 with: - path: .\build\bin\Release\libggml-base.so + path: ./build/ggml/src/libggml-base.so name: ggml-base-bin-linux-vulkan-x64.so if-no-files-found: error - name: Upload ggml-vulkan artifacts (Linux) if: ${{ matrix.os == 'ubuntu-22.04' }} uses: actions/upload-artifact@v4 with: - path: .\build\bin\Release\libggml-vulkan.so + path: ./build/ggml/src/libggml-vulkan.so name: ggml-vulkan-bin-linux-vulkan-x64.so if-no-files-found: error - name: Upload llava artifacts (Linux) @@ -379,7 +379,7 @@ jobs: cd build cmake .. ${{ env.COMMON_DEFINE }} ${{ matrix.defines }} cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS} - ls . -R + ls -R - name: Upload ggml uses: actions/upload-artifact@v4 with: From 66e781bebab75b92780e23e9e3f878f3e1de8b68 Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 02:16:10 +0000 Subject: [PATCH 04/11] Really fixed vulkan path --- .github/workflows/compile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 4d350b03..12e063c8 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -252,7 +252,7 @@ jobs: if: ${{ matrix.os == 'ubuntu-22.04' }} uses: actions/upload-artifact@v4 with: - path: ./build/ggml/src/libggml-vulkan.so + path: ./ggml/src/ggml-vulkan/libggml-vulkan.so name: ggml-vulkan-bin-linux-vulkan-x64.so if-no-files-found: error - name: Upload llava artifacts (Linux) From 67d31cdccde35c7390d5a6d61e2627ec9a8c5777 Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 03:43:02 +0000 Subject: [PATCH 05/11] fixed missing vulkan prefix --- .github/workflows/compile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 12e063c8..25a557ac 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -252,7 +252,7 @@ jobs: if: ${{ matrix.os == 'ubuntu-22.04' }} uses: actions/upload-artifact@v4 with: - path: ./ggml/src/ggml-vulkan/libggml-vulkan.so + path: ./build/ggml/src/ggml-vulkan/libggml-vulkan.so name: ggml-vulkan-bin-linux-vulkan-x64.so if-no-files-found: error - name: Upload llava artifacts (Linux) From b308a5a9545f4fb3fcd4cd871d78b7cbb73f7a54 Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 03:47:06 +0000 Subject: [PATCH 06/11] Added copying for MacOS bianries --- .github/workflows/compile.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 25a557ac..a1187bc3 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -386,6 +386,18 @@ jobs: path: ./build/ggml/src/libggml.dylib name: ggml-bin-osx-${{ matrix.build }}.dylib if-no-files-found: error + - name: Upload ggml-base + uses: actions/upload-artifact@v4 + with: + path: ./build/ggml/src/libggml-base.dylib + name: ggml-base-bin-osx-${{ matrix.build }}.dylib + if-no-files-found: error + - name: Upload ggml-cpu + uses: actions/upload-artifact@v4 + with: + path: ./build/ggml/src/libggml-cpu.dylib + name: ggml-cpu-bin-osx-${{ matrix.build }}.dylib + if-no-files-found: error - name: Upload llama uses: actions/upload-artifact@v4 with: @@ -534,15 +546,21 @@ jobs: # MacOS cp artifacts/ggml-bin-osx-arm64.dylib/libggml.dylib deps/osx-arm64/libggml.dylib + cp artifacts/ggml-base-bin-osx-arm64.dylib/libggml-base.dylib deps/osx-arm64/libggml-base.dylib + cp artifacts/ggml-cpu-bin-osx-arm64.dylib/libggml-cpu.dylib deps/osx-arm64/libggml-cpu.dylib cp artifacts/llama-bin-osx-arm64.dylib/libllama.dylib deps/osx-arm64/libllama.dylib cp artifacts/llava-bin-osx-arm64.dylib/libllava_shared.dylib deps/osx-arm64/libllava_shared.dylib cp artifacts/ggml-metal.metal/ggml-metal.metal deps/osx-arm64/ggml-metal.metal cp artifacts/ggml-bin-osx-x64.dylib/libggml.dylib deps/osx-x64/libggml.dylib + cp artifacts/ggml-base-bin-x64-arm64.dylib/libggml-base.dylib deps/osx-x64/libggml-base.dylib + cp artifacts/ggml-cpu-bin-x64-arm64.dylib/libggml-cpu.dylib deps/osx-x64/libggml-cpu.dylib cp artifacts/llama-bin-osx-x64.dylib/libllama.dylib deps/osx-x64/libllama.dylib cp artifacts/llava-bin-osx-x64.dylib/libllava_shared.dylib deps/osx-x64/libllava_shared.dylib cp artifacts/ggml-bin-osx-x64-rosetta2.dylib/libggml.dylib deps/osx-x64-rosetta2/libggml.dylib + cp artifacts/ggml-base-bin-x64-rosetta2.dylib/libggml-base.dylib deps/osx-x64-rosetta2/libggml-base.dylib + cp artifacts/ggml-cpu-bin-x64-rosetta2.dylib/libggml-cpu.dylib deps/osx-x64-rosetta2/libggml-cpu.dylib cp artifacts/llama-bin-osx-x64-rosetta2.dylib/libllama.dylib deps/osx-x64-rosetta2/libllama.dylib cp artifacts/llava-bin-osx-x64-rosetta2.dylib/libllava_shared.dylib deps/osx-x64-rosetta2/libllava_shared.dylib From 384ba84a2573a37f2f97d764dbf304d2763566e0 Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 15:20:01 +0000 Subject: [PATCH 07/11] Fixed MacOS paths --- .github/workflows/compile.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index a1187bc3..68bacc66 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -553,8 +553,8 @@ jobs: cp artifacts/ggml-metal.metal/ggml-metal.metal deps/osx-arm64/ggml-metal.metal cp artifacts/ggml-bin-osx-x64.dylib/libggml.dylib deps/osx-x64/libggml.dylib - cp artifacts/ggml-base-bin-x64-arm64.dylib/libggml-base.dylib deps/osx-x64/libggml-base.dylib - cp artifacts/ggml-cpu-bin-x64-arm64.dylib/libggml-cpu.dylib deps/osx-x64/libggml-cpu.dylib + cp artifacts/ggml-base-bin-x64.dylib/libggml-base.dylib deps/osx-x64/libggml-base.dylib + cp artifacts/ggml-cpu-bin-x64.dylib/libggml-cpu.dylib deps/osx-x64/libggml-cpu.dylib cp artifacts/llama-bin-osx-x64.dylib/libllama.dylib deps/osx-x64/libllama.dylib cp artifacts/llava-bin-osx-x64.dylib/libllava_shared.dylib deps/osx-x64/libllava_shared.dylib From a8560e874a1ba1fad80e7f12bf8b37baeffbc3f5 Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 18:31:42 +0000 Subject: [PATCH 08/11] Fixed final macOS paths --- .github/workflows/compile.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 68bacc66..faf8b140 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -553,8 +553,8 @@ jobs: cp artifacts/ggml-metal.metal/ggml-metal.metal deps/osx-arm64/ggml-metal.metal cp artifacts/ggml-bin-osx-x64.dylib/libggml.dylib deps/osx-x64/libggml.dylib - cp artifacts/ggml-base-bin-x64.dylib/libggml-base.dylib deps/osx-x64/libggml-base.dylib - cp artifacts/ggml-cpu-bin-x64.dylib/libggml-cpu.dylib deps/osx-x64/libggml-cpu.dylib + cp artifacts/ggml-base-bin-osx-x64.dylib/libggml-base.dylib deps/osx-x64/libggml-base.dylib + cp artifacts/ggml-cpu-bin-osx-x64.dylib/libggml-cpu.dylib deps/osx-x64/libggml-cpu.dylib cp artifacts/llama-bin-osx-x64.dylib/libllama.dylib deps/osx-x64/libllama.dylib cp artifacts/llava-bin-osx-x64.dylib/libllava_shared.dylib deps/osx-x64/libllava_shared.dylib From 305c103c5d4e0065f4228ae19f7288f4a45c7654 Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 19:58:31 +0000 Subject: [PATCH 09/11] Fixed more osx paths --- .github/workflows/compile.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index faf8b140..598341cc 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -559,8 +559,8 @@ jobs: cp artifacts/llava-bin-osx-x64.dylib/libllava_shared.dylib deps/osx-x64/libllava_shared.dylib cp artifacts/ggml-bin-osx-x64-rosetta2.dylib/libggml.dylib deps/osx-x64-rosetta2/libggml.dylib - cp artifacts/ggml-base-bin-x64-rosetta2.dylib/libggml-base.dylib deps/osx-x64-rosetta2/libggml-base.dylib - cp artifacts/ggml-cpu-bin-x64-rosetta2.dylib/libggml-cpu.dylib deps/osx-x64-rosetta2/libggml-cpu.dylib + cp artifacts/ggml-base-bin-osx-x64-rosetta2.dylib/libggml-base.dylib deps/osx-x64-rosetta2/libggml-base.dylib + cp artifacts/ggml-cpu-bin-osx-x64-rosetta2.dylib/libggml-cpu.dylib deps/osx-x64-rosetta2/libggml-cpu.dylib cp artifacts/llama-bin-osx-x64-rosetta2.dylib/libllama.dylib deps/osx-x64-rosetta2/libllama.dylib cp artifacts/llava-bin-osx-x64-rosetta2.dylib/libllava_shared.dylib deps/osx-x64-rosetta2/libllava_shared.dylib From a31698102b8e3ba010b427d25763d9af1560a3ae Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 21:30:11 +0000 Subject: [PATCH 10/11] fixed vulkan paths --- .github/workflows/compile.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 598341cc..5cf73520 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -597,15 +597,15 @@ jobs: # Windows Vulkan cp artifacts/ggml-bin-win-vulkan-x64.dll/ggml.dll deps/vulkan/ggml.dll - cp artifacts/ggml-base-win-vulkan-x64.dll/ggml-base.dll deps/vulkan/ggml-base.dll - cp artifacts/ggml-vulkan-win-vulkan-x64.dll/ggml-vulkan.dll deps/vulkan/ggml-vulkan.dll + cp artifacts/ggml-base-bin-win-vulkan-x64.dll/ggml-base.dll deps/vulkan/ggml-base.dll + cp artifacts/ggml-vulkan-bin-win-vulkan-x64.dll/ggml-vulkan.dll deps/vulkan/ggml-vulkan.dll cp artifacts/llama-bin-win-vulkan-x64.dll/llama.dll deps/vulkan/llama.dll cp artifacts/llava-bin-win-vulkan-x64.dll/llava_shared.dll deps/vulkan/llava_shared.dll # Linux Vulkan cp artifacts/ggml-bin-linux-vulkan-x64.so/libggml.so deps/vulkan/libggml.so - cp artifacts/ggml-base-linux-vulkan-x64.so/libggml-base.so deps/vulkan/libggml-base.so - cp artifacts/ggml-base-linux-vulkan-x64.so/libggml-vulkan.so deps/vulkan/libggml-vulkan.so + cp artifacts/ggml-base-bin-linux-vulkan-x64.so/libggml-base.so deps/vulkan/libggml-base.so + cp artifacts/ggml-base-bin-linux-vulkan-x64.so/libggml-vulkan.so deps/vulkan/libggml-vulkan.so cp artifacts/llama-bin-linux-vulkan-x64.so/libllama.so deps/vulkan/libllama.so cp artifacts/llava-bin-linux-vulkan-x64.so/libllava_shared.so deps/vulkan/libllava_shared.so From cd55a7fa491d10d9941194fdfd4ba31876ced8d4 Mon Sep 17 00:00:00 2001 From: Martin Evans Date: Sun, 29 Dec 2024 23:00:56 +0000 Subject: [PATCH 11/11] Fixed vulkan path --- .github/workflows/compile.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 5cf73520..93c2cf42 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -596,18 +596,18 @@ jobs: cp artifacts/llava-bin-linux-cublas-cu12.2.0-x64.so/libllava_shared.so deps/cu12.2.0/libllava_shared.so # Windows Vulkan - cp artifacts/ggml-bin-win-vulkan-x64.dll/ggml.dll deps/vulkan/ggml.dll + cp artifacts/ggml-bin-win-vulkan-x64.dll/ggml.dll deps/vulkan/ggml.dll cp artifacts/ggml-base-bin-win-vulkan-x64.dll/ggml-base.dll deps/vulkan/ggml-base.dll cp artifacts/ggml-vulkan-bin-win-vulkan-x64.dll/ggml-vulkan.dll deps/vulkan/ggml-vulkan.dll - cp artifacts/llama-bin-win-vulkan-x64.dll/llama.dll deps/vulkan/llama.dll - cp artifacts/llava-bin-win-vulkan-x64.dll/llava_shared.dll deps/vulkan/llava_shared.dll + cp artifacts/llama-bin-win-vulkan-x64.dll/llama.dll deps/vulkan/llama.dll + cp artifacts/llava-bin-win-vulkan-x64.dll/llava_shared.dll deps/vulkan/llava_shared.dll # Linux Vulkan - cp artifacts/ggml-bin-linux-vulkan-x64.so/libggml.so deps/vulkan/libggml.so - cp artifacts/ggml-base-bin-linux-vulkan-x64.so/libggml-base.so deps/vulkan/libggml-base.so - cp artifacts/ggml-base-bin-linux-vulkan-x64.so/libggml-vulkan.so deps/vulkan/libggml-vulkan.so - cp artifacts/llama-bin-linux-vulkan-x64.so/libllama.so deps/vulkan/libllama.so - cp artifacts/llava-bin-linux-vulkan-x64.so/libllava_shared.so deps/vulkan/libllava_shared.so + cp artifacts/ggml-bin-linux-vulkan-x64.so/libggml.so deps/vulkan/libggml.so + cp artifacts/ggml-base-bin-linux-vulkan-x64.so/libggml-base.so deps/vulkan/libggml-base.so + cp artifacts/ggml-vulkan-bin-linux-vulkan-x64.so/libggml-vulkan.so deps/vulkan/libggml-vulkan.so + cp artifacts/llama-bin-linux-vulkan-x64.so/libllama.so deps/vulkan/libllama.so + cp artifacts/llava-bin-linux-vulkan-x64.so/libllava_shared.so deps/vulkan/libllava_shared.so - name: Upload artifacts uses: actions/upload-artifact@v4