aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-04-05 17:48:57 +0200
committerLudovic Courtès <ludo@gnu.org>2024-04-05 18:23:34 +0200
commit560d5c66925970a5104a46051ae74e2dbd16adba (patch)
tree4d02fca8f23c120e78372582b63cb64264a015d9
parenta568ac8bcfb34b9277a0a93f413859beb300ef09 (diff)
downloadguix-560d5c66925970a5104a46051ae74e2dbd16adba.tar.gz
guix-560d5c66925970a5104a46051ae74e2dbd16adba.zip
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 <john@fremlin.org> Change-Id: I9b3d72849107a6988fec94dc4a22614443338cb2
-rw-r--r--gnu/packages/machine-learning.scm13
1 files 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