From 0d534d810fe9e6a1d679576e800a62429ef49c82 Mon Sep 17 00:00:00 2001 From: henk717 Date: Sun, 4 Aug 2024 05:43:45 +0200 Subject: [PATCH] Mac builds (#1037) * OSX attempt 1 * OSX Pyinstaller * Update kcpp-build-release-osx.yaml * Update kcpp-build-release-osx.yaml * Update kcpp-build-release-osx.yaml * Add .metal file * Update kcpp-build-release-osx.yaml * Polish Mac (cherry picked from commit 52cc0daa1b9e3294306e30fee7eff041161da680) --- .github/workflows/kcpp-build-release-osx.yaml | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/kcpp-build-release-osx.yaml diff --git a/.github/workflows/kcpp-build-release-osx.yaml b/.github/workflows/kcpp-build-release-osx.yaml new file mode 100644 index 000000000..4474ed064 --- /dev/null +++ b/.github/workflows/kcpp-build-release-osx.yaml @@ -0,0 +1,40 @@ +name: Koboldcpp Mac + +on: workflow_dispatch +env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + NOAVX2: 1 + +jobs: + osx: + runs-on: macos-latest + steps: + - name: Clone + id: checkout + uses: actions/checkout@v3 + with: + ref: ${{ github.head_ref || github.ref_name }} + + - name: Dependencies + id: depends + run: | + pip install customtkinter pyinstaller tk + + - name: Build + id: make_build + run: | + make LLAMA_METAL=1 LLAMA_PORTABLE=1 + pyinstaller --noconfirm --onefile --collect-all customtkinter --collect-all psutil --add-data './koboldcpp_default.so:.' --add-data './ggml-metal-merged.metal:.' --add-data './kcpp_adapters:./kcpp_adapters' --add-data './klite.embd:.' --add-data './kcpp_docs.embd:.' --add-data './kcpp_sdui.embd:.' --add-data './taesd.embd:.' --add-data './taesd_xl.embd:.' --add-data './rwkv_vocab.embd:.' --add-data './rwkv_world_vocab.embd:.' --clean --console koboldcpp.py -n "koboldcpp-osx-arm64" + + - name: Test + id: test + run: | + wget https://huggingface.co/concedo/KobbleTinyV2-1.1B-GGUF/resolve/main/KobbleTiny-Q4_K.gguf + dist/koboldcpp-mac-arm64 --model KobbleTiny-Q4_K.gguf --gpulayers 99 --benchmark dist/bench.csv + + - name: Save artifact + uses: actions/upload-artifact@v3 + with: + name: kcpp_mac_binary + path: dist/ +