vllm.v1.attention.backends.mla.prefill.registry
¶
Registry for MLA prefill backends.
This module provides an enumeration of all available MLA prefill backends and utilities for loading and registering them.
Classes:
-
MLAPrefillBackendEnum–Enumeration of all supported MLA prefill backends.
Functions:
-
register_mla_prefill_backend–Register or override an MLA prefill backend implementation.
MLAPrefillBackendEnum
¶
Bases: Enum
Enumeration of all supported MLA prefill backends.
Methods:
-
clear_override–Clear any override for this backend, reverting to the default.
-
get_class–Get the backend class (respects overrides).
-
get_path–Get the class path for this backend (respects overrides).
-
is_overridden–Check if this backend has been overridden.
-
register–Dynamically register a new MLA prefill backend enum member.
Source code in vllm/v1/attention/backends/mla/prefill/registry.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | |
clear_override()
¶
get_class()
¶
Get the backend class (respects overrides).
Returns:
-
type[MLAPrefillBackend]–The backend class
Raises:
-
ImportError–If the backend class cannot be imported
-
ValueError–If CUSTOM is used without being registered
Source code in vllm/v1/attention/backends/mla/prefill/registry.py
get_path()
¶
Get the class path for this backend (respects overrides).
Returns:
-
str–The fully qualified class path string
Raises:
-
ValueError–If Backend.CUSTOM is used without being registered
Source code in vllm/v1/attention/backends/mla/prefill/registry.py
is_overridden()
¶
register(name, value)
classmethod
¶
Dynamically register a new MLA prefill backend enum member.
Parameters:
-
(name¶str) –The name for the new enum member
-
(value¶str) –The fully qualified class path string
Returns:
-
MLAPrefillBackendEnum–The newly created enum member
Source code in vllm/v1/attention/backends/mla/prefill/registry.py
_MLAPrefillBackendEnumMeta
¶
Bases: EnumMeta
Metaclass for MLAPrefillBackendEnum to provide better error messages.
Source code in vllm/v1/attention/backends/mla/prefill/registry.py
register_mla_prefill_backend(backend, class_path=None)
¶
Register or override an MLA prefill backend implementation.
Parameters:
-
(backend¶MLAPrefillBackendEnum | str) –The MLAPrefillBackendEnum member to register, or a string name for a new custom backend (e.g., "CUSTOM_MLA_PREFILL").
-
(class_path¶str | None, default:None) –Optional class path. If not provided and used as decorator, will be auto-generated from the class.
Returns:
Examples:
Override an existing MLA prefill backend¶
@register_mla_prefill_backend(MLAPrefillBackendEnum.FLASH_ATTN) class MyCustomFlashAttn(MLAPrefillBackend): ...
Register a custom third-party MLA prefill backend¶
@register_mla_prefill_backend(MLAPrefillBackendEnum.CUSTOM) class MyCustomPrefillBackend(MLAPrefillBackend): ...
Register a new custom MLA prefill backend with a dynamic enum name¶
@register_mla_prefill_backend("CUSTOM_MLA_PREFILL") class CustomMLAPrefillBackend(MLAPrefillBackend): ...
Direct registration¶
register_mla_prefill_backend( MLAPrefillBackendEnum.CUSTOM, "my.module.MyCustomPrefillBackend" )
Direct registration with string name¶
register_mla_prefill_backend( "CUSTOM_MLA_PREFILL", "custom.attention.mla_prefill.CustomMLAPrefillBackend" )