From 43ab09b85dc405461c5a206e44b94548e4171e47 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 4 Apr 2025 13:43:43 +0300 Subject: [PATCH] ci : testing (wip) --- .github/workflows/build.yml | 4 ++++ cmake/arm64-windows-mingw-gcc.cmake | 6 ++++++ cmake/arm64-windows-msvc.cmake | 18 +++++++++++++----- 3 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 cmake/arm64-windows-mingw-gcc.cmake diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9b955f905..3acd9acc1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -826,6 +826,10 @@ jobs: defines: '-G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-llvm.cmake -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON' - build: 'msvc-arm64' defines: '-G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-msvc.cmake -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON' + - build: 'msvc-arm64' + defines: '-G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-msvc.cmake -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON' + - build: 'mingw-gcc-arm64' + defines: '-G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-mingw-gcc.cmake -DGGML_NATIVE=OFF -DLLAMA_BUILD_SERVER=ON' - build: 'llvm-arm64-opencl-adreno' 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' diff --git a/cmake/arm64-windows-mingw-gcc.cmake b/cmake/arm64-windows-mingw-gcc.cmake new file mode 100644 index 000000000..c77631420 --- /dev/null +++ b/cmake/arm64-windows-mingw-gcc.cmake @@ -0,0 +1,6 @@ +set( CMAKE_SYSTEM_NAME Windows ) +set( CMAKE_SYSTEM_PROCESSOR arm64 ) + +set( target arm64-pc-windows-msvc ) +set( CMAKE_C_COMPILER_TARGET ${target} ) +set( CMAKE_CXX_COMPILER_TARGET ${target} ) diff --git a/cmake/arm64-windows-msvc.cmake b/cmake/arm64-windows-msvc.cmake index c77631420..fa8fbb665 100644 --- a/cmake/arm64-windows-msvc.cmake +++ b/cmake/arm64-windows-msvc.cmake @@ -1,6 +1,14 @@ -set( CMAKE_SYSTEM_NAME Windows ) -set( CMAKE_SYSTEM_PROCESSOR arm64 ) +set(CMAKE_SYSTEM_NAME Windows) +set(CMAKE_SYSTEM_PROCESSOR ARM64) -set( target arm64-pc-windows-msvc ) -set( CMAKE_C_COMPILER_TARGET ${target} ) -set( CMAKE_CXX_COMPILER_TARGET ${target} ) +set(CMAKE_C_COMPILER "cl.exe") +set(CMAKE_CXX_COMPILER "cl.exe") + +set(CMAKE_C_COMPILER_TARGET ${target}) +set(CMAKE_CXX_COMPILER_TARGET ${target}) + +set(arch_c_flags "/arch:ARMV8.4-A /fp:fast /favor:AMD64") +set(warn_c_flags "/wd4101 /wd4102 /wd4505") + +set(CMAKE_C_FLAGS_INIT "${arch_c_flags} ${warn_c_flags}") +set(CMAKE_CXX_FLAGS_INIT "${arch_c_flags} ${warn_c_flags}")