{"record":{"id":"0d2dfa38d879d430","repo":"sgl-project/sglang","slug":"flash-attn-is-not-installed-please-install-it-e","errorCode":null,"errorMessage":"flash-attn is not installed. Please install it, e.g., `pip install flash-attn`.","messagePattern":"flash-attn is not installed\\. Please install it, e\\.g\\., `pip install flash-attn`\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"critical","filePath":"python/sglang/multimodal_gen/csrc/attn/vmoba_attn/vmoba/vmoba.py","lineNumber":21,"sourceCode":"\nimport random\nimport time\nfrom typing import Tuple\n\nimport torch\n\ntry:\n    from flash_attn import (  # Use the new flash attention function\n        flash_attn_varlen_func,\n    )\n    from flash_attn.flash_attn_interface import (\n        _flash_attn_varlen_backward,\n        _flash_attn_varlen_forward,\n    )\nexcept ImportError:\n\n    def _unsupported(*args, **kwargs):\n        raise ImportError(\n            \"flash-attn is not installed. Please install it, e.g., `pip install flash-attn`.\"\n        )\n\n    _flash_attn_varlen_forward = _unsupported\n    _flash_attn_varlen_backward = _unsupported\n    flash_attn_varlen_func = _unsupported\n\nfrom functools import lru_cache\n\nfrom einops import rearrange\n\n\n@lru_cache(maxsize=16)\ndef calc_chunks(cu_seqlen, moba_chunk_size):\n    \"\"\"\n    Calculate chunk boundaries.\n\n    For vision tasks we include all chunks (even the last one which might be shorter)","sourceCodeStart":3,"sourceCodeEnd":39,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/csrc/attn/vmoba_attn/vmoba/vmoba.py#L3-L39","documentation":"Raised by the _unsupported stub that replaces flash_attn_varlen_func / _flash_attn_varlen_forward / _flash_attn_varlen_backward when the flash-attn package fails to import. The vmoba.py module needs flash-attn's varlen kernels to run MoBA attention, so any call to these functions without flash-attn installed raises an ImportError.","triggerScenarios":"Calling moba_attn_varlen or anything that invokes flash_attn_varlen_func, _flash_attn_varlen_forward, or _flash_attn_varlen_backward in python/sglang/multimodal_gen/csrc/attn/vmoba_attn/vmoba/vmoba.py when `from flash_attn import ...` raised ImportError (package missing or broken install, e.g. wrong CUDA/torch ABI).","commonSituations":"New environment without flash-attn; installing flash-attn compiled against a different torch or CUDA version so import fails; running on CPUs or machines without a compatible GPU toolchain.","solutions":["pip install flash-attn --no-build-isolation (match your torch/CUDA version)","Verify import works: python -c \"from flash_attn import flash_attn_varlen_func\"; if it fails, check torch/CUDA ABI compatibility","Install a prebuilt wheel matching your torch/CUDA (e.g. from the flash-attn GitHub releases) instead of building from source","If flash-attn is unavailable, use a non-MoBA / fallback attention path that does not route through vmoba.py"],"exampleFix":"# before: ImportError: flash-attn is not installed...\nout = flash_attn_varlen_func(q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k)\n# after: pip install flash-attn --no-build-isolation, then same call works\n# or guard:\ntry:\n    out = flash_attn_varlen_func(...)\nexcept ImportError:\n    out = fallback_attention(q, k, v)","handlingStrategy":"fallback","validationCode":"try:\n    from flash_attn import flash_attn_varlen_func  # noqa: F401\n    HAS_FLASH_ATTN = True\nexcept ImportError:\n    HAS_FLASH_ATTN = False\n\nif not HAS_FLASH_ATTN:\n    raise RuntimeError(\"flash-attn required for MoBA attention; pip install flash-attn --no-build-isolation\")","typeGuard":null,"tryCatchPattern":"try:\n    out = vmoba.flash_attn_varlen_func(...)\nexcept ImportError as e:\n    if \"flash-attn is not installed\" in str(e):\n        out = fallback_varlen_attention(q, k, v, cu_seqlens_q, cu_seqlens_k)\n    else:\n        raise","preventionTips":["Pin a flash-attn wheel matching your torch/CUDA in requirements","Add a startup capability check that fails fast with a clear message","Keep a non-flash fallback attention path for CPU/CI environments"],"tags":["flash-attn","import-error","dependency-missing","attention","cuda"],"backgroundTag":"missing-dependency","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}