diff --git a/docs/design/attention_backends.md b/docs/design/attention_backends.md index d5d18f4ef1..edd3a93ac0 100644 --- a/docs/design/attention_backends.md +++ b/docs/design/attention_backends.md @@ -199,7 +199,9 @@ hardware and configuration. > **‡** Automatic selection tries FlashAttention first. On Blackwell > (SM100), the fallback order is TRT-LLM Ragged, FlashInfer, then -> TokenSpeed MLA. On other GPUs, only FlashAttention is considered. +> TokenSpeed MLA. On other GPUs, only FlashAttention is considered. TokenSpeed +> MLA is optional; its package must use an `apache-tvm-ffi` version compatible +> with the installed TileLang release. ### Decode Backends diff --git a/requirements/cuda.txt b/requirements/cuda.txt index 52161d05f1..ee89a13b5d 100644 --- a/requirements/cuda.txt +++ b/requirements/cuda.txt @@ -24,8 +24,8 @@ fastsafetensors >= 0.3.3 nvidia-cutlass-dsl[cu13]==4.7.0 quack-kernels>=0.3.3 -# Tokenspeed_MLA for faster mla with spec decode -tokenspeed-mla==0.2.5 +# TokenSpeed MLA is optional. Version 0.2.5 pins apache-tvm-ffi==0.1.13, +# which cannot coexist with the TileLang version pinned above. # Humming kernels for quantization gemm humming-kernels[cu13]==0.1.2 diff --git a/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py b/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py index d6e4fca172..477bed24b7 100644 --- a/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py +++ b/vllm/v1/attention/backends/mla/prefill/tokenspeed_mla.py @@ -30,8 +30,9 @@ def supports_compute_capability(cls, device_capability: "DeviceCapability") -> b return device_capability.major == 10 _INSTALL_HINT = ( - "tokenspeed_mla package is not installed. " - "Install it with: `uv pip install tokenspeed-mla`" + "tokenspeed_mla is an optional package and is not installed. " + "Its apache-tvm-ffi requirement must be compatible with the installed " + "TileLang version." ) @classmethod diff --git a/vllm/v1/attention/backends/mla/tokenspeed_mla.py b/vllm/v1/attention/backends/mla/tokenspeed_mla.py index 6c8dedd77f..2af65cb9ce 100644 --- a/vllm/v1/attention/backends/mla/tokenspeed_mla.py +++ b/vllm/v1/attention/backends/mla/tokenspeed_mla.py @@ -101,8 +101,9 @@ def supports_combination( import tokenspeed_mla # noqa: F401 except ImportError: return ( - "tokenspeed_mla package is not installed. " - "Install it with: `uv pip install tokenspeed-mla`" + "tokenspeed_mla is an optional package and is not installed. " + "Its apache-tvm-ffi requirement must be compatible with the " + "installed TileLang version." ) # tokenspeed_mla CuTe DSL kernel is shape-specialized for DeepSeek R1