@@ -756,6 +756,8 @@ jobs:
756
756
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'
757
757
- build : ' msvc-arm64'
758
758
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'
759
+ - build : ' llvm-arm64-opencl-adreno'
760
+ 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'
759
761
760
762
steps :
761
763
- name : Clone
@@ -797,6 +799,28 @@ jobs:
797
799
run : |
798
800
choco install ninja
799
801
802
+ - name : Install OpenCL Headers and Libs
803
+ id : install_opencl
804
+ if : ${{ matrix.build == 'llvm-arm64-opencl-adreno' }}
805
+ run : |
806
+ git clone https://github.com/KhronosGroup/OpenCL-Headers
807
+ cd OpenCL-Headers
808
+ mkdir build && cd build
809
+ cmake .. `
810
+ -DBUILD_TESTING=OFF `
811
+ -DOPENCL_HEADERS_BUILD_TESTING=OFF `
812
+ -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF `
813
+ -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/opencl-x64-release
814
+ cmake --build . --target install
815
+ git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
816
+ cd OpenCL-ICD-Loader
817
+ mkdir build-arm64-release && cd build-arm64-release
818
+ cmake .. `
819
+ -A arm64 `
820
+ -DCMAKE_PREFIX_PATH=${{github.workspace}}/opencl-arm64-release `
821
+ -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/opencl-arm64-release
822
+ cmake --build . --target install --config release
823
+
800
824
- name : Build
801
825
id : cmake_build
802
826
run : |
@@ -826,7 +850,7 @@ jobs:
826
850
- name : Test
827
851
id : cmake_test
828
852
# not all machines have native AVX-512
829
- 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') }}
853
+ 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') }}
830
854
run : |
831
855
cd build
832
856
ctest -L main -C Release --verbose --timeout 900
0 commit comments