relay_build_module_test.cpp Error: Attribute 'FTVMStrategy' is not registered

Here is my trace

terminate called after throwing an instance of ‘tvm::runtime::InternalError’ what(): [11:35:25] /home/linyun/tvm_src/relax/src/ir/…/node/attr_registry.h:146: Attribute ‘FTVMStrategy’ is not registered Stack trace: 0: tvm::AttrRegistry<tvm::OpRegEntry, tvm::Op>::GetAttrMap(tvm::runtime::String const&) 1: tvm::Op::GetAttrMapContainer(tvm::runtime::String const&) at /home/linyun/tvm_src/relax/src/ir/op.cc:62 2: tvm::OpAttrMaptvm::GenericFunc tvm::Op::GetAttrMaptvm::GenericFunc(tvm::runtime::String const&) at /home/linyun/tvm_src/relax/include/tvm/ir/op.h:366 3: operator() at /home/linyun/tvm_src/main.cpp:27 4: tvm::relay::tec::LowerToTECompute::VisitExpr_(tvm::relay::CallNode const*) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler_cache.cc:341 5: tvm::relay::ExprFunctor<tvm::runtime::Array<tvm::te::Tensor, void> (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::runtime::Array<tvm::te::Tensor, void> (tvm::RelayExpr const&)>)#6}::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::runtime::Array<tvm::te::Tensor, void> (tvm::RelayExpr const&)>) const at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:128 6: tvm::relay::ExprFunctor<tvm::runtime::Array<tvm::te::Tensor, void> (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::runtime::Array<tvm::te::Tensor, void> (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::runtime::Array<tvm::te::Tensor, void> (tvm::RelayExpr const&)>) at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:128 7: tvm::relay::ExprFunctor<tvm::runtime::Array<tvm::te::Tensor, void> (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:95 8: tvm::relay::backend::MemoizedExprTranslator<tvm::runtime::Array<tvm::te::Tensor, void> >::VisitExpr(tvm::RelayExpr const&) at /home/linyun/tvm_src/relax/src/relay/backend/./…/transforms/…/backend/utils.h:401 9: tvm::relay::tec::LowerToTECompute::Lower(tvm::relay::Function const&) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler_cache.cc:235 10: tvm::relay::tec::ScheduleBuilder::Create(tvm::relay::Function const&, tvm::GlobalVarSupply, tvm::NameSupply) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler_cache.cc:491 11: tvm::relay::tec::PrimFuncFor(tvm::relay::Function const&, tvm::Target const&, tvm::GlobalVarSupply, tvm::NameSupply) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler_cache.cc:756 12: tvm::relay::tec::TECompilerImpl::LowerInternal(tvm::relay::tec::CCacheKey const&, tvm::GlobalVarSupply) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler.cc:395 13: tvm::relay::tec::TECompilerImpl::Lower(tvm::relay::tec::CCacheKey const&) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler.cc:151 14: tvm::relay::tec::LowerTensorExprMutator::DeviceAwareVisitExpr_(tvm::relay::CallNode const*) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler.cc:932 15: tvm::relay::transform::DeviceAwareExprMutator::VisitExpr_(tvm::relay::CallNode const*) at /home/linyun/tvm_src/relax/src/relay/transforms/device_aware_visitors.cc:275 16: 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/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:128 17: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#6}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:128 18: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:95 19: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&) at /home/linyun/tvm_src/relax/src/relay/ir/expr_functor.cc:158 20: tvm::relay::ExprMutator::Mutate(tvm::RelayExpr const&) at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:190 21: tvm::relay::ExprMutator::VisitExpr_(tvm::relay::FunctionNode const*) at /home/linyun/tvm_src/relax/src/relay/ir/expr_functor.cc:204 22: tvm::relay::transform::DeviceAwareExprMutator::DeviceAwareVisitExpr_(tvm::relay::FunctionNode const*) at /home/linyun/tvm_src/relax/src/relay/transforms/device_aware_visitors.cc:280 23: tvm::relay::tec::LowerTensorExprMutator::DeviceAwareVisitExpr_(tvm::relay::FunctionNode const*) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler.cc:826 24: tvm::relay::transform::DeviceAwareExprMutator::VisitExpr_(tvm::relay::FunctionNode const*) at /home/linyun/tvm_src/relax/src/relay/transforms/device_aware_visitors.cc:225 25: 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/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:127 26: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>)#5}::_FUN(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>) at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:127 27: tvm::relay::ExprFunctor<tvm::RelayExpr (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:95 28: tvm::relay::ExprMutator::VisitExpr(tvm::RelayExpr const&) at /home/linyun/tvm_src/relax/src/relay/ir/expr_functor.cc:158 29: tvm::relay::ExprMutator::Mutate(tvm::RelayExpr const&) at /home/linyun/tvm_src/relax/include/tvm/relay/expr_functor.h:190 30: operator() at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler.cc:958 31: tvm::relay::transform::FunctionPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const at /home/linyun/tvm_src/relax/src/relay/ir/transform.cc:133 32: tvm::relay::tec::LowerTE(tvm::IRModule const&, tvm::runtime::String const&, std::function<void (tvm::BaseFunc)>, tvm::CompilationConfig) at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler.cc:1204 33: operator() at /home/linyun/tvm_src/relax/src/relay/backend/te_compiler.cc:1307 34: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::IRModule, tvm::transform::PassContext>(tvm::IRModule&&, tvm::transform::PassContext&&) const 35: tvm::relay::backend::GraphExecutorCodegen::Codegen(tvm::IRModule, tvm::relay::Function, tvm::runtime::String) at /home/linyun/tvm_src/relax/src/relay/backend/graph_executor_codegen.cc:232 36: tvm::relay::backend::GraphExecutorCodegenModule::GetFunction(tvm::runtime::String const&, tvm::runtime::ObjectPtrtvm::runtime::Object const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#2}::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const at /home/linyun/tvm_src/relax/src/relay/backend/graph_executor_codegen.cc:646 37: void tvm::relay::backend::ExecutorCodegen::CallFunc<tvm::IRModule, tvm::relay::Function, tvm::runtime::String>(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, tvm::IRModule, tvm::relay::Function, tvm::runtime::String) at /home/linyun/tvm_src/relax/src/relay/backend/build_module.cc:114 38: tvm::relay::backend::ExecutorCodegen::Codegen(tvm::IRModule, tvm::relay::Function const&, tvm::runtime::String) at /home/linyun/tvm_src/relax/src/relay/backend/build_module.cc:69 39: tvm::relay::backend::RelayBuildModule::BuildRelay(tvm::IRModule, tvm::runtime::String const&) at /home/linyun/tvm_src/relax/src/relay/backend/build_module.cc:434 40: tvm::relay::backend::RelayBuildModule::Build(tvm::IRModule, tvm::runtime::Array<tvm::Target, void> const&, tvm::Target const&, tvm::relay::Executor const&, tvm::relay::Runtime const&, tvm::WorkspaceMemoryPools const&, tvm::ConstantMemoryPools const&, tvm::runtime::String) at /home/linyun/tvm_src/relax/src/relay/backend/build_module.cc:309 41: tvm::relay::backend::RelayBuildModule::GetFunction(tvm::runtime::String const&, tvm::runtime::ObjectPtrtvm::runtime::Object const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#3}::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const at /home/linyun/tvm_src/relax/src/relay/backend/build_module.cc:185 42: main at /home/linyun/tvm_src/main.cpp:126 43: _start 44: 0xffffffffffffffff