@@ -653,6 +653,8 @@ jobs:
653653 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'
654654 - build : ' msvc-arm64'
655655 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'
656658
657659 steps :
658660 - name : Clone
@@ -694,6 +696,28 @@ jobs:
694696 run : |
695697 choco install ninja
696698
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+
697721 - name : Build
698722 id : cmake_build
699723 run : |
@@ -723,7 +747,7 @@ jobs:
723747 - name : Test
724748 id : cmake_test
725749 # 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') }}
727751 run : |
728752 cd build
729753 ctest -L main -C Release --verbose --timeout 900
0 commit comments