Update MacOS Binaries (#143)
* Restore macOS pipelines * Generate Metal binaries.
This commit is contained in:
parent
b1f33fa20e
commit
5a119c4ee1
|
@ -126,37 +126,40 @@ jobs:
|
||||||
compile-macos:
|
compile-macos:
|
||||||
if: ${{ github.event.inputs.macos }}
|
if: ${{ github.event.inputs.macos }}
|
||||||
name: Compile (MacOS)
|
name: Compile (MacOS)
|
||||||
runs-on: macos-latest
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: true
|
||||||
matrix:
|
matrix:
|
||||||
arch: [
|
include:
|
||||||
"arm64"
|
- build: 'cpu'
|
||||||
]
|
defines: '-DLLAMA_BUILD_TESTS=OFF -DLLAMA_METAL=OFF -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_SERVER=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_OSX_ARCHITECTURES=arm64'
|
||||||
|
- build: 'metal'
|
||||||
|
defines: '-DLLAMA_BUILD_TESTS=OFF -DLLAMA_METAL=ON -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_SERVER=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_OSX_ARCHITECTURES=arm64'
|
||||||
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
repository: ggerganov/llama.cpp
|
repository: ggerganov/llama.cpp
|
||||||
|
|
||||||
- name: Dependencies
|
- name: Dependencies
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
brew update
|
brew update
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
id: cmake_build
|
id: cmake_build
|
||||||
run: |
|
run: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_SERVER=OFF -DLLAMA_AVX2=OFF -DLLAMA_FMA=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} ..
|
cmake .. ${{ matrix.defines }}
|
||||||
cmake --build . --config Release
|
cmake --build . --config Release
|
||||||
|
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
path: ./build/libllama.dylib
|
path: ./build/libllama.dylib
|
||||||
name: llama-bin-macos-${{ matrix.arch }}.dylib
|
name: llama-bin-macos-${{ matrix.build }}.dylib
|
||||||
|
- name: Upload Metal
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
path: ./build/bin/ggml-metal.metal
|
||||||
|
name: ggml-metal.metal
|
||||||
|
|
||||||
build-deps:
|
build-deps:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -172,7 +175,6 @@ jobs:
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
path: artifacts
|
path: artifacts
|
||||||
|
|
||||||
- name: Rearrange Files
|
- name: Rearrange Files
|
||||||
run: |
|
run: |
|
||||||
ls -R
|
ls -R
|
||||||
|
@ -188,17 +190,19 @@ jobs:
|
||||||
cp artifacts/llama-bin-linux-avx512-x64.so/libllama.so deps/avx512/libllama.so
|
cp artifacts/llama-bin-linux-avx512-x64.so/libllama.so deps/avx512/libllama.so
|
||||||
|
|
||||||
cp artifacts/llama-bin-win-noavx-x64.dll/llama.dll deps/libllama.dll
|
cp artifacts/llama-bin-win-noavx-x64.dll/llama.dll deps/libllama.dll
|
||||||
mkdir deps/win/avx
|
|
||||||
cp artifacts/llama-bin-win-avx-x64.dll/llama.dll deps/avx/libllama.dll
|
cp artifacts/llama-bin-win-avx-x64.dll/llama.dll deps/avx/libllama.dll
|
||||||
mkdir deps/win/avx2
|
|
||||||
cp artifacts/llama-bin-win-avx2-x64.dll/llama.dll deps/avx2/libllama.dll
|
cp artifacts/llama-bin-win-avx2-x64.dll/llama.dll deps/avx2/libllama.dll
|
||||||
mkdir deps/win/avx512
|
|
||||||
cp artifacts/llama-bin-win-avx512-x64.dll/llama.dll deps/avx512/libllama.dll
|
cp artifacts/llama-bin-win-avx512-x64.dll/llama.dll deps/avx512/libllama.dll
|
||||||
|
|
||||||
- name: Rearrange MacOS files
|
- name: Rearrange MacOS files
|
||||||
if: ${{ github.event.inputs.macos }}
|
if: ${{ github.event.inputs.macos }}
|
||||||
run: |
|
run: |
|
||||||
cp artifacts/llama-bin-macos-arm64.dylib/libllama.dylib deps/libllama.dylib
|
mkdir deps/macos-cpu
|
||||||
|
cp artifacts/llama-bin-macos-cpu.dylib/libllama.dylib deps/macos-cpu/libllama.dylib
|
||||||
|
mkdir deps/macos-metal
|
||||||
|
cp artifacts/llama-bin-macos-metal.dylib/libllama.dylib deps/macos-metal/libllama.dylib
|
||||||
|
cp artifacts/ggml-metal.metal/ggml-metal.metal deps/macos-metal/ggml-metal.metal
|
||||||
|
|
||||||
|
|
||||||
- name: Rearrange CUDA files
|
- name: Rearrange CUDA files
|
||||||
if: ${{ github.event.inputs.cublas }}
|
if: ${{ github.event.inputs.cublas }}
|
||||||
|
|
|
@ -20,12 +20,12 @@ jobs:
|
||||||
- build: linux-release
|
- build: linux-release
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
config: release
|
config: release
|
||||||
# - build: macos-debug
|
# - build: macos-debug
|
||||||
# os: macos-latest
|
# os: macos-latest
|
||||||
# config: debug
|
# config: debug
|
||||||
# - build: macos-release
|
# - build: macos-release
|
||||||
# os: macos-latest
|
# os: macos-latest
|
||||||
# config: release
|
# config: release
|
||||||
- build: windows-debug
|
- build: windows-debug
|
||||||
os: windows-2019
|
os: windows-2019
|
||||||
config: debug
|
config: debug
|
||||||
|
@ -33,8 +33,8 @@ jobs:
|
||||||
os: windows-2019
|
os: windows-2019
|
||||||
config: release
|
config: release
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-dotnet@v1
|
- uses: actions/setup-dotnet@v3
|
||||||
with:
|
with:
|
||||||
dotnet-version: |
|
dotnet-version: |
|
||||||
6.0.x
|
6.0.x
|
||||||
|
|
Loading…
Reference in New Issue