about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorChristian Kögler <ck3d@gmx.de>2024-03-23 19:22:17 +0100
committerChristian Kögler <ck3d@gmx.de>2024-03-23 19:22:17 +0100
commit3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6 (patch)
tree4997980b1f1d972b876fbed2f255d9514cd3a720 /pkgs
parent808d9f9ffb64d910e8b847f2db41e466c1603a14 (diff)
downloadnixlib-3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6.tar
nixlib-3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6.tar.gz
nixlib-3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6.tar.bz2
nixlib-3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6.tar.lz
nixlib-3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6.tar.xz
nixlib-3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6.tar.zst
nixlib-3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6.zip
local-ai: add feature flags for CPU extensions
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/by-name/lo/local-ai/package.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/by-name/lo/local-ai/package.nix b/pkgs/by-name/lo/local-ai/package.nix
index d074dd98ebcc..86d300423c81 100644
--- a/pkgs/by-name/lo/local-ai/package.nix
+++ b/pkgs/by-name/lo/local-ai/package.nix
@@ -18,6 +18,13 @@
   # apply feature parameter names according to
   # https://github.com/NixOS/rfcs/pull/169
 
+  # CPU extensions
+, enable_avx ? true
+, enable_avx2 ? true
+, enable_avx512 ? false
+, enable_f16c ? true
+, enable_fma ? true
+
 , with_tinydream ? false
 
 , with_openblas ? false
@@ -102,6 +109,11 @@ let
     '';
     cmakeFlags = prev.cmakeFlags ++ [
       (lib.cmakeBool "BUILD_SHARED_LIBS" false)
+      (lib.cmakeBool "LLAMA_AVX" enable_avx)
+      (lib.cmakeBool "LLAMA_AVX2" enable_avx2)
+      (lib.cmakeBool "LLAMA_AVX512" enable_avx512)
+      (lib.cmakeBool "LLAMA_FMA" enable_fma)
+      (lib.cmakeBool "LLAMA_F16C" enable_f16c)
     ];
     buildInputs = prev.buildInputs ++ [
       protobuf # provides also abseil_cpp as propagated build input
@@ -199,6 +211,10 @@ let
       (lib.cmakeBool "WHISPER_CUBLAS" with_cublas)
       (lib.cmakeBool "WHISPER_CLBLAST" with_clblas)
       (lib.cmakeBool "WHISPER_OPENBLAS" with_openblas)
+      (lib.cmakeBool "WHISPER_NO_AVX" (!enable_avx))
+      (lib.cmakeBool "WHISPER_NO_AVX2" (!enable_avx2))
+      (lib.cmakeBool "WHISPER_NO_FMA" (!enable_fma))
+      (lib.cmakeBool "WHISPER_NO_F16C" (!enable_f16c))
       (lib.cmakeBool "BUILD_SHARED_LIBS" false)
     ];
     postInstall = ''