GGUF file format specification #678
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
test-ubuntu-opencl: | |
runs-on: ubuntu-latest | |
env: | |
GGML_NLOOP: 3 | |
GGML_NITER: 1 | |
GGML_N_THREADS: 2 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Dependencies | |
run: | | |
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null | |
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends llvm intel-oneapi-runtime-opencl intel-oneapi-runtime-compilers libclblast-dev | |
- name: Create Build Environment | |
run: mkdir build | |
- name: Configure CMake | |
working-directory: ./build | |
run: cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DGGML_TEST_COVERAGE=ON -DGGML_CLBLAST=ON .. | |
- name: Build | |
working-directory: ./build | |
run: make | |
- name: Test | |
working-directory: ./build | |
run: ctest --verbose --timeout 900 | |
- name: Test Coverage | |
working-directory: ./build | |
run: | | |
llvm-profdata merge -sparse tests/*.profraw -o ggml.profdata | |
llvm-cov report ./bin/test-grad0 -instr-profile=ggml.profdata | |
llvm-cov report ./bin/test-opt -instr-profile=ggml.profdata | |
test-macos-metal: | |
runs-on: macos-13 | |
env: | |
GGML_NLOOP: 3 | |
GGML_NITER: 1 | |
GGML_N_THREADS: 2 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Create Build Environment | |
run: mkdir build | |
- name: Configure CMake | |
working-directory: ./build | |
run: cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DGGML_TEST_COVERAGE=ON -DGGML_METAL=ON .. | |
- name: Build | |
working-directory: ./build | |
run: make | |
- name: Test | |
working-directory: ./build | |
run: ctest --verbose --timeout 900 | |
- name: Test Coverage | |
working-directory: ./build | |
run: | | |
xcrun llvm-profdata merge -sparse tests/*.profraw -o ggml.profdata | |
xcrun llvm-cov report ./bin/test-grad0 -instr-profile=ggml.profdata | |
xcrun llvm-cov report ./bin/test-opt -instr-profile=ggml.profdata | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
env: | |
GGML_NLOOP: 3 | |
GGML_NITER: 1 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Dependencies for Ubuntu | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install llvm | |
- name: Set GGML_N_THREADS for Ubuntu | |
run: echo "GGML_N_THREADS=2" >> $GITHUB_ENV | |
if: matrix.os == 'ubuntu-latest' | |
- name: Set GGML_N_THREADS for MacOS | |
run: echo "GGML_N_THREADS=2" >> $GITHUB_ENV | |
if: matrix.os == 'macos-latest' | |
- name: Create Build Environment | |
run: mkdir build | |
- name: Configure CMake | |
working-directory: ./build | |
run: cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DGGML_TEST_COVERAGE=ON .. | |
- name: Build | |
working-directory: ./build | |
run: make | |
- name: Test | |
working-directory: ./build | |
run: ctest --verbose --timeout 900 | |
- name: Test Coverage for Ubuntu | |
if: matrix.os == 'ubuntu-latest' | |
working-directory: ./build | |
run: | | |
llvm-profdata merge -sparse tests/*.profraw -o ggml.profdata | |
llvm-cov report ./bin/test-grad0 -instr-profile=ggml.profdata | |
llvm-cov report ./bin/test-opt -instr-profile=ggml.profdata | |
- name: Test Coverage for MacOS | |
if: matrix.os == 'macos-latest' | |
working-directory: ./build | |
run: | | |
xcrun llvm-profdata merge -sparse tests/*.profraw -o ggml.profdata | |
xcrun llvm-cov report ./bin/test-grad0 -instr-profile=ggml.profdata | |
xcrun llvm-cov report ./bin/test-opt -instr-profile=ggml.profdata |