added oneapi ollama

This commit is contained in:
k 2024-12-14 02:09:52 +00:00
parent cf30b5d7be
commit 00af3ac5ec
3 changed files with 44 additions and 4 deletions

View File

@ -25,6 +25,7 @@
inputs.home-manager.nixosModules.default
inputs.stylix.nixosModules.stylix
nixos-hardware.nixosModules.lenovo-thinkpad-x13-yoga
(import ./overlays/ollama.nix)
];
};
@ -34,6 +35,7 @@
./hosts/server/configuration.nix
inputs.home-manager.nixosModules.default
nixos-hardware.nixosModules.system76
(import ./overlays/ollama.nix)
];
};

View File

@ -31,10 +31,8 @@
ollama = {
enable = true;
package = pkgs.ollama.overrideAttrs (oldAttrs: {
NIX_CFLAGS_COMPILE = "${oldAttrs.NIX_CFLAGS_COMPILE or ""} -mavx2 -mfma -march=native -O3";
});
};
package = pkgs.ollama-intel;
};
gitea = {
enable = true;

40
overlays/ollama.nix Normal file
View File

@ -0,0 +1,40 @@
{ config, pkgs, lib, ... }:
{
nixpkgs.overlays = [
(final: prev: {
ollama-intel = prev.ollama.overrideAttrs (oldAttrs: {
buildInputs = oldAttrs.buildInputs or [ ]
++ [ prev.intel-compute-runtime.drivers ];
propagatedBuildInputs = oldAttrs.propagetedBuildInputs or [ ]
++ [ prev.intel-compute-runtime.drivers ];
NIX_CFLAGS_COMPILE =
"${oldAttrs.NIX_CFLAGS_COMPILE or ""} -mavx2 -mfma -O3";
cmakeFlags = [
"GGML_NATIVE=true"
"BUILD_SHARED_LIBS=true"
"GGML_BLAS=true"
"GGML_SYCL=true"
"GGML_SYCL_F16=false"
"CMAKE_C_COMPILER=icx"
"CMAKE_CXX_COMPILER=icpx"
];
postInstall = (oldAttrs.postInstall or "") + ''
mkdir -p "$out/bin"
cat << EOF > "$out/bin/ollama-wrapped"
#!/bin/sh
export LD_LIBRARY_PATH="${prev.intel-compute-runtime.drivers}/lib"
export OLLAMA_INTEL_GPU=-1
exec "$out/bin/ollama-base" "\$@"
EOF
chmod +x "$out/bin/ollama-wrapped"
mv $out/bin/ollama $out/bin/ollama-base
ln -s "$out/bin/ollama-wrapped" "$out/bin/ollama"
'';
});
})
];
}