I am new to TVM and I ran into some issues when tring the TIR tutorial.
The commit: 328d7c7c09763b8532a6a7359a5dc6d5ee6c8a98.
Python : 3.7.11.
unexpected indent (<unknown>, line 1)
File "/xxxxx/tvm/python/tvm/script/parser.py", line 1093, in from_source
result = to_ast(input_func, TVMDiagnosticCtx(), parser)
File "/xxxxx/tvm/python/tvm/script/tir/prim_func.py", line 40, in prim_func
result = from_source(input_func)
File "/xxxxx/tvm/gallery/tutorial/tensor_ir_blitz_course.py", line 50, in MyModule
def main(a: T.handle, b: T.handle):
File "/xxxxx/tvm/gallery/tutorial/tensor_ir_blitz_course.py", line 47, in <module>
@tvm.script.ir_module
If I try to build a IRMoudle created from TE, there is another issue when calling
mod = tvm.build(ir_module_from_te, target="llvm")
Traceback (most recent call last):
File "tensor_ir_blitz_course.py", line 82, in <module>
mod = tvm.build(ir_module_from_te, target="llvm") # The module for CPU backends.
File "/xxxxx/tvm/python/tvm/driver/build_module.py", line 276, in build
rt_mod_host = _driver_ffi.preprocess_module(annotated_mods, target_host)
File "/xxxxx/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 237, in __call__
raise get_last_ffi_error()
tvm._ffi.base.TVMError: Traceback (most recent call last):
11: TVMFuncCall
10: std::_Function_handler<void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::runtime::Module (tvm::runtime::Map<tvm::Target, tvm::IRModule, void, void> const&, tvm::Target)>::AssignTypedLambda<tvm::{lambda(tvm::runtime::Map<tvm::Target, tvm::IRModule, void, void> const&, tvm::Target)#6}>(tvm::{lambda(tvm::runtime::Map<tvm::Target, tvm::IRModule, void, void> const&, tvm::Target)#6}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&, tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
9: tvm::PreProcessModuleForBuild(tvm::runtime::Map<tvm::Target, tvm::IRModule, void, void> const&, tvm::Target const&)
8: tvm::SplitMixedModule(tvm::IRModule, tvm::Target const&, tvm::Target const&)
7: tvm::ApplyPasses(tvm::IRModule, tvm::transform::Sequential)
6: tvm::transform::Pass::operator()(tvm::IRModule) const
5: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
4: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
3: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
2: tvm::transform::ModulePassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
1: std::_Function_handler<void (tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::IRModule (tvm::IRModule, tvm::transform::PassContext)>::AssignTypedLambda<tvm::tir::transform::MakePackedAPI(int)::{lambda(tvm::IRModule, tvm::transform::PassContext)#1}>(tvm::tir::transform::MakePackedAPI(int)::{lambda(tvm::IRModule, tvm::transform::PassContext)#1})::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&, tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
0: tvm::tir::MakePackedAPI(tvm::tir::PrimFunc&&, int)
File "/xxxxx/tvm/src/tir/transforms/make_packed_api.cc", line 110