From 3c3372cdb3a0d85e194620eafbb0904de8aa12a7 Mon Sep 17 00:00:00 2001 From: "Peter H. Hoeg" Date: Sat, 9 Aug 2025 22:54:10 +0200 Subject: [PATCH 1/2] llama-cpp: 5985 -> 6123 --- pkgs/by-name/ll/llama-cpp/disable_bfloat16.patch | 15 +++++++++++++++ pkgs/by-name/ll/llama-cpp/package.nix | 12 +++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 pkgs/by-name/ll/llama-cpp/disable_bfloat16.patch diff --git a/pkgs/by-name/ll/llama-cpp/disable_bfloat16.patch b/pkgs/by-name/ll/llama-cpp/disable_bfloat16.patch new file mode 100644 index 000000000000..38388e2b82dc --- /dev/null +++ b/pkgs/by-name/ll/llama-cpp/disable_bfloat16.patch @@ -0,0 +1,15 @@ +index b97e7bf9..9cdc62a4 100644 +--- a/ggml/src/ggml-vulkan/CMakeLists.txt ++++ b/ggml/src/ggml-vulkan/CMakeLists.txt +@@ -70,11 +70,5 @@ if (Vulkan_FOUND) + "GGML_VULKAN_INTEGER_DOT_GLSLC_SUPPORT" + ) + +- test_shader_extension_support( +- "GL_EXT_bfloat16" +- "${CMAKE_CURRENT_SOURCE_DIR}/vulkan-shaders/test_bfloat16_support.comp" +- "GGML_VULKAN_BFLOAT16_GLSLC_SUPPORT" +- ) +- + target_link_libraries(ggml-vulkan PRIVATE Vulkan::Vulkan) + target_include_directories(ggml-vulkan PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix index c0fd0a168b75..8d04c1afd41c 100644 --- a/pkgs/by-name/ll/llama-cpp/package.nix +++ b/pkgs/by-name/ll/llama-cpp/package.nix @@ -72,13 +72,13 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "llama-cpp"; - version = "5985"; + version = "6123"; src = fetchFromGitHub { owner = "ggml-org"; repo = "llama.cpp"; tag = "b${finalAttrs.version}"; - hash = "sha256-OoV/p4Es/X/xQW7PpDLq5YLVYjieIE5+1itvtJECH54="; + hash = "sha256-4kqbKGPPOkOkHXA4IeLuj/0P5jpqtGlGuVKeUD4UhZY="; leaveDotGit = true; postFetch = '' git -C "$out" rev-parse --short HEAD > $out/COMMIT @@ -86,6 +86,8 @@ effectiveStdenv.mkDerivation (finalAttrs: { ''; }; + patches = lib.optionals vulkanSupport [ ./disable_bfloat16.patch ]; + postPatch = '' # Workaround for local-ai package which overrides this package to an older llama-cpp if [ -f ./ggml/src/ggml-metal.m ]; then @@ -139,11 +141,11 @@ effectiveStdenv.mkDerivation (finalAttrs: { ++ optionals cudaSupport [ (cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString) ] - ++ optionals rocmSupport ([ + ++ optionals rocmSupport [ (cmakeFeature "CMAKE_HIP_COMPILER" "${rocmPackages.clr.hipClangPath}/clang++") # TODO: this should become `clr.gpuTargets` in the future. (cmakeFeature "CMAKE_HIP_ARCHITECTURES" rocmPackages.rocblas.amdgpu_targets) - ]) + ] ++ optionals metalSupport [ (cmakeFeature "CMAKE_C_FLAGS" "-D__ARM_FEATURE_DOTPROD=1") (cmakeBool "LLAMA_METAL_EMBED_LIBRARY" true) @@ -186,6 +188,6 @@ effectiveStdenv.mkDerivation (finalAttrs: { ]; platforms = platforms.unix; badPlatforms = optionals (cudaSupport || openclSupport) lib.platforms.darwin; - broken = (metalSupport && !effectiveStdenv.hostPlatform.isDarwin); + broken = metalSupport && !effectiveStdenv.hostPlatform.isDarwin; }; }) From 58d9978d685190d592bd835cd2c7941a85978128 Mon Sep 17 00:00:00 2001 From: "Peter H. Hoeg" Date: Sat, 9 Aug 2025 22:55:56 +0200 Subject: [PATCH 2/2] llama-cpp-vulkan: init at 6123 --- pkgs/by-name/ll/llama-cpp-vulkan/package.nix | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 pkgs/by-name/ll/llama-cpp-vulkan/package.nix diff --git a/pkgs/by-name/ll/llama-cpp-vulkan/package.nix b/pkgs/by-name/ll/llama-cpp-vulkan/package.nix new file mode 100644 index 000000000000..39ff8a5dfdfd --- /dev/null +++ b/pkgs/by-name/ll/llama-cpp-vulkan/package.nix @@ -0,0 +1,3 @@ +{ llama-cpp }: + +llama-cpp.override { vulkanSupport = true; }