From 5d46c48137ac6a8f6edf8a32b59395d365b16cdb Mon Sep 17 00:00:00 2001 From: Huaishun Hu Date: Mon, 16 Dec 2024 14:42:53 +0800 Subject: [PATCH] fix musa build on aarch64 --- CMakeLists.txt | 2 ++ docs/build.md | 4 ++-- ggml/include/ggml-cuda.h | 4 ++++ ggml/src/ggml-cuda/common.cuh | 4 ++++ ggml/src/ggml-cuda/opt-step-adamw.cu | 4 ++++ 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f84fff9e6..f7a857c08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,8 @@ set(CMAKE_WARN_UNUSED_CLI YES) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +#set(CMAKE_VERBOSE_MAKEFILE ON) + if (NOT XCODE AND NOT MSVC AND NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE) set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") diff --git a/docs/build.md b/docs/build.md index a4964cbd1..64c2076dc 100644 --- a/docs/build.md +++ b/docs/build.md @@ -148,8 +148,8 @@ This provides GPU acceleration using the MUSA cores of your Moore Threads MTT GP - Using `CMake`: ```bash - cmake -B build -DGGML_MUSA=ON - cmake --build build --config Release + cmake -B build -DGGML_MUSA=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ + cmake --build build --config Release -j$(($(nproc)-2)) ``` The environment variable [`MUSA_VISIBLE_DEVICES`](https://docs.mthreads.com/musa-sdk/musa-sdk-doc-online/programming_guide/Z%E9%99%84%E5%BD%95/) can be used to specify which GPU(s) will be used. diff --git a/ggml/include/ggml-cuda.h b/ggml/include/ggml-cuda.h index 22ad2c009..99d81e551 100644 --- a/ggml/include/ggml-cuda.h +++ b/ggml/include/ggml-cuda.h @@ -1,5 +1,9 @@ #pragma once +#ifdef GGML_USE_MUSA +#undef __ARM_NEON +#endif + #include "ggml.h" #include "ggml-backend.h" diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 535118d87..ff73c7237 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -1,5 +1,9 @@ #pragma once +#ifdef GGML_USE_MUSA +#undef __ARM_NEON +#endif + #include "ggml.h" #include "ggml-cuda.h" diff --git a/ggml/src/ggml-cuda/opt-step-adamw.cu b/ggml/src/ggml-cuda/opt-step-adamw.cu index 35154f299..ba689f1d2 100644 --- a/ggml/src/ggml-cuda/opt-step-adamw.cu +++ b/ggml/src/ggml-cuda/opt-step-adamw.cu @@ -1,3 +1,7 @@ +#ifdef GGML_USE_MUSA +#undef __ARM_NEON +#endif + #include "ggml-impl.h" #include "opt-step-adamw.cuh"