ci : update build-self-hosted.yml (#23616)
This commit is contained in:
@@ -57,7 +57,7 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
determine-tag:
|
determine-tag:
|
||||||
name: Determine tag name
|
name: Determine tag name
|
||||||
runs-on: ubuntu-slim
|
runs-on: [self-hosted, fast]
|
||||||
outputs:
|
outputs:
|
||||||
tag_name: ${{ steps.tag.outputs.name }}
|
tag_name: ${{ steps.tag.outputs.name }}
|
||||||
steps:
|
steps:
|
||||||
@@ -86,7 +86,7 @@ jobs:
|
|||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
||||||
run: |
|
run: |
|
||||||
nvidia-smi
|
nvidia-smi
|
||||||
GG_BUILD_CUDA=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp
|
GG_BUILD_CUDA=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-nvidia-vulkan-cm:
|
ggml-ci-nvidia-vulkan-cm:
|
||||||
needs: determine-tag
|
needs: determine-tag
|
||||||
@@ -103,7 +103,7 @@ jobs:
|
|||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
||||||
run: |
|
run: |
|
||||||
vulkaninfo --summary
|
vulkaninfo --summary
|
||||||
GG_BUILD_VULKAN=1 GGML_VK_DISABLE_COOPMAT2=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp
|
GG_BUILD_VULKAN=1 GGML_VK_DISABLE_COOPMAT2=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-nvidia-vulkan-cm2:
|
ggml-ci-nvidia-vulkan-cm2:
|
||||||
needs: determine-tag
|
needs: determine-tag
|
||||||
@@ -120,10 +120,11 @@ jobs:
|
|||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
||||||
run: |
|
run: |
|
||||||
vulkaninfo --summary
|
vulkaninfo --summary
|
||||||
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp
|
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-nvidia-webgpu:
|
ggml-ci-nvidia-webgpu:
|
||||||
runs-on: [self-hosted, Linux, NVIDIA]
|
needs: determine-tag
|
||||||
|
runs-on: [self-hosted, Linux, NVIDIA, X64]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone
|
- name: Clone
|
||||||
@@ -149,10 +150,11 @@ jobs:
|
|||||||
GG_BUILD_WEBGPU=1 \
|
GG_BUILD_WEBGPU=1 \
|
||||||
GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
|
GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
|
||||||
GG_BUILD_WEBGPU_DAWN_DIR="$GITHUB_WORKSPACE/dawn/lib64/cmake/Dawn" \
|
GG_BUILD_WEBGPU_DAWN_DIR="$GITHUB_WORKSPACE/dawn/lib64/cmake/Dawn" \
|
||||||
bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp
|
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
# TODO: provision AMX-compatible machine
|
# TODO: provision AMX-compatible machine
|
||||||
#ggml-ci-cpu-amx:
|
#ggml-ci-cpu-amx:
|
||||||
|
# needs: determine-tag
|
||||||
# runs-on: [self-hosted, Linux, CPU, AMX]
|
# runs-on: [self-hosted, Linux, CPU, AMX]
|
||||||
|
|
||||||
# steps:
|
# steps:
|
||||||
@@ -163,10 +165,11 @@ jobs:
|
|||||||
# - name: Test
|
# - name: Test
|
||||||
# id: ggml-ci
|
# id: ggml-ci
|
||||||
# run: |
|
# run: |
|
||||||
# bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp
|
# bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
# TODO: provision AMD GPU machine
|
# TODO: provision AMD GPU machine
|
||||||
# ggml-ci-amd-vulkan:
|
# ggml-ci-amd-vulkan:
|
||||||
|
# needs: determine-tag
|
||||||
# runs-on: [self-hosted, Linux, AMD]
|
# runs-on: [self-hosted, Linux, AMD]
|
||||||
|
|
||||||
# steps:
|
# steps:
|
||||||
@@ -178,10 +181,11 @@ jobs:
|
|||||||
# id: ggml-ci
|
# id: ggml-ci
|
||||||
# run: |
|
# run: |
|
||||||
# vulkaninfo --summary
|
# vulkaninfo --summary
|
||||||
# GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp
|
# GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
# TODO: provision AMD GPU machine
|
# TODO: provision AMD GPU machine
|
||||||
# ggml-ci-amd-rocm:
|
# ggml-ci-amd-rocm:
|
||||||
|
# needs: determine-tag
|
||||||
# runs-on: [self-hosted, Linux, AMD]
|
# runs-on: [self-hosted, Linux, AMD]
|
||||||
|
|
||||||
# steps:
|
# steps:
|
||||||
@@ -193,7 +197,7 @@ jobs:
|
|||||||
# id: ggml-ci
|
# id: ggml-ci
|
||||||
# run: |
|
# run: |
|
||||||
# amd-smi static
|
# amd-smi static
|
||||||
# GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp
|
# GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
ggml-ci-mac-metal:
|
ggml-ci-mac-metal:
|
||||||
needs: determine-tag
|
needs: determine-tag
|
||||||
@@ -337,4 +341,66 @@ jobs:
|
|||||||
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
|
||||||
run: |
|
run: |
|
||||||
source ./openvino_toolkit/setupvars.sh
|
source ./openvino_toolkit/setupvars.sh
|
||||||
GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
|
ggml-ci-arm64-cpu-low-perf:
|
||||||
|
needs: determine-tag
|
||||||
|
runs-on: [self-hosted, Linux, ARM64]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
id: ggml-ci
|
||||||
|
run: |
|
||||||
|
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
|
ggml-ci-arm64-cpu-high-perf:
|
||||||
|
needs: determine-tag
|
||||||
|
runs-on: [self-hosted, Linux, ARM64]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
id: ggml-ci
|
||||||
|
run: |
|
||||||
|
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|
||||||
|
# TODO: not sure how to detect ARM flags on DGX Spark. currently get this error during cmake:
|
||||||
|
# CMake Warning at ggml/src/ggml-cpu/CMakeLists.txt:147 (message):
|
||||||
|
# ARM -march/-mcpu not found, -mcpu=native will be used
|
||||||
|
#
|
||||||
|
# if we resolve this, we should be able to offload these jobs to the self-hosted runners
|
||||||
|
#
|
||||||
|
# ggml-ci-arm64-cpu-high-perf-sve:
|
||||||
|
# needs: determine-tag
|
||||||
|
# runs-on: [self-hosted, Linux, NVIDIA, ARM64]
|
||||||
|
#
|
||||||
|
# steps:
|
||||||
|
# - name: Clone
|
||||||
|
# id: checkout
|
||||||
|
# uses: actions/checkout@v6
|
||||||
|
#
|
||||||
|
# - name: Test
|
||||||
|
# id: ggml-ci
|
||||||
|
# run: |
|
||||||
|
# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
#
|
||||||
|
# ggml-ci-arm64-cpu-kleidiai:
|
||||||
|
# needs: determine-tag
|
||||||
|
# runs-on: [self-hosted, Linux, NVIDIA, ARM64]
|
||||||
|
#
|
||||||
|
# steps:
|
||||||
|
# - name: Clone
|
||||||
|
# id: checkout
|
||||||
|
# uses: actions/checkout@v6
|
||||||
|
#
|
||||||
|
# - name: Test
|
||||||
|
# id: ggml-ci
|
||||||
|
# run: |
|
||||||
|
# GG_BUILD_KLEIDIAI=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
|
||||||
|
|||||||
+52
-50
@@ -931,31 +931,32 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
||||||
|
|
||||||
ggml-ci-arm64-cpu-low-perf:
|
# note: moved to build-self-hosted.yml - can remove from here when everything is stable
|
||||||
runs-on: ubuntu-22.04-arm
|
# ggml-ci-arm64-cpu-low-perf:
|
||||||
|
# runs-on: ubuntu-22.04-arm
|
||||||
steps:
|
#
|
||||||
- name: Clone
|
# steps:
|
||||||
id: checkout
|
# - name: Clone
|
||||||
uses: actions/checkout@v6
|
# id: checkout
|
||||||
|
# uses: actions/checkout@v6
|
||||||
- name: ccache
|
#
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
# - name: ccache
|
||||||
with:
|
# uses: ggml-org/ccache-action@v1.2.21
|
||||||
key: ggml-ci-arm64-cpu-low-perf
|
# with:
|
||||||
evict-old-files: 1d
|
# key: ggml-ci-arm64-cpu-low-perf
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
# evict-old-files: 1d
|
||||||
|
# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
- name: Dependencies
|
#
|
||||||
id: depends
|
# - name: Dependencies
|
||||||
run: |
|
# id: depends
|
||||||
sudo apt-get update
|
# run: |
|
||||||
sudo apt-get install build-essential
|
# sudo apt-get update
|
||||||
|
# sudo apt-get install build-essential
|
||||||
- name: Test
|
#
|
||||||
id: ggml-ci
|
# - name: Test
|
||||||
run: |
|
# id: ggml-ci
|
||||||
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
# run: |
|
||||||
|
# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
||||||
|
|
||||||
ggml-ci-x64-cpu-high-perf:
|
ggml-ci-x64-cpu-high-perf:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
@@ -983,31 +984,32 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
||||||
|
|
||||||
ggml-ci-arm64-cpu-high-perf:
|
# note: moved to build-self-hosted.yml - can remove from here when everything is stable
|
||||||
runs-on: ubuntu-22.04-arm
|
# ggml-ci-arm64-cpu-high-perf:
|
||||||
|
# runs-on: ubuntu-22.04-arm
|
||||||
steps:
|
#
|
||||||
- name: Clone
|
# steps:
|
||||||
id: checkout
|
# - name: Clone
|
||||||
uses: actions/checkout@v6
|
# id: checkout
|
||||||
|
# uses: actions/checkout@v6
|
||||||
- name: ccache
|
#
|
||||||
uses: ggml-org/ccache-action@v1.2.21
|
# - name: ccache
|
||||||
with:
|
# uses: ggml-org/ccache-action@v1.2.21
|
||||||
key: ggml-ci-arm64-cpu-high-perf
|
# with:
|
||||||
evict-old-files: 1d
|
# key: ggml-ci-arm64-cpu-high-perf
|
||||||
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
# evict-old-files: 1d
|
||||||
|
# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||||
- name: Dependencies
|
#
|
||||||
id: depends
|
# - name: Dependencies
|
||||||
run: |
|
# id: depends
|
||||||
sudo apt-get update
|
# run: |
|
||||||
sudo apt-get install build-essential
|
# sudo apt-get update
|
||||||
|
# sudo apt-get install build-essential
|
||||||
- name: Test
|
#
|
||||||
id: ggml-ci
|
# - name: Test
|
||||||
run: |
|
# id: ggml-ci
|
||||||
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
# run: |
|
||||||
|
# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
|
||||||
|
|
||||||
ggml-ci-arm64-cpu-high-perf-sve:
|
ggml-ci-arm64-cpu-high-perf-sve:
|
||||||
runs-on: ubuntu-22.04-arm
|
runs-on: ubuntu-22.04-arm
|
||||||
|
|||||||
@@ -91,45 +91,44 @@ jobs:
|
|||||||
export ${{ matrix.extra_args }}
|
export ${{ matrix.extra_args }}
|
||||||
pytest -v -x -m "not slow"
|
pytest -v -x -m "not slow"
|
||||||
|
|
||||||
# TODO: provision CUDA runner
|
server-cuda:
|
||||||
# server-cuda:
|
runs-on: [self-hosted, llama-server, Linux, NVIDIA]
|
||||||
# runs-on: [self-hosted, llama-server, Linux, NVIDIA]
|
|
||||||
#
|
name: server-cuda (${{ matrix.wf_name }})
|
||||||
# name: server-cuda (${{ matrix.wf_name }})
|
strategy:
|
||||||
# strategy:
|
matrix:
|
||||||
# matrix:
|
build_type: [Release]
|
||||||
# build_type: [Release]
|
wf_name: ["GPUx1"]
|
||||||
# wf_name: ["GPUx1"]
|
include:
|
||||||
# include:
|
- build_type: Release
|
||||||
# - build_type: Release
|
extra_args: "LLAMA_ARG_BACKEND_SAMPLING=1"
|
||||||
# extra_args: "LLAMA_ARG_BACKEND_SAMPLING=1"
|
wf_name: "GPUx1, backend-sampling"
|
||||||
# wf_name: "GPUx1, backend-sampling"
|
fail-fast: false
|
||||||
# fail-fast: false
|
|
||||||
#
|
steps:
|
||||||
# steps:
|
- name: Clone
|
||||||
# - name: Clone
|
id: checkout
|
||||||
# id: checkout
|
uses: actions/checkout@v6
|
||||||
# uses: actions/checkout@v6
|
with:
|
||||||
# with:
|
fetch-depth: 0
|
||||||
# fetch-depth: 0
|
ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }}
|
||||||
# ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }}
|
|
||||||
#
|
- name: Build
|
||||||
# - name: Build
|
id: cmake_build
|
||||||
# id: cmake_build
|
run: |
|
||||||
# run: |
|
cmake -B build -DGGML_CUDA=ON -DGGML_SCHED_NO_REALLOC=ON
|
||||||
# cmake -B build -DGGML_SCHED_NO_REALLOC=ON
|
cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server
|
||||||
# cmake --build build --config ${{ matrix.build_type }} -j $(sysctl -n hw.logicalcpu) --target llama-server
|
|
||||||
#
|
- name: Tests
|
||||||
# - name: Tests
|
id: server_integration_tests
|
||||||
# id: server_integration_tests
|
if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) }}
|
||||||
# if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) }}
|
run: |
|
||||||
# run: |
|
cd tools/server/tests
|
||||||
# cd tools/server/tests
|
python3 -m venv venv
|
||||||
# python3 -m venv venv
|
source venv/bin/activate
|
||||||
# source venv/bin/activate
|
pip install -r requirements.txt
|
||||||
# pip install -r requirements.txt
|
export ${{ matrix.extra_args }}
|
||||||
# export ${{ matrix.extra_args }}
|
pytest -v -x -m "not slow"
|
||||||
# pytest -v -x -m "not slow"
|
|
||||||
|
|
||||||
server-kleidiai:
|
server-kleidiai:
|
||||||
runs-on: ah-ubuntu_22_04-c8g_8x
|
runs-on: ah-ubuntu_22_04-c8g_8x
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ function gg_run_ctest_debug {
|
|||||||
(cmake -G "${CMAKE_GENERATOR}" -DCMAKE_BUILD_TYPE=Debug ${CMAKE_EXTRA} .. ) 2>&1 | tee -a $OUT/${ci}-cmake.log
|
(cmake -G "${CMAKE_GENERATOR}" -DCMAKE_BUILD_TYPE=Debug ${CMAKE_EXTRA} .. ) 2>&1 | tee -a $OUT/${ci}-cmake.log
|
||||||
(time cmake --build . --config Debug -j$(nproc)) 2>&1 | tee -a $OUT/${ci}-make.log
|
(time cmake --build . --config Debug -j$(nproc)) 2>&1 | tee -a $OUT/${ci}-make.log
|
||||||
|
|
||||||
(time ctest -C Debug --output-on-failure -L main -E "test-opt|test-backend-ops" ${CTEST_EXTRA}) 2>&1 | tee -a $OUT/${ci}-ctest.log
|
(time ctest -C Debug --output-on-failure -L main -E "test-opt|test-backend-ops|test-llama-archs" ${CTEST_EXTRA}) 2>&1 | tee -a $OUT/${ci}-ctest.log
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user