diff options
author | Christian Kögler <ck3d@gmx.de> | 2024-03-23 19:22:17 +0100 |
---|---|---|
committer | Christian Kögler <ck3d@gmx.de> | 2024-03-23 19:22:17 +0100 |
commit | 3a14bff91f6b180ee64d70e6eca4eee7b0cc02d6 (patch) | |
tree | 4997980b1f1d972b876fbed2f255d9514cd3a720 | |
parent | 808d9f9ffb64d910e8b847f2db41e466c1603a14 (diff) |
local-ai: add feature flags for CPU extensions
-rw-r--r-- | pkgs/by-name/lo/local-ai/package.nix | 16 |
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 d074dd98ebccb..86d300423c81c 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 = '' |