tilelang.backend.module¶
Backend module registration and per-compilation context resolution.
Attributes¶
Classes¶
Complete Python registration manifest for one TileLang backend. |
|
Resolved backend state shared by every stage of one compilation. |
Functions¶
|
Validate and register every component declared by a backend manifest. |
|
Return a registered backend module by name. |
Return a copy of the registered backend modules. |
|
|
Resolve user inputs into the immutable context for one compilation. |
Module Contents¶
- tilelang.backend.module.BackendCallback¶
- tilelang.backend.module.TargetPredicate¶
- class tilelang.backend.module.BackendModule¶
Complete Python registration manifest for one TileLang backend.
- name: str¶
- target_kinds: tuple[str, Ellipsis]¶
- pipelines: collections.abc.Mapping[str, tilelang.backend.pass_pipeline.PassPipeline]¶
- device_codegens: collections.abc.Mapping[str, tilelang.backend.device_codegen.DeviceCodegen]¶
- execution_backends: tuple[tilelang.backend.execution_backend.ExecutionBackendSpec, Ellipsis]¶
- supports_target: TargetPredicate | None = None¶
- host_codegens: collections.abc.Mapping[str, tilelang.backend.host_codegen.HostCodegen]¶
- host_codegen_hooks: collections.abc.Mapping[str, tuple[tilelang.backend.host_codegen.HostCodegenHook, Ellipsis]]¶
- callbacks: collections.abc.Mapping[str, BackendCallback]¶
- __post_init__()¶
- Return type:
None
- matches(target)¶
Return whether this backend module owns the target.
- Parameters:
target (tvm.target.Target)
- Return type:
- get_pipeline(target)¶
Return the lowering pipeline declared for the target.
- Parameters:
target (tvm.target.Target)
- Return type:
tilelang.backend.pass_pipeline.PassPipeline
- lower(mod, target)¶
Run this backend’s lowering pipeline for the target.
- Parameters:
mod (tvm.IRModule)
target (tvm.target.Target)
- Return type:
tvm.IRModule
- get_device_codegen(target)¶
Return the device codegen declared for the target.
- Parameters:
target (tvm.target.Target)
- Return type:
- codegen_device(mod, target, *, compile_device)¶
Generate device code for the target.
- Parameters:
mod (tvm.IRModule)
target (tvm.target.Target)
compile_device (bool)
- Return type:
tvm.IRModule
- get_host_codegen(target_host)¶
Return the host codegen declared for the host target.
- Parameters:
target_host (tvm.target.Target)
- Return type:
- codegen_host(mod, target_host)¶
Generate host code for the host target.
- Parameters:
mod (tvm.IRModule)
target_host (tvm.target.Target)
- Return type:
tvm.IRModule
- preprocess_host_codegen(mod, target_host, target)¶
Apply backend hooks before host code generation.
- Parameters:
mod (tvm.IRModule)
target_host (tvm.target.Target)
target (tvm.target.Target)
- Return type:
tvm.IRModule
- allowed_execution_backends(target, *, include_unavailable=True)¶
Return execution backend names supported by the target.
- Parameters:
target (tvm.target.Target)
include_unavailable (bool)
- Return type:
tuple[str, Ellipsis]
- resolve_execution_backend(requested, target)¶
Resolve an execution backend policy for the target.
- Parameters:
requested (str | None)
target (tvm.target.Target)
- Return type:
- class tilelang.backend.module.BackendContext¶
Resolved backend state shared by every stage of one compilation.
- module: BackendModule¶
- target: tvm.target.Target¶
- target_host: tvm.target.Target¶
- execution_backend: tilelang.backend.execution_backend.ExecutionBackendSpec¶
- __post_init__()¶
- Return type:
None
- property name: str¶
Return the selected backend module name.
- Return type:
str
- lower(mod)¶
Run the selected backend’s lowering pipeline.
- Parameters:
mod (tvm.IRModule)
- Return type:
tvm.IRModule
- codegen_device(mod, *, compile_device=None)¶
Generate device code using the selected execution policy by default.
- Parameters:
mod (tvm.IRModule)
compile_device (bool | None)
- Return type:
tvm.IRModule
- preprocess_host_codegen(mod)¶
Apply selected-backend hooks before host code generation.
- Parameters:
mod (tvm.IRModule)
- Return type:
tvm.IRModule
- codegen_host(mod)¶
Generate host code for the resolved host target.
- Parameters:
mod (tvm.IRModule)
- Return type:
tvm.IRModule
- tilelang.backend.module.register_backend(backend)¶
Validate and register every component declared by a backend manifest.
- Parameters:
backend (BackendModule)
- Return type:
- tilelang.backend.module.get_backend(name)¶
Return a registered backend module by name.
- Parameters:
name (str)
- Return type:
- tilelang.backend.module.list_backends()¶
Return a copy of the registered backend modules.
- Return type:
dict[str, BackendModule]
- tilelang.backend.module.create_backend_context(target='auto', target_host=None, execution_backend='auto')¶
Resolve user inputs into the immutable context for one compilation.
- Parameters:
target (str | dict[str, object] | tvm.target.Target)
target_host (str | dict[str, object] | tvm.target.Target | None)
execution_backend (str | None)
- Return type: