diff --git a/tilelang/jit/kernel.py b/tilelang/jit/kernel.py index de935d996..1629178b8 100644 --- a/tilelang/jit/kernel.py +++ b/tilelang/jit/kernel.py @@ -637,8 +637,17 @@ def export_library(self, kernel_file: str) -> None: # rt_module: use export_library to export # rt_params: use cloudpickle to serialize - # Export the compiled kernel function to a shared library file. - self.rt_module.export_library(kernel_file) + if self.artifact is None or self.artifact.rt_mod is None: + raise AttributeError( + 'Runtime module is not available. Please compile the kernel with `execution_backend="tvm_ffi"` before exporting.' + ) + + dir_path = os.path.dirname(kernel_file) + if dir_path: + os.makedirs(dir_path, exist_ok=True) + + self.artifact.rt_mod.export_library(kernel_file) + logger.info(f"Kernel library exported to {os.path.abspath(kernel_file)}") def _get_ptx(self, verbose: bool | None = None) -> str: """