diff --git a/.github/prepare_release.sh b/.github/prepare_release.sh index fd4427e8..e4409997 100755 --- a/.github/prepare_release.sh +++ b/.github/prepare_release.sh @@ -22,13 +22,19 @@ fi mkdir ./temp; mkdir ./temp/runtimes; -cp ./LLama/runtimes/*.* ./temp/runtimes/; +# For sure it could be done better but cp -R did not work on osx +mkdir ./temp/runtimes/osx-arm64 +mkdir ./temp/runtimes/osx-x64 +cp ./LLama/runtimes/*.* ./temp/runtimes/; +cp ./LLama/runtimes/osx-arm64/*.* ./temp/runtimes/osx-arm64/; +cp ./LLama/runtimes/osx-x64/*.* ./temp/runtimes/osx-x64; cp ./LLama/runtimes/build/*.* ./temp/; # get the current version cd temp; dotnet add package LLamaSharp; version=$(dotnet list temp.csproj package | grep LLamaSharp); +# TODO: This didn“t work on osx...we need a solution read -ra arr <<< "$version" version="${arr[-1]}" echo "The latest version: $version"; diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 42cb98dc..5dda197c 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -6,9 +6,9 @@ on: cublas: type: boolean description: Build CUBLAS binaries - macos: + osx: type: boolean - description: Build MacOS binaries + description: Build OSX binaries push: branches: [cron_job] #schedule: @@ -147,7 +147,7 @@ jobs: include: - build: 'arm64' defines: '-DCMAKE_OSX_ARCHITECTURES=arm64' - - build: 'x86_64' + - build: 'x64' defines: '-DLLAMA_METAL=OFF -DCMAKE_OSX_ARCHITECTURES=x86_64' runs-on: macos-latest steps: @@ -169,7 +169,7 @@ jobs: uses: actions/upload-artifact@v3 with: path: ./build/libllama.dylib - name: llama-bin-macos-${{ matrix.build }}.dylib + name: llama-bin-osx-${{ matrix.build }}.dylib - name: Upload Metal uses: actions/upload-artifact@v3 with: @@ -212,12 +212,12 @@ jobs: - name: Rearrange MacOS files if: ${{ github.event.inputs.macos }} run: | - mkdir deps/macos-arm64 - mkdir deps/macos-x86_64 + mkdir deps/osx-arm64 + mkdir deps/osx-x64 - cp artifacts/llama-bin-macos-arm64.dylib/libllama.dylib deps/macos-arm64/libllama.dylib - cp artifacts/ggml-metal.metal/ggml-metal.metal deps/macos-arm64/ggml-metal.metal - cp artifacts/llama-bin-macos-x86_64.dylib/libllama.dylib deps/macos-x86_64/libllama.dylib + cp artifacts/llama-bin-osx-arm64.dylib/libllama.dylib deps/osx-arm64/libllama.dylib + cp artifacts/ggml-metal.metal/ggml-metal.metal deps/osx-arm64/ggml-metal.metal + cp artifacts/llama-bin-osx-x64.dylib/libllama.dylib deps/osx-x64/libllama.dylib - name: Rearrange CUDA files diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index db051001..0d958e0d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,13 +12,13 @@ jobs: strategy: fail-fast: false matrix: - build: [linux-release, windows-release, macos-release] + build: [linux-release, windows-release, osx-release] include: - build: linux-release os: ubuntu-latest config: release - - build: macos-release - os: macos-latest + - build: osx-release + os: osx-latest config: release - build: windows-release os: windows-2019 diff --git a/LLama/LLamaSharp.Runtime.targets b/LLama/LLamaSharp.Runtime.targets index bc9a6911..c14f0ffa 100644 --- a/LLama/LLamaSharp.Runtime.targets +++ b/LLama/LLamaSharp.Runtime.targets @@ -27,17 +27,17 @@ PreserveNewest libllama-cuda12.so - + PreserveNewest - runtimes/macos-arm64/libllama.dylib + runtimes/osx-arm64/libllama.dylib - + PreserveNewest - runtimes/macos-arm64/ggml-metal.metal + runtimes/osx-arm64/ggml-metal.metal - + PreserveNewest - runtimes/macos-x86_64/libllama.dylib + runtimes/osx-x64/libllama.dylib \ No newline at end of file diff --git a/LLama/Native/NativeApi.cs b/LLama/Native/NativeApi.cs index 119a36fb..fc408678 100644 --- a/LLama/Native/NativeApi.cs +++ b/LLama/Native/NativeApi.cs @@ -79,8 +79,8 @@ namespace LLama.Native if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { - return TryLoad("runtimes/macos-arm64/libllama.dylib", System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported) - ?? TryLoad("runtimes/macos-x86_64/libllama.dylib") + return TryLoad("runtimes/osx-arm64/libllama.dylib", System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported) + ?? TryLoad("runtimes/osx-x64/libllama.dylib") ?? IntPtr.Zero; } #endif diff --git a/LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec b/LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec index 5664be89..29466a1f 100644 --- a/LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec +++ b/LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec @@ -19,9 +19,9 @@ - - - + + + diff --git a/LLama/runtimes/macos-arm64/ggml-metal.metal b/LLama/runtimes/osx-arm64/ggml-metal.metal similarity index 100% rename from LLama/runtimes/macos-arm64/ggml-metal.metal rename to LLama/runtimes/osx-arm64/ggml-metal.metal diff --git a/LLama/runtimes/macos-arm64/libllama.dylib b/LLama/runtimes/osx-arm64/libllama.dylib similarity index 100% rename from LLama/runtimes/macos-arm64/libllama.dylib rename to LLama/runtimes/osx-arm64/libllama.dylib diff --git a/LLama/runtimes/macos-x86_64/libllama.dylib b/LLama/runtimes/osx-x64/libllama.dylib similarity index 100% rename from LLama/runtimes/macos-x86_64/libllama.dylib rename to LLama/runtimes/osx-x64/libllama.dylib