-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Open
Labels
Description
Git commit
The latest version.
Operating systems
Windows
GGML backends
CPU
Problem description & steps to reproduce
I'm trying to build ARM64 Llama.cpp on Surface Laptop with below command in 'ARM64 Native Tools Command Prompt for VS 2022' environment:
cmake -B build --preset arm64-windows-llvm-release -D GGML_OPENMP=OFF -DGGML_CPU_KLEIDIAI=ON -DLLAMA_CURL=OFF
cmake --build build --config Release
There're many error while compile 'kleidiai'. How should I fix these issues?
Here is the complete compile failed log:
compile_failed.txt
First Bad Commit
No response
Compile command
cmake -B build --preset arm64-windows-llvm-release -D GGML_OPENMP=OFF -DGGML_CPU_KLEIDIAI=ON -DLLAMA_CURL=OFF
cmake --build build --config Release
Relevant log output
[52/226] Linking CXX shared library bin\ggml-cpu.dll
FAILED: bin/ggml-cpu.dll ggml/src/ggml-cpu.lib
C:\Windows\system32\cmd.exe /C "cd . && C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\Llvm\ARM64\bin\CLANG_~1.EXE --target=arm64-pc-windows-msvc -nostartfiles -nostdlib -march=armv8.7-a -fvectorize -ffp-model=fast -fno-finite-math-only -Wno-format -Wno-unused-variable -Wno-unused-function -Wno-gnu-zero-variadic-macro-arguments -O2 -DNDEBUG -g -Xclang -gcodeview -D_DLL -D_MT -Xclang --dependent-lib=msvcrt -fuse-ld=lld-link -shared -o bin\ggml-cpu.dll -Xlinker /MANIFEST:EMBED -Xlinker /implib:ggml\src\ggml-cpu.lib -Xlinker /pdb:bin\ggml-cpu.pdb -Xlinker /version:0.0 ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ggml-cpu.c.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ggml-cpu.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/repack.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/hbm.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/quants.c.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/traits.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/amx/amx.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/amx/mmq.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/binary-ops.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/unary-ops.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/vec.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ops.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/llamafile/sgemm.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/arch/arm/quants.c.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/arch/arm/repack.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/kleidiai/kleidiai.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/kleidiai/kernels.cpp.obj ggml/src/CMakeFiles/ggml-cpu.dir/__/__/_deps/kleidiai_download-src/kai/ukernels/matmul/pack/kai_lhs_quant_pack_qsi8d32p_f32.c.obj ggml/src/CMakeFiles/ggml-cpu.dir/__/__/_deps/kleidiai_download-src/kai/ukernels/matmul/pack/kai_rhs_pack_nxk_qsi4c32ps1s0scalef16_qsu4c32s16s0_neon.c.obj ggml/src/CMakeFiles/ggml-cpu.dir/__/__/_deps/kleidiai_download-src/kai/ukernels/matmul/pack/kai_lhs_quant_pack_qsi8d32p_f32_neon.c.obj ggml/src/CMakeFiles/ggml-cpu.dir/__/__/_deps/kleidiai_download-src/kai/ukernels/matmul/pack/kai_rhs_pack_nxk_qsi4c32pscalef16_qsu4c32s16s0.c.obj ggml/src/ggml-base.lib -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -loldnames && cd ."
lld-link: error: undefined symbol: kai_get_m_step_matmul_clamp_f32_qsi8d32p4x8_qsi4c32p4x8_16x4_neon_i8mm
>>> referenced by C:\Source\Projects\llama.cpp\ggml\src\ggml-cpu\kleidiai\kernels.cpp:0
>>> ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/kleidiai/kernels.cpp.obj:(_GLOBAL__sub_I_kernels.cpp)
>>> referenced by C:\Source\Projects\llama.cpp\ggml\src\ggml-cpu\kleidiai\kernels.cpp:0
>>> ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/kleidiai/kernels.cpp.obj:(_GLOBAL__sub_I_kernels.cpp)
lld-link: error: undefined symbol: kai_get_n_step_matmul_clamp_f32_qsi8d32p4x8_qsi4c32p4x8_16x4_neon_i8mm
>>> referenced by C:\Source\Projects\llama.cpp\ggml\src\ggml-cpu\kleidiai\kernels.cpp:0
>>> ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/kleidiai/kernels.cpp.obj:(_GLOBAL__sub_I_kernels.cpp)
>>> referenced by C:\Source\Projects\llama.cpp\ggml\src\ggml-cpu\kleidiai\kernels.cpp:0
>>> ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/kleidiai/kernels.cpp.obj:(_GLOBAL__sub_I_kernels.cpp)
lld-link: error: undefined symbol: kai_get_mr_matmul_clamp_f32_qsi8d32p4x8_qsi4c32p4x8_16x4_neon_i8mm
>>> referenced by C:\Source\Projects\llama.cpp\ggml\src\ggml-cpu\kleidiai\kernels.cpp:0
>>> ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/kleidiai/kernels.cpp.obj:(_GLOBAL__sub_I_kernels.cpp)
>>> referenced by C:\Source\Projects\llama.cpp\ggml\src\ggml-cpu\kleidiai\kernels.cpp:0
>>> ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/kleidiai/kernels.cpp.obj:(_GLOBAL__sub_I_kernels.cpp)