From 560d5c66925970a5104a46051ae74e2dbd16adba Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 5 Apr 2024 17:48:57 +0200 Subject: gnu: llama-cpp: Produce a portable binary unless tuned. * gnu/packages/machine-learning.scm (llama-cpp)[arguments]: Augment #:configure-flags. [properties]: New field. Co-authored-by: John Fremlin Change-Id: I9b3d72849107a6988fec94dc4a22614443338cb2 --- gnu/packages/machine-learning.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index e61299a5db..47989b129f 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -541,8 +541,16 @@ Performance is achieved by using the LLVM JIT compiler.") (build-system cmake-build-system) (arguments (list - #:configure-flags - '(list "-DLLAMA_BLAS=ON" "-DLLAMA_BLAS_VENDOR=OpenBLAS") + #:configure-flags #~'("-DLLAMA_BLAS=ON" + "-DLLAMA_BLAS_VENDOR=OpenBLAS" + + "-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) ((guix build python-build-system) #:prefix python:) @@ -580,6 +588,7 @@ Performance is achieved by using the LLVM JIT compiler.") (native-inputs (list pkg-config)) (propagated-inputs (list python-numpy python-pytorch python-sentencepiece openblas)) + (properties '((tunable? . #true))) ;use AVX512, FMA, etc. when available (home-page "https://github.com/ggerganov/llama.cpp") (synopsis "Port of Facebook's LLaMA model in C/C++") (description "This package provides a port to Facebook's LLaMA collection -- cgit v1.2.3