@@ -662,6 +662,8 @@ jobs:
662662 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'
663663 - build : ' msvc-arm64'
664664 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'
665+ - build : ' llvm-arm64-opencl-adreno'
666+ 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'
665667
666668 steps :
667669 - name : Clone
@@ -703,6 +705,28 @@ jobs:
703705 run : |
704706 choco install ninja
705707
708+ - name : Install OpenCL Headers and Libs
709+ id : install_opencl
710+ if : ${{ matrix.build == 'llvm-arm64-opencl-adreno' }}
711+ run : |
712+ git clone https://github.com/KhronosGroup/OpenCL-Headers
713+ cd OpenCL-Headers
714+ mkdir build && cd build
715+ cmake .. `
716+ -DBUILD_TESTING=OFF `
717+ -DOPENCL_HEADERS_BUILD_TESTING=OFF `
718+ -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF `
719+ -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/opencl-x64-release
720+ cmake --build . --target install
721+ git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
722+ cd OpenCL-ICD-Loader
723+ mkdir build-arm64-release && cd build-arm64-release
724+ cmake .. `
725+ -A arm64 `
726+ -DCMAKE_PREFIX_PATH=${{github.workspace}}/opencl-arm64-release `
727+ -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/opencl-arm64-release
728+ cmake --build . --target install --config release
729+
706730 - name : Build
707731 id : cmake_build
708732 run : |
@@ -732,7 +756,7 @@ jobs:
732756 - name : Test
733757 id : cmake_test
734758 # not all machines have native AVX-512
735- 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') }}
759+ 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') }}
736760 run : |
737761 cd build
738762 ctest -L main -C Release --verbose --timeout 900
0 commit comments