From eb041346267f6710776a56e4ee49c5b682013dd1 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 28 Jul 2025 17:15:30 +0200 Subject: [PATCH] python3Packages.vllm: 0.9.1 -> 0.10.0 Diff: https://github.com/vllm-project/vllm/compare/refs/tags/v0.9.1...refs/tags/v0.10.0 Changelog: https://github.com/vllm-project/vllm/releases/tag/v0.10.0 --- .../python-modules/vllm/0004-drop-lsmod.patch | 18 --------- .../vllm/0005-drop-intel-reqs.patch | 25 +++--------- .../python-modules/vllm/default.nix | 40 +++++++++---------- 3 files changed, 25 insertions(+), 58 deletions(-) delete mode 100644 pkgs/development/python-modules/vllm/0004-drop-lsmod.patch diff --git a/pkgs/development/python-modules/vllm/0004-drop-lsmod.patch b/pkgs/development/python-modules/vllm/0004-drop-lsmod.patch deleted file mode 100644 index 3c80f8e24e65..000000000000 --- a/pkgs/development/python-modules/vllm/0004-drop-lsmod.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/setup.py -+++ b/setup.py -@@ -340,14 +340,7 @@ def _is_hpu() -> bool: - out = subprocess.run(["hl-smi"], capture_output=True, check=True) - is_hpu_available = out.returncode == 0 - except (FileNotFoundError, PermissionError, subprocess.CalledProcessError): -- if sys.platform.startswith("linux"): -- try: -- output = subprocess.check_output( -- 'lsmod | grep habanalabs | wc -l', shell=True) -- is_hpu_available = int(output) > 0 -- except (ValueError, FileNotFoundError, PermissionError, -- subprocess.CalledProcessError): -- pass -+ is_hpu_available = False - return is_hpu_available - - diff --git a/pkgs/development/python-modules/vllm/0005-drop-intel-reqs.patch b/pkgs/development/python-modules/vllm/0005-drop-intel-reqs.patch index 9bf7d3cdf4d8..f16982ece4a7 100644 --- a/pkgs/development/python-modules/vllm/0005-drop-intel-reqs.patch +++ b/pkgs/development/python-modules/vllm/0005-drop-intel-reqs.patch @@ -1,25 +1,12 @@ -From 7511784ceb9252091a9d63ac6b54dcc67dd2b262 Mon Sep 17 00:00:00 2001 -From: Conroy Cheers -Date: Fri, 13 Jun 2025 17:42:10 +1000 -Subject: [PATCH] drop intel reqs - ---- - requirements/cpu.txt | 3 --- - 1 file changed, 3 deletions(-) - diff --git a/requirements/cpu.txt b/requirements/cpu.txt -index d7b0fc6d8..be2df751b 100644 +index d80354342..7434f32f0 100644 --- a/requirements/cpu.txt +++ b/requirements/cpu.txt -@@ -24,8 +24,5 @@ datasets # for benchmark scripts - # cpu cannot use triton 3.3.0 - triton==3.2.0; platform_machine == "x86_64" +@@ -21,7 +21,4 @@ torchvision; platform_machine != "ppc64le" and platform_machine != "s390x" + torchvision==0.22.0; platform_machine == "ppc64le" + datasets # for benchmark scripts -# Intel Extension for PyTorch, only for x86_64 CPUs -intel-openmp==2024.2.1; platform_machine == "x86_64" --intel_extension_for_pytorch==2.7.0; platform_machine == "x86_64" - py-libnuma; platform_system != "Darwin" - psutil; platform_system != "Darwin" --- -2.49.0 - +-intel_extension_for_pytorch==2.6.0; platform_machine == "x86_64" # torch>2.6.0+cpu has performance regression on x86 platform, see https://github.com/pytorch/pytorch/pull/151218 + triton==3.2.0; platform_machine == "x86_64" # Triton is required for torch 2.6+cpu, as it is imported in torch.compile. diff --git a/pkgs/development/python-modules/vllm/default.nix b/pkgs/development/python-modules/vllm/default.nix index cec9c00eadcc..7d36d24b22d7 100644 --- a/pkgs/development/python-modules/vllm/default.nix +++ b/pkgs/development/python-modules/vllm/default.nix @@ -5,9 +5,9 @@ buildPythonPackage, pythonAtLeast, fetchFromGitHub, - fetchpatch, symlinkJoin, autoAddDriverRunpath, + fetchpatch2, # build system cmake, @@ -45,6 +45,8 @@ lm-format-enforcer, prometheus-fastapi-instrumentator, cupy, + cbor2, + pybase64, gguf, einops, importlib-metadata, @@ -97,8 +99,8 @@ let cutlass = fetchFromGitHub { owner = "NVIDIA"; repo = "cutlass"; - tag = "v3.9.2"; - hash = "sha256-teziPNA9csYvhkG5t2ht8W8x5+1YGGbHm8VKx4JoxgI="; + tag = "v4.0.0"; + hash = "sha256-HJY+Go1viPkSVZPEs/NyMtYJzas4mMLiIZF3kNX+WgA="; }; flashmla = stdenv.mkDerivation { @@ -138,8 +140,8 @@ let src = fetchFromGitHub { owner = "vllm-project"; repo = "flash-attention"; - rev = "8798f27777fb57f447070301bf33a9f9c607f491"; - hash = "sha256-UTUvATGN1NU/Bc8qo078q6bEgILLmlrjL7Yk2iAJhg4="; + rev = "1c2624e53c078854e0637ee566c72fe2107e75f4"; + hash = "sha256-WWFhHEUSAlsXr2yR4rGlTQQnSafXKg8gO5PQA8HPYGE="; }; dontConfigure = true; @@ -161,7 +163,7 @@ let cpuSupport = !cudaSupport && !rocmSupport; - # https://github.com/pytorch/pytorch/blob/v2.7.0/torch/utils/cpp_extension.py#L2343-L2345 + # https://github.com/pytorch/pytorch/blob/v2.7.1/torch/utils/cpp_extension.py#L2343-L2345 supportedTorchCudaCapabilities = let real = [ @@ -247,7 +249,7 @@ in buildPythonPackage rec { pname = "vllm"; - version = "0.9.1"; + version = "0.10.0"; pyproject = true; # https://github.com/vllm-project/vllm/issues/12083 @@ -259,23 +261,20 @@ buildPythonPackage rec { owner = "vllm-project"; repo = "vllm"; tag = "v${version}"; - hash = "sha256-sp7rDpewTPXTVRBJHJMj+8pJDS6wAu0/OTJZwbPPqKc="; + hash = "sha256-R9arpFz+wkDGmB3lW+H8d/37EoAQDyCWjLHJW1VTutk="; }; patches = [ - (fetchpatch { - name = "remove-unused-opentelemetry-semantic-conventions-ai-dep.patch"; - url = "https://github.com/vllm-project/vllm/commit/6a5d7e45f52c3a13de43b8b4fa9033e3b342ebd2.patch"; - hash = "sha256-KYthqu+6XwsYYd80PtfrMMjuRV9+ionccr7EbjE4jJE="; - }) - (fetchpatch { - name = "fall-back-to-gloo-when-nccl-unavailable.patch"; - url = "https://github.com/vllm-project/vllm/commit/aa131a94410683b0a02e74fed2ce95e6c2b6b030.patch"; - hash = "sha256-jNlQZQ8xiW85JWyBjsPZ6FoRQsiG1J8bwzmQjnaWFBg="; + # error: ‘BF16Vec16’ in namespace ‘vec_op’ does not name a type; did you mean ‘FP16Vec16’? + # Reported: https://github.com/vllm-project/vllm/issues/21714 + # Fix from https://github.com/vllm-project/vllm/pull/21848 + (fetchpatch2 { + name = "build-fix-for-arm-without-bf16"; + url = "https://github.com/vllm-project/vllm/commit/b876860c6214d03279e79e0babb7eb4e3e286cbd.patch"; + hash = "sha256-tdBAObFxliVUNTWeSggaLtS4K9f8zEVu22nSgRmMsDs="; }) ./0002-setup.py-nix-support-respect-cmakeFlags.patch ./0003-propagate-pythonpath.patch - ./0004-drop-lsmod.patch ./0005-drop-intel-reqs.patch ]; @@ -354,6 +353,7 @@ buildPythonPackage rec { aioprometheus blake3 cachetools + cbor2 depyf fastapi llguidance @@ -366,6 +366,7 @@ buildPythonPackage rec { prometheus-fastapi-instrumentator py-cpuinfo pyarrow + pybase64 pydantic python-json-logger python-multipart @@ -476,8 +477,5 @@ buildPythonPackage rec { # find_isa "x86_64-darwin" ]; - # ValueError: 'aimv2' is already used by a Transformers config, pick another name. - # Version bump ongoing in https://github.com/NixOS/nixpkgs/pull/429117 - broken = true; }; }