ganler opened a new issue #9813:
URL: https://github.com/apache/tvm/issues/9813
A simple graph (conv2d -> argmin) cannot pass compilation:
```
def @main(%data: Tensor[(1, 3, 48, 48), float32], %weight: Tensor[(1, 3, 1,
1), float32]) -> Tensor[(1, 2, 2), int32] {
%0 = nn.conv2d(%data, %weight, strides=[47, 47], padding=[0, 0, 0, 0],
channels=1, kernel_size=[1, 1]) /* ty=Tensor[(1, 1, 2, 2), float32] */;
argmin(%0, axis=[1]) /* ty=Tensor[(1, 2, 2), int32] */
}
```
### Expected behaviour
Pass compilation as it can produce results in ONNXRuntime and PyTorch.
### Actual behaviour
<details><summary><b>Compilation failure: </b> <i>[click to
expand]</i></summary>
<div>
```python
"""
Traceback (most recent call last):
File "xxx/backend_executor.py", line 269, in <module>
run_backend_same_proc(args.model, args.input, bknd,
File "xxx/backend_executor.py", line 84, in run_backend_same_proc
outputs = backend.predict(model_path, inputs)
File "/home/ganler/Documents/xxx/xxx/backends/tvm_graph.py", line 75, in
predict
self.load_model(model)
File "/home/ganler/Documents/xxx/xxx/backends/tvm_graph.py", line 69, in
load_model
executor = relay.build_module.create_executor(
File
"/home/ganler/Documents/tvm-debug/python/tvm/relay/backend/interpreter.py",
line 171, in evaluate
return self._make_executor()
File "/home/ganler/Documents/tvm-debug/python/tvm/relay/build_module.py",
line 591, in _make_executor
mod = build(self.mod, target=self.target)
File "/home/ganler/Documents/tvm-debug/python/tvm/relay/build_module.py",
line 449, in build
graph_json, runtime_mod, params = bld_mod.build(
File "/home/ganler/Documents/tvm-debug/python/tvm/relay/build_module.py",
line 189, in build
self._build(mod, target, target_host, executor, runtime, mod_name)
File
"/home/ganler/Documents/tvm-debug/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):
88: TVMFuncCall
at /home/ganler/Documents/tvm-debug/src/runtime/c_runtime_api.cc:475
87: tvm::runtime::PackedFunc::CallPacked(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1151
86: std::function<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*) const
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:560
85: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*),
tvm::relay::backend::RelayBuildModule::GetFunction(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
tvm::runtime::ObjectPtr<tvm::runtime::Object>
const&)::{lambda(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*)#3}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:291
84: std::enable_if<__and_<std::is_void<void>,
std::__is_invocable<tvm::relay::backend::RelayBuildModule::GetFunction(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
tvm::runtime::ObjectPtr<tvm::runtime::Object>
const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#3}&,
tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*> >::value, void>::type
std::__invoke_r<void,
tvm::relay::backend::RelayBuildModule::GetFunction(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
tvm::runtime::ObjectPtr<tvm::runtime::Object>
const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#3}&,
tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*>(tvm::relay::backend::RelayBuildModule::GetFunction(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
tvm::runtime::ObjectPtr<tvm::runtime::Object>
const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#3}&, tvm::ru
ntime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:154
83: void std::__invoke_impl<void,
tvm::relay::backend::RelayBuildModule::GetFunction(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
tvm::runtime::ObjectPtr<tvm::runtime::Object>
const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#3}&,
tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*>(std::__invoke_other,
tvm::relay::backend::RelayBuildModule::GetFunction(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
tvm::runtime::ObjectPtr<tvm::runtime::Object>
const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#3}&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:61
82:
tvm::relay::backend::RelayBuildModule::GetFunction(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
tvm::runtime::ObjectPtr<tvm::runtime::Object>
const&)::{lambda(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*)#3}::operator()(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*) const
at
/home/ganler/Documents/tvm-debug/src/relay/backend/build_module.cc:190
81: tvm::relay::backend::RelayBuildModule::Build(tvm::IRModule,
tvm::runtime::Map<tvm::Integer, tvm::Target, void, void> const&, tvm::Target
const&, tvm::relay::Executor const&, tvm::relay::Runtime const&,
tvm::runtime::String)
at
/home/ganler/Documents/tvm-debug/src/relay/backend/build_module.cc:303
80: tvm::relay::backend::RelayBuildModule::BuildRelay(tvm::IRModule,
tvm::runtime::String const&)
at
/home/ganler/Documents/tvm-debug/src/relay/backend/build_module.cc:403
79: tvm::relay::backend::RelayBuildModule::OptimizeImpl(tvm::IRModule)
at
/home/ganler/Documents/tvm-debug/src/relay/backend/build_module.cc:357
78: tvm::transform::Pass::operator()(tvm::IRModule) const
at /home/ganler/Documents/tvm-debug/src/ir/transform.cc:255
77: tvm::transform::Pass::operator()(tvm::IRModule,
tvm::transform::PassContext const&) const
at /home/ganler/Documents/tvm-debug/src/ir/transform.cc:267
76: tvm::transform::SequentialNode::operator()(tvm::IRModule,
tvm::transform::PassContext const&) const
at /home/ganler/Documents/tvm-debug/src/ir/transform.cc:487
75: tvm::transform::Pass::operator()(tvm::IRModule,
tvm::transform::PassContext const&) const
at /home/ganler/Documents/tvm-debug/src/ir/transform.cc:267
74: tvm::relay::transform::FunctionPassNode::operator()(tvm::IRModule,
tvm::transform::PassContext const&) const
at /home/ganler/Documents/tvm-debug/src/relay/ir/transform.cc:133
73: tvm::runtime::TypedPackedFunc<tvm::relay::Function
(tvm::relay::Function, tvm::IRModule,
tvm::transform::PassContext)>::operator()(tvm::relay::Function, tvm::IRModule,
tvm::transform::PassContext) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1498
72: tvm::relay::Function
tvm::runtime::detail::typed_packed_call_dispatcher<tvm::relay::Function>::run<tvm::relay::Function,
tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&,
tvm::relay::Function&&, tvm::IRModule&&, tvm::transform::PassContext&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1444
71: tvm::runtime::TVMRetValue
tvm::runtime::PackedFunc::operator()<tvm::relay::Function, tvm::IRModule,
tvm::transform::PassContext>(tvm::relay::Function&&, tvm::IRModule&&,
tvm::transform::PassContext&&) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1369
70: std::function<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*) const
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:560
69: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::relay::Function
(tvm::relay::Function, tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::AlterOpLayout()::$_1>(tvm::relay::transform::AlterOpLayout()::$_1)::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:291
68: std::enable_if<__and_<std::is_void<void>,
std::__is_invocable<tvm::runtime::TypedPackedFunc<tvm::relay::Function
(tvm::relay::Function, tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::AlterOpLayout()::$_1>(tvm::relay::transform::AlterOpLayout()::$_1)::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*> >::value, void>::type std::__invoke_r<void,
tvm::runtime::TypedPackedFunc<tvm::relay::Function (tvm::relay::Function,
tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::AlterOpLayout()::$_1>(tvm::relay::transform::AlterOpLayout()::$_1)::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*>(tvm::runtime::TypedPackedFunc<tvm::relay::Function
(tvm::relay::Function, tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::AlterOpLayout()::$_1
>(tvm::relay::transform::AlterOpLayout()::$_1)::{lambda(tvm::runtime::TVMArgs
>const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs&&,
>tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:154
67: void std::__invoke_impl<void,
tvm::runtime::TypedPackedFunc<tvm::relay::Function (tvm::relay::Function,
tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::AlterOpLayout()::$_1>(tvm::relay::transform::AlterOpLayout()::$_1)::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*>(std::__invoke_other,
tvm::runtime::TypedPackedFunc<tvm::relay::Function (tvm::relay::Function,
tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::AlterOpLayout()::$_1>(tvm::relay::transform::AlterOpLayout()::$_1)::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs&&,
tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:61
66: tvm::runtime::TypedPackedFunc<tvm::relay::Function
(tvm::relay::Function, tvm::IRModule,
tvm::transform::PassContext)>::AssignTypedLambda<tvm::relay::transform::AlterOpLayout()::$_1>(tvm::relay::transform::AlterOpLayout()::$_1)::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1492
65: void tvm::runtime::detail::unpack_call<tvm::relay::Function, 3,
tvm::relay::transform::AlterOpLayout()::$_1>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::transform::AlterOpLayout()::$_1 const&, tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1421
64: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::Function, 3, 0,
tvm::relay::transform::AlterOpLayout()::$_1>::run<>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::transform::AlterOpLayout()::$_1 const&, tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
63: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::Function, 2, 1,
tvm::relay::transform::AlterOpLayout()::$_1>::run<tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::transform::AlterOpLayout()::$_1 const&, tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*,
tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
62: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::Function, 1, 2,
tvm::relay::transform::AlterOpLayout()::$_1>::run<tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::transform::AlterOpLayout()::$_1 const&, tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*,
tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
61: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::Function, 0, 3,
tvm::relay::transform::AlterOpLayout()::$_1>::run<tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::transform::AlterOpLayout()::$_1 const&, tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*,
tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1397
60:
tvm::relay::transform::AlterOpLayout()::$_1::operator()(tvm::relay::Function,
tvm::IRModule, tvm::transform::PassContext) const
at
/home/ganler/Documents/tvm-debug/src/relay/transforms/alter_op_layout.cc:134
59: tvm::relay::alter_op_layout::AlterOpLayout(tvm::RelayExpr const&)
at
/home/ganler/Documents/tvm-debug/src/relay/transforms/alter_op_layout.cc:124
58: tvm::relay::ForwardRewrite(tvm::RelayExpr const&,
tvm::runtime::TypedPackedFunc<tvm::RelayExpr (tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)> const&, std::function<tvm::runtime::ObjectRef (tvm::relay::Call
const&)>, std::function<tvm::RelayExpr (tvm::RelayExpr const&)>)
at
/home/ganler/Documents/tvm-debug/src/relay/transforms/forward_rewrite.cc:182
57: tvm::relay::ForwardRewriter::Rewrite(tvm::RelayExpr const&)
at
/home/ganler/Documents/tvm-debug/src/relay/transforms/forward_rewrite.cc:72
56: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:102
55: void
tvm::relay::ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_2, tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3>(tvm::RelayExpr,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_2,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_3)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:492
54: void
tvm::relay::ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_2, tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3,
tvm::relay::ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_2, tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3>(tvm::RelayExpr,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_2,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3)::{lambda(tvm::RelayExpr const&)#1}>(tvm::RelayExpr,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_2,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_3,
tvm::relay::ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_2, tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3>(tvm::RelayExpr,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_2,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const
&)::$_3)::{lambda(tvm::RelayExpr const&)#1})
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:462
53: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3::operator()(tvm::RelayExpr const&) const
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:98
52: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:81
51: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:94
50: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:158
49: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>::VisitExpr(tvm::RelayExpr const&)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:95
48: tvm::NodeFunctor<tvm::RelayExpr (tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>*)>::operator()(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*) const
at /home/ganler/Documents/tvm-debug/include/tvm/node/functor.h:97
47: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>*)#5}::__invoke(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:127
46: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>*)#5}::operator()(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*) const
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:127
45: tvm::relay::ExprMutator::VisitExpr_(tvm::relay::FunctionNode const*)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:204
44: tvm::relay::ExprMutator::Mutate(tvm::RelayExpr const&)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:190
43: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:102
42: void
tvm::relay::ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_2, tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3>(tvm::RelayExpr,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_2,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_3)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:492
41: void
tvm::relay::ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_2, tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3,
tvm::relay::ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_2, tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3>(tvm::RelayExpr,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_2,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3)::{lambda(tvm::RelayExpr const&)#1}>(tvm::RelayExpr,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_2,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_3,
tvm::relay::ExpandDataflow<tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_2, tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3>(tvm::RelayExpr,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)::$_2,
tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const
&)::$_3)::{lambda(tvm::RelayExpr const&)#1})
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:462
40: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr
const&)::$_3::operator()(tvm::RelayExpr const&) const
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:98
39: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:81
38: tvm::relay::MixedModeMutator::DispatchVisitExpr(tvm::RelayExpr const&)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:94
37: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&)
at /home/ganler/Documents/tvm-debug/src/relay/ir/expr_functor.cc:158
36: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>::VisitExpr(tvm::RelayExpr const&)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:95
35: tvm::NodeFunctor<tvm::RelayExpr (tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>*)>::operator()(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*) const
at /home/ganler/Documents/tvm-debug/include/tvm/node/functor.h:97
34: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>*)#6}::__invoke(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:128
33: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr
const&)>*)#6}::operator()(tvm::runtime::ObjectRef const&,
tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>*) const
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:128
32: tvm::relay::MixedModeMutator::VisitExpr_(tvm::relay::CallNode const*)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:285
31: tvm::RelayExpr
tvm::relay::MixedModeMutator::Rewrite<tvm::relay::CallNode>(tvm::relay::CallNode
const*)
at
/home/ganler/Documents/tvm-debug/include/tvm/relay/expr_functor.h:307
30: tvm::relay::ForwardRewriter::Rewrite_(tvm::relay::CallNode const*,
tvm::RelayExpr const&)
at
/home/ganler/Documents/tvm-debug/src/relay/transforms/forward_rewrite.cc:154
29: tvm::runtime::TVMRetValue
tvm::runtime::PackedFunc::operator()<tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void>&,
tvm::runtime::ObjectRef>(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void>&, tvm::runtime::ObjectRef&&) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1369
28: std::function<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*) const
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:560
27: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*), tvm::runtime::TypedPackedFunc<tvm::RelayExpr
(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&)>::AssignTypedLambda<tvm::RelayExpr
(*)(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&)>(tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&))::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:291
26: std::enable_if<__and_<std::is_void<void>,
std::__is_invocable<tvm::runtime::TypedPackedFunc<tvm::RelayExpr
(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&)>::AssignTypedLambda<tvm::RelayExpr
(*)(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&)>(tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&))::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*> >::value, void>::type std::__invoke_r<void,
tvm::runtime::TypedPackedFunc<tvm::RelayExpr (tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>::AssignTypedLambda<tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>(tvm::RelayExpr (*)(tvm::relay::Ca
ll const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&))::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*>(tvm::runtime::TypedPackedFunc<tvm::RelayExpr
(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&)>::AssignTypedLambda<tvm::RelayExpr
(*)(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&)>(tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&))::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs&&,
tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:154
25: void std::__invoke_impl<void,
tvm::runtime::TypedPackedFunc<tvm::RelayExpr (tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>::AssignTypedLambda<tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>(tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&))::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*>(std::__invoke_other,
tvm::runtime::TypedPackedFunc<tvm::RelayExpr (tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>::AssignTypedLambda<tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>(tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> co
nst&, tvm::runtime::ObjectRef const&))::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs&&,
tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:61
24: tvm::runtime::TypedPackedFunc<tvm::RelayExpr (tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>::AssignTypedLambda<tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>(tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&))::{lambda(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1492
23: void tvm::runtime::detail::unpack_call<tvm::RelayExpr, 3,
tvm::RelayExpr (*)(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr,
void> const&, tvm::runtime::ObjectRef const&)>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*, tvm::RelayExpr (*
const&)(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void>
const&, tvm::runtime::ObjectRef const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1421
22: void tvm::runtime::detail::unpack_call_dispatcher<tvm::RelayExpr, 3,
0, tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>::run<>(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const*, tvm::RelayExpr (* const&)(tvm::relay::Call
const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
21: void tvm::runtime::detail::unpack_call_dispatcher<tvm::RelayExpr, 2,
1, tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>::run<tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*, tvm::RelayExpr (*
const&)(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void>
const&, tvm::runtime::ObjectRef const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*, tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
20: void tvm::runtime::detail::unpack_call_dispatcher<tvm::RelayExpr, 1,
2, tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>::run<tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*, tvm::RelayExpr (*
const&)(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void>
const&, tvm::runtime::ObjectRef const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*, tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
19: void tvm::runtime::detail::unpack_call_dispatcher<tvm::RelayExpr, 0,
3, tvm::RelayExpr (*)(tvm::relay::Call const&,
tvm::runtime::Array<tvm::RelayExpr, void> const&, tvm::runtime::ObjectRef
const&)>::run<tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*, tvm::RelayExpr (*
const&)(tvm::relay::Call const&, tvm::runtime::Array<tvm::RelayExpr, void>
const&, tvm::runtime::ObjectRef const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*, tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1397
18: tvm::RelayExpr
tvm::relay::LayoutRewriter<tvm::relay::alter_op_layout::AlterTransformMemorizer>(tvm::relay::Call
const&, tvm::runtime::Array<tvm::RelayExpr, void> const&,
tvm::runtime::ObjectRef const&)
at
/home/ganler/Documents/tvm-debug/src/relay/transforms/transform_layout.h:359
17: tvm::relay::InferCorrectLayouts(tvm::relay::Call const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&)
at
/home/ganler/Documents/tvm-debug/src/relay/transforms/transform_layout.h:232
16: tvm::runtime::TypedPackedFunc<tvm::relay::InferCorrectLayoutOutput
(tvm::Attrs const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&)>::operator()(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1498
15: tvm::relay::InferCorrectLayoutOutput
tvm::runtime::detail::typed_packed_call_dispatcher<tvm::relay::InferCorrectLayoutOutput>::run<tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&>(tvm::runtime::PackedFunc const&,
tvm::Attrs const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1444
14: tvm::runtime::TVMRetValue
tvm::runtime::PackedFunc::operator()<tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&>(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1369
13: std::function<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*)>::operator()(tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*) const
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:560
12: std::_Function_handler<void (tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*),
tvm::runtime::TypedPackedFunc<tvm::relay::InferCorrectLayoutOutput (tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::AssignTypedLambda<tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>(tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&))::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}>::_M_invoke(std::_Any_data const&,
tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:291
11: std::enable_if<__and_<std::is_void<void>,
std::__is_invocable<tvm::runtime::TypedPackedFunc<tvm::relay::InferCorrectLayoutOutput
(tvm::Attrs const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::AssignTypedLambda<tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>(tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&))::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*> >::value, void>::type std::__invoke_r<void,
tvm::runtime::TypedPackedFunc<tvm::relay::InferCorrectLayoutOutput (tvm::Attrs
const
&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::AssignTypedLambda<tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>(tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&))::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*>(tvm::runtime::TypedPackedFunc<tvm::relay::InferCorrectLayoutOutput
(tvm::Attrs const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::AssignTypedLambda<tvm::relay::InferCorrectLa
youtOutput (*)(tvm::Attrs const&, tvm::runtime::Array<tvm::tir::Layout, void>
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>(tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&))::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs&&,
tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:154
10: void std::__invoke_impl<void,
tvm::runtime::TypedPackedFunc<tvm::relay::InferCorrectLayoutOutput (tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::AssignTypedLambda<tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>(tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&))::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs,
tvm::runtime::TVMRetValue*>(std::__invoke_other,
tvm::runtime::TypedPackedFunc<tvm::relay::InferCorrectLayoutOutput (tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::AssignTypedLambda<tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>(tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&))::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}&, tvm::runtime::TVMArgs&&,
tvm::runtime::TVMRetValue*&&)
at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:61
9: tvm::runtime::TypedPackedFunc<tvm::relay::InferCorrectLayoutOutput
(tvm::Attrs const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::AssignTypedLambda<tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>(tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&))::{lambda(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs
const&, tvm::runtime::TVMRetValue*) const
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1492
8: void
tvm::runtime::detail::unpack_call<tvm::relay::InferCorrectLayoutOutput, 4,
tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&)>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::InferCorrectLayoutOutput (* const&)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1421
7: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::InferCorrectLayoutOutput,
4, 0, tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::run<>(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const*, tvm::relay::InferCorrectLayoutOutput (*
const&)(tvm::Attrs const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
6: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::InferCorrectLayoutOutput,
3, 1, tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::run<tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::InferCorrectLayoutOutput (* const&)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*, tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
5: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::InferCorrectLayoutOutput,
2, 2, tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::run<tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::InferCorrectLayoutOutput (* const&)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*, tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
4: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::InferCorrectLayoutOutput,
1, 3, tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::run<tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::InferCorrectLayoutOutput (* const&)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*, tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1382
3: void
tvm::runtime::detail::unpack_call_dispatcher<tvm::relay::InferCorrectLayoutOutput,
0, 4, tvm::relay::InferCorrectLayoutOutput (*)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void>
const&)>::run<tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_,
tvm::runtime::TVMMovableArgValueWithContext_>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const*,
tvm::relay::InferCorrectLayoutOutput (* const&)(tvm::Attrs const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&), tvm::runtime::TVMArgs const&,
tvm::runtime::TVMRetValue*, tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithContext_&&,
tvm::runtime::TVMMovableArgValueWithCo
ntext_&&, tvm::runtime::TVMMovableArgValueWithContext_&&)
at
/home/ganler/Documents/tvm-debug/include/tvm/runtime/packed_func.h:1397
2: tvm::relay::InferCorrectLayoutOutput
tvm::relay::ReduceInferCorrectLayout<tvm::relay::ArgReduceAttrs>(tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&)
at /home/ganler/Documents/tvm-debug/src/relay/op/tensor/reduce.cc:210
1:
tvm::relay::ReduceInferCorrectLayout<tvm::relay::ArgReduceAttrs>(tvm::Attrs
const&, tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::tir::Layout, void> const&,
tvm::runtime::Array<tvm::Type, void> const&)::{lambda(tvm::tir::Layout
const&)#1}::operator()(tvm::tir::Layout const&) const
at /home/ganler/Documents/tvm-debug/src/relay/op/tensor/reduce.cc:191
0: tvm::tir::Layout::Layout(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)
at /home/ganler/Documents/tvm-debug/src/tir/ir/data_layout.cc:140
File "/home/ganler/Documents/tvm-debug/src/tir/ir/data_layout.cc", line 140
TVMError:
---------------------------------------------------------------
An error occurred during the execution of TVM.
For more information, please see: https://tvm.apache.org/docs/errors.html
---------------------------------------------------------------
Check failed: (exist_axis[axis - 'a' + 'A']) is false: Invalid layout
NHW1c: missing axis 67
"""
```
</div>
</details>
### Environment
Linux 5.10 (Manjaro Latest Stable). Compiled using clang 13 w/ LLVM support.
### Steps to reproduce
```python
import tvm
from tvm import relay
from tvm.relay import testing
x = relay.var("data", shape=(1, 3, 48, 48))
y = relay.nn.conv2d(data=x,
weight=relay.var("weight"),
kernel_size=(1, 1),
channels=1,
dilation=1,
strides=(47, 47))
z = relay.argmin(y, axis=1)
mod, params = testing.create_workload(z)
with tvm.transform.PassContext(opt_level=4):
executor = relay.build_module.create_executor(
'graph', mod, tvm.cpu(), 'llvm', params
).evaluate()
```
@masahi
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]