tvm_tirx.backend.cuda.transform.BindBackendConfig#
- tvm_tirx.backend.cuda.transform.BindBackendConfig()#
Resolve CUDA function and device-entry compilation settings.
Run after
BindTargetand before tile dispatch. Function defaults and entry overrides becometargetand JSONbackend_configattributes; non-CUDA functions are unchanged.Examples
import tvm_tirx as tvm from tvm_tirx.script import tirx as T from tvm_tirx.backend.config import backend_config_json from tvm_tirx.backend.cuda.backend_config import resolve_backend_config from tvm_tirx.backend.cuda.transform import BindBackendConfig target = tvm.target.Target({"kind": "cuda", "arch": "sm_90a"}) config = backend_config_json({"cuda": resolve_backend_config(target=target)}) @T.ir_module class Before: @T.function def main(A: T.Tensor((1,), "int32")): T.func_attr({"target": target}) with T.device_entry(): A[0] = 1 @T.ir_module class Expected: @T.function def main(A: T.Tensor((1,), "int32")): T.func_attr({"target": target, "backend_config": config}) with T.device_entry(attrs={"target": target, "backend_config": config}): A[0] = 1 after = BindBackendConfig()(Before) tvm.ir.assert_structural_equal(after, Expected)