metal : add perf-metal tool + fix build #1653
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: | |
if: false | |
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_CLBLAST=ON .. | |
- name: Build | |
working-directory: ./build | |
run: make | |
- name: Test | |
working-directory: ./build | |
run: ctest --verbose --timeout 900 | |
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_METAL=OFF .. | |
- name: Build | |
working-directory: ./build | |
run: make | |
- name: Test | |
working-directory: ./build | |
run: ctest --verbose --timeout 900 | |
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_METAL=OFF .. | |
- name: Build | |
working-directory: ./build | |
run: make | |
- name: Test | |
working-directory: ./build | |
run: ctest --verbose --timeout 900 |