@@ -653,6 +653,8 @@ jobs:
653
653
defines : ' -G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-llvm.cmake -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DBUILD_SHARED_LIBS=ON'
654
654
- build : ' msvc-arm64'
655
655
defines : ' -G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-msvc.cmake -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON -DBUILD_SHARED_LIBS=ON'
656
+ - build : ' llvm-arm64-opencl-adreno'
657
+ defines : ' -G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-llvm.cmake -DCMAKE_PREFIX_PATH=${{github.workspace}}/opencl-x64-release -DGGML_OPENCL=ON -DGGML_OPENCL_SMALL_ALLOC=ON -DGGML_OPENCL_USE_ADRENO_KERNELS=ON -DGGML_OPENCL_EMBED_KERNELS=ON'
656
658
657
659
steps :
658
660
- name : Clone
@@ -694,6 +696,28 @@ jobs:
694
696
run : |
695
697
choco install ninja
696
698
699
+ - name : Install OpenCL Headers and Libs
700
+ id : install_opencl
701
+ if : ${{ matrix.build == 'llvm-arm64-opencl-adreno' }}
702
+ run : |
703
+ git clone https://github.com/KhronosGroup/OpenCL-Headers
704
+ cd OpenCL-Headers
705
+ mkdir build && cd build
706
+ cmake .. `
707
+ -DBUILD_TESTING=OFF `
708
+ -DOPENCL_HEADERS_BUILD_TESTING=OFF `
709
+ -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF `
710
+ -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/opencl-x64-release
711
+ cmake --build . --target install
712
+ git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
713
+ cd OpenCL-ICD-Loader
714
+ mkdir build-arm64-release && cd build-arm64-release
715
+ cmake .. `
716
+ -A arm64 `
717
+ -DCMAKE_PREFIX_PATH=${{github.workspace}}/opencl-arm64-release `
718
+ -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/opencl-arm64-release
719
+ cmake --build . --target install --config release
720
+
697
721
- name : Build
698
722
id : cmake_build
699
723
run : |
@@ -723,7 +747,7 @@ jobs:
723
747
- name : Test
724
748
id : cmake_test
725
749
# not all machines have native AVX-512
726
- if : ${{ matrix.build != 'msvc-arm64' && matrix.build != 'llvm-arm64' && matrix.build != 'kompute-x64' && matrix.build != 'vulkan-x64' && (matrix.build != 'avx512-x64' || env.HAS_AVX512F == '1') }}
750
+ if : ${{ matrix.build != 'msvc-arm64' && matrix.build != 'llvm-arm64' && matrix.build != 'llvm-arm64-opencl-adreno' && matrix.build != ' kompute-x64' && matrix.build != 'vulkan-x64' && (matrix.build != 'avx512-x64' || env.HAS_AVX512F == '1') }}
727
751
run : |
728
752
cd build
729
753
ctest -L main -C Release --verbose --timeout 900
0 commit comments