From 10d264a2b917e3e8b26cdf155d47f37df6d3faa0 Mon Sep 17 00:00:00 2001 From: Michael Goin Date: Sat, 23 May 2026 17:21:13 -0400 Subject: [PATCH] Revert "[Misc] add humming to dependencies" (#43492) --- requirements/cuda.txt | 5 +--- setup.py | 2 -- .../layers/quantization/humming.py | 23 +++++++++++-------- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/requirements/cuda.txt b/requirements/cuda.txt index 20fec60f27..14482744f0 100644 --- a/requirements/cuda.txt +++ b/requirements/cuda.txt @@ -25,7 +25,4 @@ nvidia-cutlass-dsl[cu13]==4.5.0 quack-kernels>=0.3.3 # Tokenspeed_MLA for faster mla with spec decode -tokenspeed-mla==0.1.2 - -# Humming kernels for quantization gemm -humming-kernels[cu13]==0.1.0 +tokenspeed-mla==0.1.2 \ No newline at end of file diff --git a/setup.py b/setup.py index a95ee3451b..b0b5337a92 100644 --- a/setup.py +++ b/setup.py @@ -1017,8 +1017,6 @@ def get_requirements() -> list[str]: if "nvidia-cutlass-dsl[cu13]" in req and cuda_major == "12": # [cu13] extra is the default; strip it on CUDA 12 builds. req = req.replace("nvidia-cutlass-dsl[cu13]", "nvidia-cutlass-dsl") - if "humming-kernels[cu13]" in req and cuda_major == "12": - req = req.replace("humming-kernels[cu13]", "humming-kernels[cu12]") modified_requirements.append(req) requirements = modified_requirements elif _is_hip(): diff --git a/vllm/model_executor/layers/quantization/humming.py b/vllm/model_executor/layers/quantization/humming.py index 12bb07a402..8139b2441b 100644 --- a/vllm/model_executor/layers/quantization/humming.py +++ b/vllm/model_executor/layers/quantization/humming.py @@ -43,9 +43,12 @@ from vllm.model_executor.parameter import ( RowvLLMParameter, ) from vllm.model_executor.utils import set_weight_attrs -from vllm.platforms import current_platform -if current_platform.is_cuda(): +if TYPE_CHECKING: + from vllm.model_executor.models.utils import WeightsMapper + + +try: from humming.dtypes import DataType from humming.layer import HummingMethod from humming.schema import ( @@ -62,17 +65,16 @@ if current_platform.is_cuda(): HummingIndexedExperts, get_humming_moe_gemm_type, ) +except ModuleNotFoundError: + HummingMethod = None -if TYPE_CHECKING: - from humming.schema import ( - BaseInputSchema, - BaseWeightSchema, - HummingInputSchema, - HummingWeightSchema, + +def assert_humming_available(): + assert HummingMethod is not None, ( + "humming is not available, please run " + "'pip install git+https://github.com/inclusionAI/humming' to install it." ) - from vllm.model_executor.models.utils import WeightsMapper - def prepare_padded_shape(shape, x): padded_shape = math.ceil(shape / x) * x @@ -184,6 +186,7 @@ class HummingConfig(QuantizationConfig): packed_modules_mapping: dict[str, list[str]] = {} def __init__(self, full_config: dict[str, Any] | None = None): + assert_humming_available() self.full_config: dict[str, Any] = full_config or {} @classmethod