-
Notifications
You must be signed in to change notification settings - Fork 13.3k
ggml : fix build broken with -march=armv9-a on MacOS #16520
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Jie Fu <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To use SVE ggml_init_arm_arch_features
needs to be implemented to initialize sve_cnt
.
Signed-off-by: Jie Fu <[email protected]>
Good catch. But it is hard for me to implement the logic since I don't have a Mac which supports sve. I would suggest fixing the build failure as soon as possible. Maybe, we can add a #pragma message just like https://github.com/ggml-org/llama.cpp/blob/master/ggml/src/ggml-opencl/ggml-opencl.cpp#L2801 What do you think? |
A message would not be enough, it would need to be an |
Signed-off-by: Jie Fu <[email protected]>
Done. |
Thanks @slaren and @ggerganov . |
* origin/master: (32 commits) metal : FA support F32 K and V and head size = 32 (ggml-org#16531) graph : support cacheless embeddings with FA and iSWA (ggml-org#16528) opencl: fix build targeting CL 2 (ggml-org#16554) CUDA: fix numerical issues in tile FA kernel (ggml-org#16540) ggml : fix build broken with -march=armv9-a on MacOS (ggml-org#16520) CANN: fix CPU memory leak in CANN backend (ggml-org#16549) fix: add remark plugin to render raw HTML as literal text (ggml-org#16505) metal: add support for opt_step_sgd (ggml-org#16539) ggml : fix scalar path for computing norm (ggml-org#16558) CANN: Update several operators to support FP16 data format (ggml-org#16251) metal : add opt_step_adamw and op_sum (ggml-org#16529) webui: remove client-side context pre-check and rely on backend for limits (ggml-org#16506) [SYCL] fix UT fault cases: count-equal, argsort, pad OPs (ggml-org#16521) ci : add Vulkan on Ubuntu with default packages build (ggml-org#16532) common : handle unicode during partial json parsing (ggml-org#16526) common : update presets (ggml-org#16504) ggml : Fix FP16 ELU positive branch (ggml-org#16519) hparams : add check for layer index in is_recurrent (ggml-org#16511) ggml: Correct SVE implementation in ggml_vec_dot_f16_unroll (ggml-org#16518) CUDA: faster tile FA, add oob checks, more HSs (ggml-org#16492) ...
* ggml : fix build broken with -march=armv9-a on MacOS Signed-off-by: Jie Fu <[email protected]> * Add #pragma message Signed-off-by: Jie Fu <[email protected]> * Address review comment. Signed-off-by: Jie Fu <[email protected]> * Update ggml/src/ggml-cpu/ggml-cpu.c --------- Signed-off-by: Jie Fu <[email protected]> Co-authored-by: Diego Devesa <[email protected]>
llama.cpp fails to build with
-march=armv9-a
on MacOS.The failure is caused by 'sys/prctl.h' file not found.
Similar issue had been reported before: sysown/proxysql#1920 .
Reason:
sys/prctl.h
does not exist on Mac OS X, only on Linux.The fix follows what has been done in ggml by adding
defined(__linux__)
: https://github.com/ggml-org/llama.cpp/blob/master/ggml/src/ggml.c#L72