Closed paravoid closed 6 months ago
Hi @paravoid
@dm4 Please update the llama.cpp to a new version.
/cc @q82419
Would you be willing to have a new release? Release 0.13.5, including the fix for making llama.cpp
an optional dependency and several compatible fixes for MSVC.
/cc @ibmibmibm I also found that the 0.13.4 will fail on fedora:rawhide due to the API breaking changes of the LLVM-C interfaces. (LLVM17-rc)
Hi @paravoid What's your recommendation for the base image? Debian unstable or Ubuntu 23.10?
We are going to have fedora:rawhide
soon, which will help us to reproduce the future environment of testing before releasing the packages.
Hi @paravoid What's your recommendation for the base image? Debian unstable or Ubuntu 23.10?
Debian unstable is a moving/rolling target, so it will always test with the latest and greatest, but could be broken from time to time. Debian testing is also rolling, but (even) more stable. It basically lags behind 3-5 days.
Ubuntu 23.10 will have a "frozen" set of packages. It will include gcc 13, but won't get updated to 14 or e.g. LLVM 17, when the time comes.
Personally, I'd go for Debian testing, and reevaluate later if it ends up being too tedious.
Personally, I'd go for Debian testing, and reevaluate later if it ends up being too tedious.
Thanks for the information. I will go with debian:testing
first.
Hi @paravoid FYI.
Here is the patch for avoiding the ggml dependency based on the 0.13.4 release I used on Fedora:rawhide:
From 2856e5ea22b396cdd7cdef450e968e913d7e1752 Mon Sep 17 00:00:00 2001
From: hydai <hydai@secondstate.io>
Date: Thu, 14 Sep 2023 10:16:55 +0800
Subject: [PATCH] [Misc] Only build thirdparty/ggml when the WASI-NN ggml
plugin is enabled
Signed-off-by: hydai <hydai@secondstate.io>
---
thirdparty/CMakeLists.txt | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt
index 57d481f2..1f2a932b 100644
--- a/thirdparty/CMakeLists.txt
+++ b/thirdparty/CMakeLists.txt
@@ -5,4 +5,9 @@ if(WASMEDGE_BUILD_AOT_RUNTIME)
add_subdirectory(blake3)
endif()
-add_subdirectory(ggml)
+if(WASMEDGE_PLUGIN_WASI_NN_BACKEND)
+ string(TOLOWER ${WASMEDGE_PLUGIN_WASI_NN_BACKEND} BACKEND)
+ if(BACKEND STREQUAL "ggml")
+ add_subdirectory(ggml)
+ endif()
+endif()
--
2.34.1
Hi @paravoid After merging #3457, we will use the debian:testing to verify the building process and unit tests. I hope that we will no longer hit this kind of issue anymore. Thanks for your suggestion.
Building WasmEdge 0.13.4 on Debian unstable with gcc/g++ 13, results into this build failure:
Build log
``` cd <This seems to have been fixed in upstream llama-cpp, with https://github.com/ggerganov/llama.cpp/commit/ef156499721c67748cde01a5436cb6f0648bb4b4 and indeed backporting the
push_back
->emplace_back
llama.cpp changes is enough to make the build work.I'm not sure if you have a mechanism to update llama.cpp to newer versions, or to backport upstream fixes. I assume sending PRs against llama.cpp would just make the source diverge and cause more issues down the line.
Separately,
thirdparty/CMakeLists.txt
seems to unconditionallyadd_subdirectory(ggml)
, so perhaps that needs to be turned into a conditional?