Browse Source

Test build and nuget packages

tags/v0.8.0
SignalRT 2 years ago
parent
commit
7691f83516
9 changed files with 30 additions and 24 deletions
  1. +7
    -1
      .github/prepare_release.sh
  2. +9
    -9
      .github/workflows/compile.yml
  3. +3
    -3
      .github/workflows/main.yml
  4. +6
    -6
      LLama/LLamaSharp.Runtime.targets
  5. +2
    -2
      LLama/Native/NativeApi.cs
  6. +3
    -3
      LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec
  7. +0
    -0
      LLama/runtimes/osx-arm64/ggml-metal.metal
  8. +0
    -0
      LLama/runtimes/osx-arm64/libllama.dylib
  9. +0
    -0
      LLama/runtimes/osx-x64/libllama.dylib

+ 7
- 1
.github/prepare_release.sh View File

@@ -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";


+ 9
- 9
.github/workflows/compile.yml View File

@@ -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


+ 3
- 3
.github/workflows/main.yml View File

@@ -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


+ 6
- 6
LLama/LLamaSharp.Runtime.targets View File

@@ -27,17 +27,17 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>libllama-cuda12.so</Link>
</None>
<None Include="$(MSBuildThisFileDirectory)runtimes/macos-arm64/libllama.dylib">
<None Include="$(MSBuildThisFileDirectory)runtimes/osx-arm64/libllama.dylib">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>runtimes/macos-arm64/libllama.dylib</Link>
<Link>runtimes/osx-arm64/libllama.dylib</Link>
</None>
<None Include="$(MSBuildThisFileDirectory)runtimes/macos-arm64/ggml-metal.metal">
<None Include="$(MSBuildThisFileDirectory)runtimes/osx-arm64/ggml-metal.metal">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>runtimes/macos-arm64/ggml-metal.metal</Link>
<Link>runtimes/osx-arm64/ggml-metal.metal</Link>
</None>
<None Include="$(MSBuildThisFileDirectory)runtimes/macos-x86_64/libllama.dylib">
<None Include="$(MSBuildThisFileDirectory)runtimes/osx-x64/libllama.dylib">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>runtimes/macos-x86_64/libllama.dylib</Link>
<Link>runtimes/osx-x64/libllama.dylib</Link>
</None>
</ItemGroup>
</Project>

+ 2
- 2
LLama/Native/NativeApi.cs View File

@@ -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


+ 3
- 3
LLama/runtimes/build/LLamaSharp.Backend.Cpu.nuspec View File

@@ -19,9 +19,9 @@
<file src="LLamaSharpBackend.props" target="build/netstandard2.0/LLamaSharp.Backend.Cpu.props" />
<file src="runtimes/libllama.dll" target="runtimes\win-x64\native\libllama.dll" />
<file src="runtimes/libllama.so" target="runtimes\linux-x64\native\libllama.so" />
<file src="runtimes/macos-x86_64/libllama.dylib" target="runtimes\osx-x64\native\libllama.dylib" />
<file src="runtimes/macos-arm64/libllama.dylib" target="runtimes\osx-arm64\native\libllama.dylib" />
<file src="runtimes/macos-arm54/ggml-metal.metal" target="runtimes\osx-arm64\native\ggml-metal.metal" />
<file src="runtimes/osx-x64/libllama.dylib" target="runtimes\osx-x64\native\libllama.dylib" />
<file src="runtimes/osx-arm64/libllama.dylib" target="runtimes\osx-arm64\native\libllama.dylib" />
<file src="runtimes/osx-arm64/ggml-metal.metal" target="runtimes\osx-arm64\native\ggml-metal.metal" />
<file src="icon512.png" target="icon512.png" />
</files>
</package>

LLama/runtimes/macos-arm64/ggml-metal.metal → LLama/runtimes/osx-arm64/ggml-metal.metal View File


LLama/runtimes/macos-arm64/libllama.dylib → LLama/runtimes/osx-arm64/libllama.dylib View File


LLama/runtimes/macos-x86_64/libllama.dylib → LLama/runtimes/osx-x64/libllama.dylib View File


Loading…
Cancel
Save