Unverified Commit a4421c33 authored by Yt's avatar Yt Committed by GitHub
Browse files

python312Packages.vllm: 0.9.0.1 -> 0.9.1 (#416385)

parents 68b71e75 e58aa1c6
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  buildPythonPackage,
  fetchFromGitHub,
  pythonOlder,
  setuptools,
  numactl,
}:

buildPythonPackage rec {
  pname = "py-libnuma";
  version = "1.2";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "eedalong";
    repo = "pynuma";
    rev = "66cab0e008b850a04cfec5c4fb3f50bf28e3d488";
    hash = "sha256-ALYCcdN5eXrVWsTRwkHCwo4xsLMs/du3mUl1xSlo5iU=";
  };

  postPatch = ''
    substituteInPlace numa/__init__.py \
      --replace-fail \
        'LIBNUMA = CDLL(find_library("numa"))' \
        'LIBNUMA = CDLL("${numactl}/lib/libnuma${stdenv.hostPlatform.extensions.sharedLibrary}")'
  '';

  build-system = [ setuptools ];

  dependencies = [
    numactl
  ];

  # Tests write NUMA configuration, which may be persistent until reboot.
  doCheck = false;

  pythonImportsCheck = [ "numa" ];

  meta = {
    description = "Python3 Interface to numa Linux library";
    homepage = "https://github.com/eedalong/pynuma";
    platforms = lib.platforms.linux;
    license = lib.licenses.mit;
  };
}
+17 −4
Original line number Diff line number Diff line
From 7511784ceb9252091a9d63ac6b54dcc67dd2b262 Mon Sep 17 00:00:00 2001
From: Conroy Cheers <conroy@corncheese.org>
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 121330158..d41918883 100644
index d7b0fc6d8..be2df751b 100644
--- a/requirements/cpu.txt
+++ b/requirements/cpu.txt
@@ -20,7 +20,3 @@ datasets # for benchmark scripts
 
@@ -24,8 +24,5 @@ datasets # for benchmark scripts
 # cpu cannot use triton 3.3.0
 triton==3.2.0; platform_machine == "x86_64"
-
 
-# 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
+36 −27
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
  stdenv,
  python,
  buildPythonPackage,
  pythonAtLeast,
  fetchFromGitHub,
  fetchpatch,
  symlinkJoin,
@@ -67,6 +68,7 @@
  opentelemetry-exporter-otlp,
  bitsandbytes,
  flashinfer,
  py-libnuma,

  # internal dependency - for overriding in overlays
  vllm-flash-attn ? null,
@@ -246,16 +248,19 @@ in

buildPythonPackage rec {
  pname = "vllm";
  version = "0.9.0.1";
  version = "0.9.1";
  pyproject = true;

  # https://github.com/vllm-project/vllm/issues/12083
  disabled = pythonAtLeast "3.13";

  stdenv = torch.stdenv;

  src = fetchFromGitHub {
    owner = "vllm-project";
    repo = "vllm";
    tag = "v${version}";
    hash = "sha256-gNe/kdsDQno8Fd6mo29feWmbyC0c2+kljlVxY4v7R9U=";
    hash = "sha256-sp7rDpewTPXTVRBJHJMj+8pJDS6wAu0/OTJZwbPPqKc=";
  };

  patches = [
@@ -264,14 +269,18 @@ buildPythonPackage rec {
      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=";
    })
    ./0002-setup.py-nix-support-respect-cmakeFlags.patch
    ./0003-propagate-pythonpath.patch
    ./0004-drop-lsmod.patch
    ./0005-drop-intel-reqs.patch
  ];

  postPatch =
    ''
  postPatch = ''
    # pythonRelaxDeps does not cover build-system
    substituteInPlace pyproject.toml \
      --replace-fail "torch ==" "torch >="
