From 85f1bfac0b5e3bd96f9dac63ba661f7c99263f7b Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Tue, 11 Jun 2024 05:02:13 -0700 Subject: [PATCH] gnu: llama-cpp: Update commit and configure flags for shared library build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/machine-learning.scm (lama-cpp): Update to commit a5735e with pkg-config support. [arguments](configure-flags): Add cmake configure flag for shared library build and adjust arguments to make openblas found by cmake. (phases) 'install-python-scripts: Remove references to deleted scripts and add new ones upsteeam. Change-Id: I7c4bc219a22aa9a949e811b340c7cf745b176d14 Signed-off-by: Ludovic Courtès --- gnu/packages/machine-learning.scm | 38 +++++++++++++++++++------------ 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 8ca9a6376e..303e123a15 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -549,8 +549,8 @@ Performance is achieved by using the LLVM JIT compiler.") (deprecated-package "guile-aiscm-next" guile-aiscm)) (define-public llama-cpp - (let ((commit "fed0108491a3a3cbec6c6480dc8667ffff9d7659") - (revision "2")) + (let ((commit "a5735e4426b19a3ebd0c653ad8ac01420458ee95") + (revision "3")) (package (name "llama-cpp") (version (git-version "0.0.0" revision commit)) @@ -562,19 +562,27 @@ Performance is achieved by using the LLVM JIT compiler.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "16rm9gy0chd6k07crm8rkl2j3hg7y7h0km7k6c8q7bmm2jrd64la")))) + (base32 "0nx55wchwf204ld6jygfn37cjrzc4lspwn5v0qk8i6p92499bv0h")))) (build-system cmake-build-system) (arguments (list - #:configure-flags #~'("-DLLAMA_BLAS=ON" - "-DLLAMA_BLAS_VENDOR=OpenBLAS" + #:configure-flags + #~(list "-DBUILD_SHARED_LIBS=ON" + "-DLLAMA_BLAS=ON" + "-DLLAMA_BLAS_VENDOR=OpenBLAS" + (string-append "-DBLAS_INCLUDE_DIRS=" + #$(this-package-input "openblas") + "/include") + (string-append "-DBLAS_LIBRARIES=" + #$(this-package-input "openblas") + "/lib/libopenblas.so") - "-DLLAMA_NATIVE=OFF" ;no '-march=native' - "-DLLAMA_FMA=OFF" ;and no '-mfma', etc. - "-DLLAMA_AVX2=OFF" - "-DLLAMA_AVX512=OFF" - "-DLLAMA_AVX512_VBMI=OFF" - "-DLLAMA_AVX512_VNNI=OFF") + "-DLLAMA_NATIVE=OFF" ;no '-march=native' + "-DLLAMA_FMA=OFF" ;and no '-mfma', etc. + "-DLLAMA_AVX2=OFF" + "-DLLAMA_AVX512=OFF" + "-DLLAMA_AVX512_VBMI=OFF" + "-DLLAMA_AVX512_VNNI=OFF") #:modules '((ice-9 textual-ports) (guix build utils) @@ -609,14 +617,14 @@ Performance is achieved by using the LLVM JIT compiler.") (mkdir-p bin) (make-script "convert-hf-to-gguf") (make-script "convert-llama-ggml-to-gguf") - (make-script "convert-lora-to-ggml") - (make-script "convert-persimmon-to-gguf") - (make-script "convert")))) + (make-script "convert-hf-to-gguf-update.py")))) (add-after 'install-python-scripts 'wrap-python-scripts (assoc-ref python:%standard-phases 'wrap)) (add-after 'install 'install-main (lambda _ - (copy-file "bin/main" (string-append #$output "/bin/llama"))))))) + (with-directory-excursion (string-append #$output "/bin") + (symlink "main" "llama")))) + ))) (inputs (list python)) (native-inputs (list pkg-config)) (propagated-inputs