|
|
@@ -54,6 +54,7 @@ jobs:
|
|
|
continue-on-error: true
|
|
|
run: |
|
|
|
brew update
|
|
|
+ brew install curl
|
|
|
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
@@ -62,7 +63,6 @@ jobs:
|
|
|
cmake -B build \
|
|
|
-DCMAKE_BUILD_RPATH="@loader_path" \
|
|
|
-DLLAMA_FATAL_WARNINGS=ON \
|
|
|
- -DLLAMA_CURL=ON \
|
|
|
-DGGML_METAL_USE_BF16=ON \
|
|
|
-DGGML_METAL_EMBED_LIBRARY=ON \
|
|
|
-DGGML_RPC=ON
|
|
|
@@ -92,7 +92,6 @@ jobs:
|
|
|
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
run: |
|
|
|
cp LICENSE ./build/bin/
|
|
|
- cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp
|
|
|
zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.zip ./build/bin/*
|
|
|
|
|
|
- name: Upload artifacts
|
|
|
@@ -123,6 +122,7 @@ jobs:
|
|
|
continue-on-error: true
|
|
|
run: |
|
|
|
brew update
|
|
|
+ brew install curl
|
|
|
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
@@ -133,7 +133,6 @@ jobs:
|
|
|
cmake -B build \
|
|
|
-DCMAKE_BUILD_RPATH="@loader_path" \
|
|
|
-DLLAMA_FATAL_WARNINGS=ON \
|
|
|
- -DLLAMA_CURL=ON \
|
|
|
-DGGML_METAL=OFF \
|
|
|
-DGGML_RPC=ON
|
|
|
cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
|
|
|
@@ -162,7 +161,6 @@ jobs:
|
|
|
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
run: |
|
|
|
cp LICENSE ./build/bin/
|
|
|
- cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp
|
|
|
zip -r llama-${{ steps.tag.outputs.name }}-bin-macos-x64.zip ./build/bin/*
|
|
|
|
|
|
- name: Upload artifacts
|
|
|
@@ -207,7 +205,6 @@ jobs:
|
|
|
run: |
|
|
|
cmake -B build \
|
|
|
-DLLAMA_FATAL_WARNINGS=ON \
|
|
|
- -DLLAMA_CURL=ON \
|
|
|
-DGGML_RPC=ON
|
|
|
cmake --build build --config Release -j $(nproc)
|
|
|
|
|
|
@@ -246,7 +243,6 @@ jobs:
|
|
|
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
run: |
|
|
|
cp LICENSE ./build/bin/
|
|
|
- cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp
|
|
|
zip -r llama-${{ steps.tag.outputs.name }}-bin-ubuntu-${{ matrix.build }}.zip ./build/bin/*
|
|
|
|
|
|
- name: Upload artifacts
|
|
|
@@ -281,7 +277,7 @@ jobs:
|
|
|
id: depends
|
|
|
run: |
|
|
|
sudo apt-get update
|
|
|
- sudo apt-get install build-essential
|
|
|
+ sudo apt-get install build-essential libcurl4-openssl-dev
|
|
|
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
@@ -322,7 +318,7 @@ jobs:
|
|
|
id: depends
|
|
|
run: |
|
|
|
sudo apt-get update
|
|
|
- sudo apt-get install build-essential
|
|
|
+ sudo apt-get install build-essential libcurl4-openssl-dev
|
|
|
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
@@ -360,7 +356,7 @@ jobs:
|
|
|
id: depends
|
|
|
run: |
|
|
|
sudo apt-get update
|
|
|
- sudo apt-get install build-essential
|
|
|
+ sudo apt-get install build-essential libcurl4-openssl-dev
|
|
|
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
@@ -397,7 +393,7 @@ jobs:
|
|
|
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
|
|
|
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
|
|
|
sudo apt-get update -y
|
|
|
- sudo apt-get install -y build-essential mesa-vulkan-drivers vulkan-sdk
|
|
|
+ sudo apt-get install -y build-essential mesa-vulkan-drivers vulkan-sdk libcurl4-openssl-dev
|
|
|
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
@@ -431,7 +427,6 @@ jobs:
|
|
|
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
run: |
|
|
|
cp LICENSE ./build/bin/
|
|
|
- cp examples/run/linenoise.cpp/LICENSE ./build/bin/LICENSE.linenoise.cpp
|
|
|
zip -r llama-${{ steps.tag.outputs.name }}-bin-ubuntu-vulkan-x64.zip ./build/bin/*
|
|
|
|
|
|
- name: Upload artifacts
|
|
|
@@ -454,7 +449,7 @@ jobs:
|
|
|
id: depends
|
|
|
run: |
|
|
|
sudo apt-get update
|
|
|
- sudo apt-get install -y build-essential git cmake rocblas-dev hipblas-dev
|
|
|
+ sudo apt-get install -y build-essential git cmake rocblas-dev hipblas-dev libcurl4-openssl-dev
|
|
|
|
|
|
- name: ccache
|
|
|
uses: hendrikmuhs/ccache-action@v1.2.16
|
|
|
@@ -530,7 +525,7 @@ jobs:
|
|
|
shell: bash
|
|
|
run: |
|
|
|
sudo apt update
|
|
|
- sudo apt install intel-oneapi-compiler-dpcpp-cpp
|
|
|
+ sudo apt install intel-oneapi-compiler-dpcpp-cpp libcurl4-openssl-dev
|
|
|
|
|
|
- name: install oneAPI MKL library
|
|
|
shell: bash
|
|
|
@@ -578,7 +573,7 @@ jobs:
|
|
|
shell: bash
|
|
|
run: |
|
|
|
sudo apt update
|
|
|
- sudo apt install intel-oneapi-compiler-dpcpp-cpp
|
|
|
+ sudo apt install intel-oneapi-compiler-dpcpp-cpp libcurl4-openssl-dev
|
|
|
|
|
|
- name: install oneAPI MKL library
|
|
|
shell: bash
|
|
|
@@ -636,6 +631,7 @@ jobs:
|
|
|
cmake -B build -G Xcode \
|
|
|
-DGGML_METAL_USE_BF16=ON \
|
|
|
-DGGML_METAL_EMBED_LIBRARY=ON \
|
|
|
+ -DLLAMA_BUILD_COMMON=OFF \
|
|
|
-DLLAMA_BUILD_EXAMPLES=OFF \
|
|
|
-DLLAMA_BUILD_TESTS=OFF \
|
|
|
-DLLAMA_BUILD_SERVER=OFF \
|
|
|
@@ -671,6 +667,7 @@ jobs:
|
|
|
cmake -B build -G Xcode \
|
|
|
-DGGML_METAL_USE_BF16=ON \
|
|
|
-DGGML_METAL_EMBED_LIBRARY=ON \
|
|
|
+ -DLLAMA_BUILD_COMMON=OFF \
|
|
|
-DLLAMA_BUILD_EXAMPLES=OFF \
|
|
|
-DLLAMA_BUILD_TESTS=OFF \
|
|
|
-DLLAMA_BUILD_SERVER=OFF \
|
|
|
@@ -700,6 +697,7 @@ jobs:
|
|
|
cmake -B build -G Xcode \
|
|
|
-DGGML_METAL_USE_BF16=ON \
|
|
|
-DGGML_METAL_EMBED_LIBRARY=ON \
|
|
|
+ -DLLAMA_BUILD_COMMON=OFF \
|
|
|
-DLLAMA_BUILD_EXAMPLES=OFF \
|
|
|
-DLLAMA_BUILD_TESTS=OFF \
|
|
|
-DLLAMA_BUILD_SERVER=OFF \
|
|
|
@@ -739,6 +737,7 @@ jobs:
|
|
|
cmake -B build -G Xcode \
|
|
|
-DGGML_METAL_USE_BF16=ON \
|
|
|
-DGGML_METAL_EMBED_LIBRARY=ON \
|
|
|
+ -DLLAMA_CURL=OFF \
|
|
|
-DLLAMA_BUILD_EXAMPLES=OFF \
|
|
|
-DLLAMA_BUILD_TESTS=OFF \
|
|
|
-DLLAMA_BUILD_SERVER=OFF \
|
|
|
@@ -899,10 +898,17 @@ jobs:
|
|
|
-DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
|
|
|
cmake --build build-arm64-release --target install --config release
|
|
|
|
|
|
+ - name: libCURL
|
|
|
+ id: get_libcurl
|
|
|
+ uses: ./.github/actions/windows-setup-curl
|
|
|
+
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
+ env:
|
|
|
+ CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }}
|
|
|
run: |
|
|
|
- cmake -S . -B build ${{ matrix.defines }}
|
|
|
+ cmake -S . -B build ${{ matrix.defines }} `
|
|
|
+ -DCURL_LIBRARY="$env:CURL_PATH/lib/libcurl.dll.a" -DCURL_INCLUDE_DIR="$env:CURL_PATH/include"
|
|
|
cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS}
|
|
|
|
|
|
- name: Add libopenblas.dll
|
|
|
@@ -962,9 +968,10 @@ jobs:
|
|
|
- name: Pack artifacts
|
|
|
id: pack_artifacts
|
|
|
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
+ env:
|
|
|
+ CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }}
|
|
|
run: |
|
|
|
- Copy-Item LICENSE .\build\bin\Release\llama.cpp.txt
|
|
|
- Copy-Item .\examples\run\linenoise.cpp\LICENSE .\build\bin\Release\linenoise.cpp.txt
|
|
|
+ Copy-Item $env:CURL_PATH\bin\libcurl-x64.dll .\build\bin\Release\libcurl-x64.dll
|
|
|
7z a llama-${{ steps.tag.outputs.name }}-bin-win-${{ matrix.build }}.zip .\build\bin\Release\*
|
|
|
|
|
|
- name: Upload artifacts
|
|
|
@@ -990,7 +997,7 @@ jobs:
|
|
|
DEBIAN_FRONTEND: noninteractive
|
|
|
run: |
|
|
|
apt update
|
|
|
- apt install -y cmake build-essential ninja-build libgomp1 git
|
|
|
+ apt install -y cmake build-essential ninja-build libgomp1 git libcurl4-openssl-dev
|
|
|
|
|
|
- name: ccache
|
|
|
uses: hendrikmuhs/ccache-action@v1.2.16
|
|
|
@@ -1092,16 +1099,23 @@ jobs:
|
|
|
run: |
|
|
|
choco install ninja
|
|
|
|
|
|
+ - name: libCURL
|
|
|
+ id: get_libcurl
|
|
|
+ uses: ./.github/actions/windows-setup-curl
|
|
|
+
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
shell: cmd
|
|
|
+ env:
|
|
|
+ CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }}
|
|
|
run: |
|
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
|
cmake -S . -B build -G "Ninja Multi-Config" ^
|
|
|
-DLLAMA_BUILD_SERVER=ON ^
|
|
|
-DGGML_NATIVE=OFF ^
|
|
|
-DGGML_CUDA=ON ^
|
|
|
- -DGGML_RPC=ON
|
|
|
+ -DGGML_RPC=ON ^
|
|
|
+ -DCURL_LIBRARY="%CURL_PATH%/lib/libcurl.dll.a" -DCURL_INCLUDE_DIR="%CURL_PATH%/include"
|
|
|
set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1
|
|
|
cmake --build build --config Release -j %NINJA_JOBS% -t ggml
|
|
|
cmake --build build --config Release
|
|
|
@@ -1122,7 +1136,10 @@ jobs:
|
|
|
- name: Pack artifacts
|
|
|
id: pack_artifacts
|
|
|
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
+ env:
|
|
|
+ CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }}
|
|
|
run: |
|
|
|
+ cp $env:CURL_PATH\bin\libcurl-x64.dll .\build\bin\Release\libcurl-x64.dll
|
|
|
7z a llama-${{ steps.tag.outputs.name }}-bin-win-${{ matrix.build }}-cu${{ matrix.cuda }}-x64.zip .\build\bin\Release\*
|
|
|
|
|
|
- name: Upload artifacts
|
|
|
@@ -1177,6 +1194,8 @@ jobs:
|
|
|
run: |
|
|
|
scripts/install-oneapi.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_MKL
|
|
|
|
|
|
+ # TODO: add libcurl support ; we will also need to modify win-build-sycl.bat to accept user-specified args
|
|
|
+
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
run: examples/sycl/win-build-sycl.bat
|
|
|
@@ -1262,8 +1281,14 @@ jobs:
|
|
|
key: ${{ github.job }}
|
|
|
evict-old-files: 1d
|
|
|
|
|
|
+ - name: libCURL
|
|
|
+ id: get_libcurl
|
|
|
+ uses: ./.github/actions/windows-setup-curl
|
|
|
+
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
+ env:
|
|
|
+ CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }}
|
|
|
run: |
|
|
|
$env:HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path)
|
|
|
$env:CMAKE_PREFIX_PATH="${env:HIP_PATH}"
|
|
|
@@ -1274,9 +1299,11 @@ jobs:
|
|
|
-DCMAKE_BUILD_TYPE=Release `
|
|
|
-DGGML_HIP=ON `
|
|
|
-DGGML_HIP_ROCWMMA_FATTN=ON `
|
|
|
- -DGGML_RPC=ON
|
|
|
+ -DGGML_RPC=ON `
|
|
|
+ -DCURL_LIBRARY="$env:CURL_PATH/lib/libcurl.dll.a" -DCURL_INCLUDE_DIR="$env:CURL_PATH/include"
|
|
|
cmake --build build -j ${env:NUMBER_OF_PROCESSORS}
|
|
|
|
|
|
+ # TODO: reuse windows-latest-cmake-hip instead of duplicating this job
|
|
|
windows-latest-cmake-hip-release:
|
|
|
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
|
|
runs-on: windows-latest
|
|
|
@@ -1318,8 +1345,14 @@ jobs:
|
|
|
run: |
|
|
|
& 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' --version
|
|
|
|
|
|
+ - name: libCURL
|
|
|
+ id: get_libcurl
|
|
|
+ uses: ./.github/actions/windows-setup-curl
|
|
|
+
|
|
|
- name: Build
|
|
|
id: cmake_build
|
|
|
+ env:
|
|
|
+ CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }}
|
|
|
run: |
|
|
|
$env:HIP_PATH=$(Resolve-Path 'C:\Program Files\AMD\ROCm\*\bin\clang.exe' | split-path | split-path)
|
|
|
$env:CMAKE_PREFIX_PATH="${env:HIP_PATH}"
|
|
|
@@ -1331,7 +1364,8 @@ jobs:
|
|
|
-DAMDGPU_TARGETS=${{ matrix.gpu_target }} `
|
|
|
-DGGML_HIP_ROCWMMA_FATTN=ON `
|
|
|
-DGGML_HIP=ON `
|
|
|
- -DGGML_RPC=ON
|
|
|
+ -DGGML_RPC=ON `
|
|
|
+ -DCURL_LIBRARY="$env:CURL_PATH/lib/libcurl.dll.a" -DCURL_INCLUDE_DIR="$env:CURL_PATH/include"
|
|
|
cmake --build build -j ${env:NUMBER_OF_PROCESSORS}
|
|
|
md "build\bin\rocblas\library\"
|
|
|
cp "${env:HIP_PATH}\bin\hipblas.dll" "build\bin\"
|
|
|
@@ -1353,7 +1387,10 @@ jobs:
|
|
|
|
|
|
- name: Pack artifacts
|
|
|
id: pack_artifacts
|
|
|
+ env:
|
|
|
+ CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }}
|
|
|
run: |
|
|
|
+ cp $env:CURL_PATH\bin\libcurl-x64.dll .\build\bin\libcurl-x64.dll
|
|
|
7z a llama-${{ steps.tag.outputs.name }}-bin-win-hip-x64-${{ matrix.gpu_target }}.zip .\build\bin\*
|
|
|
|
|
|
- name: Upload artifacts
|
|
|
@@ -1378,6 +1415,7 @@ jobs:
|
|
|
cmake -B build -G Xcode \
|
|
|
-DGGML_METAL_USE_BF16=ON \
|
|
|
-DGGML_METAL_EMBED_LIBRARY=ON \
|
|
|
+ -DLLAMA_CURL=OFF \
|
|
|
-DLLAMA_BUILD_EXAMPLES=OFF \
|
|
|
-DLLAMA_BUILD_TESTS=OFF \
|
|
|
-DLLAMA_BUILD_SERVER=OFF \
|