@@ -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="$env:RUNNER_TEMP/opencl-arm64-release" -DGGML_OPENCL=ON -DGGML_OPENCL_USE_ADRENO_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="$env:RUNNER_TEMP/opencl-arm64-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="$env:RUNNER_TEMP/opencl-arm64-release" ` 
727+             -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/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