from torch_npu._compat.version import CURRENT_VERSION
# COMPAT(>= 2.11): CachingAutotuner moved from runtime.triton_heuristics to triton_heuristics.
# Lazy function (not module-level import): torch._inductor.triton_heuristics does not exist
# in CPU-only builds, so importing at module load time would fail.
# CAN REMOVE when MIN_SUPPORTED >= (2, 11): import from triton_heuristics directly
def get_CachingAutotuner():
if CURRENT_VERSION >= (2, 11):
from torch._inductor.triton_heuristics import CachingAutotuner
else:
from torch._inductor.runtime.triton_heuristics import CachingAutotuner
return CachingAutotuner
# COMPAT(>= 2.11): sizevars.var_to_val renamed to sizevars.backed_var_to_val.
# CAN REMOVE when MIN_SUPPORTED >= (2, 11): use sizevars.backed_var_to_val directly
def get_sizevars_backed_var_to_val(sizevars):
if hasattr(sizevars, "backed_var_to_val"):
return sizevars.backed_var_to_val
return sizevars.var_to_val
# COMPAT(>= 2.11): gen_common_triton_imports changed from module-level function
# to instance method on the kernel object.
# CAN REMOVE when MIN_SUPPORTED >= (2, 11): call kernel.gen_common_triton_imports() directly
def gen_common_triton_imports(kernel):
if CURRENT_VERSION >= (2, 11):
return kernel.gen_common_triton_imports()
from torch._inductor.codegen.triton import gen_common_triton_imports as _fn
return _fn()