@@ -286,11 +295,6 @@ buildPythonPackage rec {
    # Pass build environment PYTHONPATH to vLLM's Python configuration scripts
    substituteInPlace CMakeLists.txt \
      --replace-fail '$PYTHONPATH' '$ENV{PYTHONPATH}'
    ''
    + lib.optionalString (nccl == null) ''
      # On platforms where NCCL is not supported (e.g. Jetson), substitute Gloo (provided by Torch)
      substituteInPlace vllm/distributed/parallel_state.py \
        --replace-fail '"nccl"' '"gloo"'
  '';

  nativeBuildInputs =
@@ -362,7 +366,6 @@ buildPythonPackage rec {
      outlines
      pandas
      prometheus-fastapi-instrumentator
      psutil
      py-cpuinfo
      pyarrow
      pydantic
@@ -392,9 +395,15 @@ buildPythonPackage rec {
      opentelemetry-api
      opentelemetry-exporter-otlp
      bitsandbytes
      # vLLM needs Torch's compiler to be present in order to use torch.compile
      torch.stdenv.cc
    ]
    ++ uvicorn.optional-dependencies.standard
    ++ aioprometheus.optional-dependencies.starlette
    ++ lib.optionals stdenv.targetPlatform.isLinux [
      py-libnuma
      psutil
    ]
    ++ lib.optionals cudaSupport [
      cupy
      pynvml
@@ -404,11 +413,11 @@ buildPythonPackage rec {
  dontUseCmakeConfigure = true;
  cmakeFlags =
    [
    ]
    ++ lib.optionals cudaSupport [
      (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CUTLASS" "${lib.getDev cutlass}")
      (lib.cmakeFeature "FLASH_MLA_SRC_DIR" "${lib.getDev flashmla}")
      (lib.cmakeFeature "VLLM_FLASH_ATTN_SRC_DIR" "${lib.getDev vllm-flash-attn'}")
    ]
    ++ lib.optionals cudaSupport [
      (lib.cmakeFeature "TORCH_CUDA_ARCH_LIST" "${gpuTargetString}")
      (lib.cmakeFeature "CUTLASS_NVCC_ARCHS_ENABLED" "${cudaPackages.flags.cmakeCudaArchitecturesString}")
      (lib.cmakeFeature "CUDA_TOOLKIT_ROOT_DIR" "${symlinkJoin {
+41 −0
Original line number Diff line number Diff line
From c01e056ee845ae973ec36cc50125492ef8c02c12 Mon Sep 17 00:00:00 2001
From: Conroy Cheers <conroy@corncheese.org>
Date: Thu, 12 Jun 2025 17:45:27 +1000
Subject: [PATCH] [Fix] find nanobind from Python module

---
 cpp/nanobind/CMakeLists.txt | 4 ++++
 pyproject.toml              | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/cpp/nanobind/CMakeLists.txt b/cpp/nanobind/CMakeLists.txt
index 8ea5622..02500ac 100644
--- a/cpp/nanobind/CMakeLists.txt
+++ b/cpp/nanobind/CMakeLists.txt
@@ -3,6 +3,10 @@ find_package(
   COMPONENTS Interpreter Development.Module
   REQUIRED
 )
+
+execute_process(
+  COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir
+  OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE nanobind_DIR)
 find_package(nanobind CONFIG REQUIRED)
 
 # Compile this source file seperately. Nanobind suggests to optimize bindings code for size, but
diff --git a/pyproject.toml b/pyproject.toml
index 11fae7d..d2078b1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -44,7 +44,7 @@ provider = "scikit_build_core.metadata.regex"
 input = "python/xgrammar/version.py"
 
 [build-system]
-requires = ["scikit-build-core>=0.10.0", "nanobind==2.5.0"]
+requires = ["scikit-build-core>=0.10.0", "nanobind>=2.5.0"]
 build-backend = "scikit_build_core.build"
 
 [tool.scikit-build]
-- 
2.49.0
+13 −4
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
  # build-system
  cmake,
  ninja,
  pybind11,
  nanobind,
  scikit-build-core,

  # dependencies
@@ -25,7 +25,7 @@

buildPythonPackage rec {
  pname = "xgrammar";
  version = "0.1.14";
  version = "0.1.19";
  pyproject = true;

  src = fetchFromGitHub {
@@ -33,13 +33,17 @@ buildPythonPackage rec {
    repo = "xgrammar";
    tag = "v${version}";
    fetchSubmodules = true;
    hash = "sha256-ohsoc3g5XUp9vSXxyOGj20wXzCXZC02ktHYVQjDqNeM=";
    hash = "sha256-0b2tJx1D/2X/uosbthHfevUpTCBtuSKNlxOKyidTotA=";
  };

  patches = [
    ./0001-fix-find-nanobind-from-python-module.patch
  ];

  build-system = [
    cmake
    ninja
    pybind11
    nanobind
    scikit-build-core
  ];
  dontUseCmakeConfigure = true;
@@ -61,6 +65,11 @@ buildPythonPackage rec {
    writableTmpDirAsHomeHook
  ];

  NIX_CFLAGS_COMPILE = toString [
    # xgrammar hardcodes -flto=auto while using static linking, which can cause linker errors without this additional flag.
    "-ffat-lto-objects"
  ];

  disabledTests = [
    # You are trying to access a gated repo.
    "test_grammar_compiler"
Loading