Skip to content

Expert LRU cache + Q8_K kernels + backend gap closure #70

Expert LRU cache + Q8_K kernels + backend gap closure

Expert LRU cache + Q8_K kernels + backend gap closure #70

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-and-test:
strategy:
matrix:
include:
- os: ubuntu-latest
cc: gcc
- os: ubuntu-latest
cc: clang
- os: macos-latest
cc: clang
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Build
run: make bitnet
env:
CC: ${{ matrix.cc }}
- name: Test
run: make test
env:
CC: ${{ matrix.cc }}
sanitizers:
runs-on: ubuntu-latest
strategy:
matrix:
sanitizer: [asan, tsan]
steps:
- uses: actions/checkout@v4
- name: Build and test with sanitizer
run: |
if [ "${{ matrix.sanitizer }}" = "asan" ]; then
make test CFLAGS="-O1 -g -march=native -std=c11 -D_GNU_SOURCE -Iinclude -Wall -Wextra \
-fsanitize=address,undefined -fno-omit-frame-pointer" \
LDFLAGS="-lm -lpthread -fsanitize=address,undefined"
else
make test CFLAGS="-O1 -g -march=native -std=c11 -D_GNU_SOURCE -Iinclude -Wall -Wextra \
-fsanitize=thread" \
LDFLAGS="-lm -lpthread -fsanitize=thread"
fi
env:
CC: clang
cppcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install cppcheck
run: sudo apt-get install -y cppcheck
- name: Run cppcheck
run: >
cppcheck --error-exitcode=1 --enable=warning,performance
--suppress=missingIncludeSystem
--suppress=duplicateAssignExpression
-Iinclude src/
avx2-syntax:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: AVX2 syntax check
run: make avx2-check
env:
CC: clang
wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Emscripten
uses: mymindstorm/setup-emsdk@v14
- name: Build WASM
run: wasm/build.sh