XFPlus commented on issue #14557:
URL: https://github.com/apache/tvm/issues/14557#issuecomment-1502643135

   > I understand where the bug is coming from and your workaround, but since 
we get two kernels anyway, why not create a prim func for each of them? It's 
odd to see `T.launch_thread("threadIdx.x", ...)` with different thread counts 
in a single prim func.
   
   Hello @masahi , Thanks for your reply. The bug appeared when I tried to use 
metaschedule to tune resnet-50, and it picked a conv2d winograd implementation 
which generates the script like that. So I tried to reproduce the bug using 
this irregular code.
   
   Here is my original test code:
   
   ```py
       target = tvm.target.cuda(arch="sm_80", options="-max_threads_per_block 
1024 -max_shared_memory_per_block 49152")
   
       # target = "llvm -num-cores 56"
       mod, params, input_shape, out_shape = get_network(model_path, dtype)
       seq = tvm.transform.Sequential(
           [
               relay.transform.ToMixedPrecision("float16"),
               relay.transform.ConvertLayout({"nn.conv2d": ["NHWC", "HWIO"]}),
           ]
   
       )
       with tvm.transform.PassContext(opt_level=3):
           mod = seq(mod)
   
       print('layout transform mod: ', mod)
       mod = partition_for_cutlass(mod)
       print('partition mod: ', mod)
   
       # run tuning tasks
       print("Tuning...")
       # with tempfile.TemporaryDirectory() as work_dir:
       backend = 'vm'
       if True:
           work_dir = logfile
           os.makedirs(work_dir, exist_ok=True)
           database = ms.database.JSONDatabase(work_dir=work_dir)
           with ms.Profiler() as profiler:
               if tune:
                   extracted_tasks = ms.relay_integration.extract_tasks(
                           mod,
                           target,
                           params,
                           opt_level=3,
                           # disabled_pass=['AlterOpLayout']
                   )
                   for i in extracted_tasks:
                       print(i.task_name)
                       print(i.mod)
   
                   tasks, task_weights = 
ms.relay_integration.extracted_tasks_to_tune_contexts(
                       extracted_tasks=extracted_tasks,
                       work_dir=work_dir,
                   )
   
                   database = ms.relay_integration.tune_tasks(
                       tasks=tasks,
                       task_weights=task_weights,
                       work_dir=work_dir,
                       database=database,
                       # config=ms.TuneConfig(strategy='evolutionary', 
max_trials_global=8 * len(extracted_tasks), max_trials_per_task=8, 
num_trials_per_iter=16,),
                       max_trials_global=10000,
                       # num_trials_per_iter=32,
                       builder = ms.builder.LocalBuilder(timeout_sec=120),
                       runner = ms.runner.RPCRunner(
                           
rpc_config=ms.runner.config.RPCConfig(tracker_host='127.0.0.1', 
tracker_port=9190, tracker_key='a100', session_timeout_sec=30),
                           max_workers=8,
                      ),
                   )
               else:
                   database = ms.database.JSONDatabase(work_dir=logfile)
   
               lib = ms.relay_integration.compile_relay(database, mod, target, 
params, backend=backend)
           print(profiler.table())
   
   
       # compile kernels with history best records
       print("Compile...")
       # with database, tvm.transform.PassContext(opt_level=3, 
config={"relay.backend.use_meta_schedule": True}):
           # lib = relay.build_module.build(mod, target=target, params=params)
           # lib = relay.build(mod, target=target, params=params)
   
       if backend == 'vm':
           lib = finalize_modules_vm(lib, "compile.so")
       else:
           lib = finalize_modules(lib, "compile.so", './tmp')
   ```
   
   And the whole error msg:
   ```sh
   Traceback (most recent call last):
     File "meta-tuner.py", line 231, in <module>
       tune_and_evaluate(logfile, tune=True)
     File "meta-tuner.py", line 155, in tune_and_evaluate
       database = ms.relay_integration.tune_tasks(
     File "/home/alex.wang/ws/project/tvm/python/tvm/meta_schedule/tune.py", 
line 118, in tune_tasks
       task_scheduler.tune(
     File 
"/home/alex.wang/ws/project/tvm/python/tvm/meta_schedule/task_scheduler/task_scheduler.py",
 line 132, in tune
       _ffi_api.TaskSchedulerTune(  # type: ignore # pylint: disable=no-member
     File 
"/home/alex.wang/ws/project/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):
     6: TVMFuncCall
     5: _ZN3tvm7runtime13PackedFuncObj
     4: tvm::runtime::TypedPackedFunc<void (tvm::meta_schedule::TaskScheduler, 
tvm::runtime::Array<tvm::meta_schedule::TuneContext, void>, 
tvm::runtime::Array<tvm::FloatImm, void>, int, int, int, 
tvm::meta_schedule::Builder, tvm::meta_schedule::Runner, tvm::runtime::Array<tv
   m::meta_schedule::MeasureCallback, void>, 
tvm::runtime::Optional<tvm::meta_schedule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>)>::AssignTypedLambda<tvm::runtime::Registry::set_body_method<tvm::meta_schedule::TaskScheduler,
 tvm::meta_schedule::TaskSc
   hedulerNode, void, tvm::runtime::Array<tvm::meta_schedule::TuneContext, 
void>, tvm::runtime::Array<tvm::FloatImm, void>, int, int, int, 
tvm::meta_schedule::Builder, tvm::meta_schedule::Runner, 
tvm::runtime::Array<tvm::meta_schedule::MeasureCallback, void>, tvm::runtime::O
   ptional<tvm::meta_schedule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>, void>(void 
(tvm::meta_schedule::TaskSchedulerNode::*)(tvm::runtime::Array<tvm::meta_schedule::TuneContext,
 void>, tvm::runtime::Array<tvm::FloatImm, void>, int, int, int, tvm::me
   ta_schedule::Builder, tvm::meta_schedule::Runner, 
tvm::runtime::Array<tvm::meta_schedule::MeasureCallback, void>, 
tvm::runtime::Optional<tvm::meta_schedule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>))::{lambda(tvm::meta_schedule::TaskScheduler,
 tvm:
   :runtime::Array<tvm::meta_schedule::TuneContext, void>, 
tvm::runtime::Array<tvm::FloatImm, void>, int, int, int, 
tvm::meta_schedule::Builder, tvm::meta_schedule::Runner, 
tvm::runtime::Array<tvm::meta_schedule::MeasureCallback, void>, 
tvm::runtime::Optional<tvm::meta_sched
   ule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>)#1}>(tvm::runtime::Registry::set_body_method<tvm::meta_schedule::TaskScheduler,
 tvm::meta_schedule::TaskSchedulerNode, void, 
tvm::runtime::Array<tvm::meta_schedule::TuneContext, void>, tvm::runtime::Arr
   ay<tvm::FloatImm, void>, int, int, int, tvm::meta_schedule::Builder, 
tvm::meta_schedule::Runner, 
tvm::runtime::Array<tvm::meta_schedule::MeasureCallback, void>, 
tvm::runtime::Optional<tvm::meta_schedule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>, vo
   id>(void 
(tvm::meta_schedule::TaskSchedulerNode::*)(tvm::runtime::Array<tvm::meta_schedule::TuneContext,
 void>, tvm::runtime::Array<tvm::FloatImm, void>, int, int, int, 
tvm::meta_schedule::Builder, tvm::meta_schedule::Runner, 
tvm::runtime::Array<tvm::meta_schedule::Measur
   eCallback, void>, tvm::runtime::Optional<tvm::meta_schedule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>))::{lambda(tvm::meta_schedule::TaskScheduler,
 tvm::runtime::Array<tvm::meta_schedule::TuneContext, void>, 
tvm::runtime::Array<tvm::FloatImm, void>
   , int, int, int, tvm::meta_schedule::Builder, tvm::meta_schedule::Runner, 
tvm::runtime::Array<tvm::meta_schedule::MeasureCallback, void>, 
tvm::runtime::Optional<tvm::meta_schedule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>)#1}, std::__cxx11::basic_s
   tring<char, std::char_traits<char>, std::allocator<char> 
>)::{lambda(tvm::runtime::TVMArgs const&, 
tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs const, 
tvm::runtime::TVMRetValue) const
     3: 
tvm::meta_schedule::GradientBasedNode::Tune(tvm::runtime::Array<tvm::meta_schedule::TuneContext,
 void>, tvm::runtime::Array<tvm::FloatImm, void>, int, int, int, 
tvm::meta_schedule::Builder, tvm::meta_schedule::Runner, 
tvm::runtime::Array<tvm::meta_schedule::MeasureCa
   llback, void>, tvm::runtime::Optional<tvm::meta_schedule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>)
     2: 
tvm::meta_schedule::TaskSchedulerNode::Tune(tvm::runtime::Array<tvm::meta_schedule::TuneContext,
 void>, tvm::runtime::Array<tvm::FloatImm, void>, int, int, int, 
tvm::meta_schedule::Builder, tvm::meta_schedule::Runner, 
tvm::runtime::Array<tvm::meta_schedule::MeasureCa
   llback, void>, tvm::runtime::Optional<tvm::meta_schedule::Database>, 
tvm::runtime::Optional<tvm::meta_schedule::CostModel>)
     1: tvm::meta_schedule::SendToBuilder(tvm::meta_schedule::TaskRecordNode*, 
tvm::meta_schedule::Builder const&)
     0: 
tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs,
 tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, 
tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) [clone .cold]
     File 
"/home/alex.wang/ws/project/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 
81, in cfun
       rv = local_pyfunc(*pyargs)
     File "/home/alex.wang/ws/project/tvm/python/tvm/meta_schedule/utils.py", 
line 76, in method
       return getattr(inst, name)(*args, **kwargs)
     File 
"/home/alex.wang/ws/project/tvm/python/tvm/meta_schedule/builder/local_builder.py",
 line 163, in build
       results.append(BuilderResult(_worker_func(self.f_build, self.f_export, 
build_input.mod, build_input.target, None), None))
     File 
"/home/alex.wang/ws/project/tvm/python/tvm/meta_schedule/builder/local_builder.py",
 line 235, in _worker_func
       rt_mod: Module = f_build(mod, target, _deserialize_params(params))
     File 
"/home/alex.wang/ws/project/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 
237, in __call__
       raise get_last_ffi_error()
     1: TVMFuncCall
     0: 
tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs,
 tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, 
tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) [clone .cold]
     File 
"/home/alex.wang/ws/project/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 
81, in cfun
       rv = local_pyfunc(*pyargs)
     File 
"/home/alex.wang/ws/project/tvm/python/tvm/meta_schedule/builder/local_builder.py",
 line 265, in default_build
       return tvm_build(mod, target=target)
     File "/home/alex.wang/ws/project/tvm/python/tvm/driver/build_module.py", 
line 283, in build
       rt_mod_host = _driver_ffi.tir_to_runtime(annotated_mods, target_host)
     File 
"/home/alex.wang/ws/project/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 
237, in __call__
       raise get_last_ffi_error()
     207: TVMFuncCall
     206: 
tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<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}> >::Call(tvm::runtime::PackedFuncObj const*, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
>, tvm::runtime::TVMRetValue)
     205: tvm::TIRToRuntime(tvm::runtime::Map<tvm::Target, tvm::IRModule, void, 
void> const&, tvm::Target const&)
     204: tvm::codegen::Build(tvm::IRModule, tvm::Target)
     203: 
tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::TypedPackedFunc<tvm::runtime::Module
 (tvm::IRModule, 
tvm::Target)>::AssignTypedLambda<tvm::codegen::{lambda(tvm::IRModule, 
tvm::Target)#6}>(tvm::codegen::{lambda(tvm::IRModule, tvm:
   :Target)#6}, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, 
tvm::runtime::TVMRetValue*)#1}> >::Call(tvm::runtime::PackedFuncObj const*, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::a
   llocator<char> >, tvm::runtime::TVMRetValue)
     202: tvm::codegen::LLVMModuleNode::Init(tvm::IRModule const&, tvm::Target 
const&)
     201: void 
tvm::codegen::CodeGenLLVM::AddFunctionsOrdered<__gnu_cxx::__normal_iterator<tvm::tir::PrimFunc*,
 std::vector<tvm::tir::PrimFunc, std::allocator<tvm::tir::PrimFunc> > >, 
tvm::codegen::CodeGenLLVM::AddFunctionsOrdered<__gnu_cxx::__normal_iterator<tvm::tir::PrimF
   unc*, std::vector<tvm::tir::PrimFunc, std::allocator<tvm::tir::PrimFunc> > > 
>(__gnu_cxx::__normal_iterator<tvm::tir::PrimFunc*, 
std::vector<tvm::tir::PrimFunc, std::allocator<tvm::tir::PrimFunc> > >, 
__gnu_cxx::__normal_iterator<tvm::tir::PrimFunc*, std::vector<tvm::tir:
   :PrimFunc, std::allocator<tvm::tir::PrimFunc> > 
>)::{lambda(auto:1)#1}>(__gnu_cxx::__normal_iterator<tvm::tir::PrimFunc*, 
std::vector<tvm::tir::PrimFunc, std::allocator<tvm::tir::PrimFunc> > >, 
__gnu_cxx::__normal_iterator<tvm::tir::PrimFunc*, std::vector<tvm::tir::PrimFu
   nc, std::allocator<tvm::tir::PrimFunc> > >, 
tvm::codegen::CodeGenLLVM::AddFunctionsOrdered<__gnu_cxx::__normal_iterator<tvm::tir::PrimFunc*,
 std::vector<tvm::tir::PrimFunc, std::allocator<tvm::tir::PrimFunc> > > 
>(__gnu_cxx::__normal_iterator<tvm::tir::PrimFunc*, std::vec
   tor<tvm::tir::PrimFunc, std::allocator<tvm::tir::PrimFunc> > >, 
__gnu_cxx::__normal_iterator<tvm::tir::PrimFunc*, 
std::vector<tvm::tir::PrimFunc, std::allocator<tvm::tir::PrimFunc> > 
>)::{lambda(auto:1)#1})
     200: tvm::codegen::CodeGenCPU::AddFunction(tvm::tir::PrimFunc const&)
     199: tvm::codegen::CodeGenLLVM::AddFunctionInternal(tvm::tir::PrimFunc 
const&, bool)
     198: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     197: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     196: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     195: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     194: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     193: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     192: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     191: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     190: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     189: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     188: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     187: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     186: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     185: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     184: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     183: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     182: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     181: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     180: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     179: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     178: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     177: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     176: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     175: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     174: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     173: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     172: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AttrStmtNode const*)
     171: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AttrStmtNode const*)
     170: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     169: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     168: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     167: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     166: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     165: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     164: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     163: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     162: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     161: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AttrStmtNode const*)
     160: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AttrStmtNode const*)
     159: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     158: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     157: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     156: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     155: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     154: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     153: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     152: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AttrStmtNode const*)
     151: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AttrStmtNode const*)
     150: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     149: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     148: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     147: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     146: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     145: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     144: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     143: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AttrStmtNode const*)
     142: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AttrStmtNode const*)
     141: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     140: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     139: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     138: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::LetStmtNode const*)
     137: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     136: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     135: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     134: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     133: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     132: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     131: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     130: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     129: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     128: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     127: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     126: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     125: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     124: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     123: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     122: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     121: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     120: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     119: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     118: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     117: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     116: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     115: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     114: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     113: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     112: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     111: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     110: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     109: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     108: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     107: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     106: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     105: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     104: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     103: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::SeqStmtNode const*)
     102: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     101: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     100: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     99: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     98: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     97: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     96: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     95: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     94: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     93: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     92: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     91: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     90: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     89: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     88: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     87: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     86: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     85: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     84: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     83: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     82: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     81: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     80: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     79: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     78: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     77: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     76: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     75: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::SeqStmtNode const*)
     74: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     73: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     72: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     71: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     70: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     69: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     68: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     67: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     66: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     65: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     64: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     63: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     62: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     61: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     60: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     59: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     58: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     57: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     56: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     55: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     54: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     53: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     52: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     51: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     50: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     49: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     48: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     47: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     46: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     45: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     44: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::SeqStmtNode const*)
     43: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     42: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     41: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     40: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     39: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     38: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     37: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     36: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     35: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     34: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     33: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     32: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     31: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     30: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     29: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     28: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     27: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     26: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     25: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     24: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     23: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     22: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     21: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     20: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     19: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     18: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     17: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     16: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     15: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     14: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     13: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::SeqStmtNode const*)
     12: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     11: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     10: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     9: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     8: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     7: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     6: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AssertStmtNode const*)
     5: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::AssertStmtNode const*)
     4: tvm::tir::StmtFunctor<void (tvm::tir::Stmt 
const&)>::VisitStmt(tvm::tir::Stmt const&)
     3: tvm::codegen::CodeGenLLVM::VisitStmt_(tvm::tir::SeqStmtNode const*)
     2: tvm::codegen::CodeGenCPU::VisitStmt_(tvm::tir::AttrStmtNode const*)
     1: tvm::codegen::CodeGenCPU::CreateComputeScope(tvm::tir::AttrStmtNode 
const*)
     0: tvm::codegen::CodeGenLLVM::GetVarValue(tvm::tir::VarNode const*) const
     File "/home/alex.wang/ws/project/tvm/src/target/llvm/codegen_llvm.cc", 
line 928
   TVMError:
   ---------------------------------------------------------------
   An error occurred during the execution of TVM.
   For more information, please see: https://tvm.apache.org/docs/errors.html
   ---------------------------------------------------------------
     Check failed: (it != var_map_.end()) is false: cannot find variable 
buf_dyn_shmem
   ```
   
   Also, I have dumped the IRModule as `mod_mixed.txt` attached.
   [mod_mixed.txt](https://github.com/apache/tvm/files/11196088/mod_mixed.txt)
   


-- 
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]

Reply via email to