Add ikllamacpp

This commit is contained in:
Tristan D. 2025-05-02 10:57:57 +02:00
parent 75a38bad8a
commit 181d8697f8
Signed by: tristan
SSH key fingerprint: SHA256:CijeA5DioYVDcTzHF8j6Lbmu9SwrYbW5g6hYQGrHbbA

View file

@ -44,8 +44,6 @@
(system: (system:
let let
overlays = [ overlays = [
llama-cpp.overlays.default
ik_llama-cpp.overlays.default
rust-overlay.overlays.default rust-overlay.overlays.default
devshell.overlays.default devshell.overlays.default
(final: prev: { (final: prev: {
@ -102,43 +100,46 @@
"gfx1103" "gfx1103"
]; ];
lib = pkgs.lib; lib = pkgs.lib;
myOverride = (oldAttrs: { myOverride = oldAttrs: {
# speeds up builts by only building for a needed rocmTargets... # speeds up builts by only building for a needed rocmTargets...
cmakeFlags = [ cmakeFlags = [
(lib.cmakeBool "LLAMA_BUILD_SERVER" true) (lib.cmakeBool "LLAMA_BUILD_SERVER" true)
(lib.cmakeBool "BUILD_SHARED_LIBS" true) (lib.cmakeBool "BUILD_SHARED_LIBS" true)
(lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true) (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
(lib.cmakeBool "LLAMA_CURL" true) (lib.cmakeBool "LLAMA_CURL" true)
(lib.cmakeBool "GGML_NATIVE" true) (lib.cmakeBool "GGML_NATIVE" true)
(lib.cmakeBool "GGML_BLAS" false) (lib.cmakeBool "GGML_BLAS" false)
(lib.cmakeBool "GGML_CUDA" false) (lib.cmakeBool "GGML_CUDA" false)
(lib.cmakeBool "GGML_HIP" true) # new one ? kinda undocumented ? (lib.cmakeBool "GGML_HIP" true) # new one ? kinda undocumented ?
(lib.cmakeBool "GGML_HIPBLAS" true) # seems to be depr (lib.cmakeBool "GGML_HIPBLAS" true) # seems to be depr
(lib.cmakeBool "GGML_METAL" false) (lib.cmakeBool "GGML_METAL" false)
(lib.cmakeBool "GGML_VULKAN" false) (lib.cmakeBool "GGML_VULKAN" false)
(lib.cmakeBool "GGML_STATIC" false) (lib.cmakeBool "GGML_STATIC" false)
(lib.cmakeBool "GGML_FMA" true) (lib.cmakeBool "GGML_FMA" true)
(lib.cmakeBool "GGML_F16C" true) (lib.cmakeBool "GGML_F16C" true)
(lib.cmakeBool "GGML_AVX2" true) (lib.cmakeBool "GGML_AVX2" true)
(lib.cmakeBool "GGML_AVX512" false) (lib.cmakeBool "GGML_AVX512" false)
(lib.cmakeFeature "CMAKE_HIP_COMPILER" "${pkgs.rocmPackages.llvm.clang}/bin/clang") (lib.cmakeFeature "CMAKE_HIP_COMPILER" "${pkgs.rocmPackages.llvm.clang}/bin/clang")
(lib.cmakeFeature "CMAKE_HIP_ARCHITECTURES" (builtins.concatStringsSep ";" rocmTargets)) (lib.cmakeFeature "CMAKE_HIP_ARCHITECTURES" (builtins.concatStringsSep ";" rocmTargets))
(lib.cmakeFeature "AMDGPU_TARGETS" (builtins.concatStringsSep ";" rocmTargets)) (lib.cmakeFeature "AMDGPU_TARGETS" (builtins.concatStringsSep ";" rocmTargets))
]; ];
}); };
in in
{ {
packages = packages =
(import ./.nix { inherit pkgs lib config; }) (import ./.nix { inherit pkgs lib config; })
// { // {
myikllamacpp = ik_llama-cpp.packages.${system}.default; myikllamacpp = ik_llama-cpp.legacyPackages.${system}.llamaPackages.llama-cpp;
myllamacpp = pkgs.llamaPackages.llama-cpp.overrideDerivation myOverride; myikllamacpp-rocm = ik_llama-cpp.legacyPackages.${system}.llamaPackagesRocm.llama-cpp.overrideDerivation myOverride;
myllamacpp = llama-cpp.legacyPackages.${system}.llamaPackages.llama-cpp;
myllamacpp-rocm = llama-cpp.legacyPackages.${system}.llamaPackagesRocm.llama-cpp.overrideDerivation myOverride;
}; };
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
packages = with pkgs; packages = with pkgs;
[ [
customRustToolchain customRustToolchain
self.packages.${system}.myllamacpp # self.packages.${system}.myllamacpp
self.packages.${system}.myikllamacpp-rocm
aider-chat aider-chat
bacon bacon
binaryen binaryen