You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2026/04/28 01:25:31 UTC

(tvm-site) branch asf-site updated: deploying docs (apache/tvm@11ac2ad97c84fdc6ca14690a6221e9f3d1631955)

This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/tvm-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 31aa8b965ab deploying docs (apache/tvm@11ac2ad97c84fdc6ca14690a6221e9f3d1631955)
31aa8b965ab is described below

commit 31aa8b965ab9309fef475348cf999d77f70d5d33
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Tue Apr 28 01:25:23 2026 +0000

    deploying docs (apache/tvm@11ac2ad97c84fdc6ca14690a6221e9f3d1631955)
---
 .../import_model.zip                               |  Bin 35138 -> 35138 bytes
 .../dlight_gpu_scheduling.zip                      |  Bin 26311 -> 26311 bytes
 .../11c11e53c7dace51a8be968ee169ed0d/ir_module.zip |  Bin 23790 -> 23790 bytes
 .../tir_transformation.zip                         |  Bin 15899 -> 15899 bytes
 .../meta_schedule.zip                              |  Bin 24239 -> 24239 bytes
 .../mix_python_and_tvm_with_pymodule.zip           |  Bin 39005 -> 39005 bytes
 .../relax_creation.zip                             |  Bin 22420 -> 22420 bytes
 .../relax_transformation.zip                       |  Bin 11480 -> 11480 bytes
 .../optimize_llm.zip                               |  Bin 54007 -> 54007 bytes
 .../bring_your_own_codegen.zip                     |  Bin 18423 -> 18423 bytes
 .../e2e_opt_model.zip                              |  Bin 14501 -> 14501 bytes
 .../quick_start.zip                                |  Bin 16252 -> 16252 bytes
 .../export_and_load_executable.zip                 |  Bin 31526 -> 31526 bytes
 .../tir_creation.zip                               |  Bin 24415 -> 24415 bytes
 .../cross_compilation_and_rpc.zip                  |  Bin 49406 -> 49406 bytes
 .../customize_opt.zip                              |  Bin 20544 -> 20544 bytes
 docs/_sources/arch/relax_vm.rst.txt                |   18 +-
 .../relax/tutorials/sg_execution_times.rst.txt     |    6 +-
 .../tensor_ir/tutorials/sg_execution_times.rst.txt |    8 +-
 .../tensor_ir/tutorials/tir_creation.rst.txt       |   20 +-
 .../tensor_ir/tutorials/tir_transformation.rst.txt |    6 +-
 .../get_started/tutorials/ir_module.rst.txt        |    8 +-
 .../get_started/tutorials/quick_start.rst.txt      |    4 +-
 .../tutorials/sg_execution_times.rst.txt           |    6 +-
 .../tutorials/cross_compilation_and_rpc.rst.txt    |    6 +-
 .../how_to/tutorials/customize_opt.rst.txt         |    4 +-
 .../how_to/tutorials/e2e_opt_model.rst.txt         |    2 +-
 .../how_to/tutorials/sg_execution_times.rst.txt    |   14 +-
 docs/_sources/reference/api/python/index.rst.txt   |    1 -
 .../reference/api/python/runtime/profiling.rst.txt |   21 -
 docs/_sources/sg_execution_times.rst.txt           |   32 +-
 docs/arch/relax_vm.html                            |   15 +-
 docs/commit_hash                                   |    2 +-
 .../relax/tutorials/sg_execution_times.html        |    6 +-
 .../tensor_ir/tutorials/sg_execution_times.html    |    8 +-
 .../tensor_ir/tutorials/tir_creation.html          |   20 +-
 .../tensor_ir/tutorials/tir_transformation.html    |    6 +-
 docs/genindex.html                                 |   65 +-
 docs/get_started/tutorials/ir_module.html          |    8 +-
 docs/get_started/tutorials/quick_start.html        |    4 +-
 docs/get_started/tutorials/sg_execution_times.html |    6 +-
 .../tutorials/cross_compilation_and_rpc.html       |    6 +-
 docs/how_to/tutorials/customize_opt.html           |    4 +-
 docs/how_to/tutorials/e2e_opt_model.html           |    6 +-
 docs/how_to/tutorials/sg_execution_times.html      |   14 +-
 docs/objects.inv                                   |  Bin 22963 -> 22797 bytes
 docs/py-modindex.html                              |    5 -
 docs/reference/api/doxygen/annotated.html          |   69 +-
 docs/reference/api/doxygen/classes.html            |   10 +-
 .../api/doxygen/classtvm_1_1runtime_1_1Timer.html  |   12 +-
 .../doxygen/classtvm_1_1runtime_1_1TimerNode.html  |    8 +-
 ...asstvm_1_1runtime_1_1TimerNode__coll__graph.svg |    2 +-
 ...tvm_1_1runtime_1_1TimerNode__inherit__graph.svg |    2 +-
 ...1runtime_1_1profiling_1_1CountNode-members.html |   84 -
 ...sstvm_1_1runtime_1_1profiling_1_1CountNode.html |  189 -
 ...time_1_1profiling_1_1CountNode__coll__graph.svg |   48 -
 ...e_1_1profiling_1_1CountNode__inherit__graph.svg |   48 -
 ...time_1_1profiling_1_1DeviceWrapper-members.html |   83 -
 ...m_1_1runtime_1_1profiling_1_1DeviceWrapper.html |  173 -
 ..._1_1profiling_1_1DeviceWrapper__coll__graph.svg |   48 -
 ...1profiling_1_1DeviceWrapper__inherit__graph.svg |   48 -
 ...ntime_1_1profiling_1_1DurationNode-members.html |   84 -
 ...vm_1_1runtime_1_1profiling_1_1DurationNode.html |  189 -
 ...e_1_1profiling_1_1DurationNode__coll__graph.svg |   48 -
 ..._1profiling_1_1DurationNode__inherit__graph.svg |   48 -
 ...me_1_1profiling_1_1MetricCollector-members.html |   82 -
 ...1_1runtime_1_1profiling_1_1MetricCollector.html |  144 -
 ..._1profiling_1_1MetricCollectorNode-members.html |   87 -
 ...untime_1_1profiling_1_1MetricCollectorNode.html |  321 -
 ...ofiling_1_1MetricCollectorNode__coll__graph.svg |   51 -
 ...ling_1_1MetricCollectorNode__inherit__graph.svg |   51 -
 ..._1profiling_1_1MetricCollector__coll__graph.svg |   47 -
 ...rofiling_1_1MetricCollector__inherit__graph.svg |   47 -
 ...untime_1_1profiling_1_1PercentNode-members.html |   84 -
 ...tvm_1_1runtime_1_1profiling_1_1PercentNode.html |  189 -
 ...me_1_1profiling_1_1PercentNode__coll__graph.svg |   48 -
 ...1_1profiling_1_1PercentNode__inherit__graph.svg |   48 -
 ..._1runtime_1_1profiling_1_1Profiler-members.html |   88 -
 ...asstvm_1_1runtime_1_1profiling_1_1Profiler.html |  346 -
 ...ntime_1_1profiling_1_1Profiler__coll__graph.svg |   33 -
 ...1runtime_1_1profiling_1_1RatioNode-members.html |   84 -
 ...sstvm_1_1runtime_1_1profiling_1_1RatioNode.html |  189 -
 ...time_1_1profiling_1_1RatioNode__coll__graph.svg |   48 -
 ...e_1_1profiling_1_1RatioNode__inherit__graph.svg |   48 -
 ..._1_1runtime_1_1profiling_1_1Report-members.html |   84 -
 ...classtvm_1_1runtime_1_1profiling_1_1Report.html |  231 -
 ...runtime_1_1profiling_1_1ReportNode-members.html |   88 -
 ...stvm_1_1runtime_1_1profiling_1_1ReportNode.html |  326 -
 ...ime_1_1profiling_1_1ReportNode__coll__graph.svg |   52 -
 ..._1_1profiling_1_1ReportNode__inherit__graph.svg |   52 -
 ...runtime_1_1profiling_1_1Report__coll__graph.svg |   49 -
 ...time_1_1profiling_1_1Report__inherit__graph.svg |   49 -
 ...m_1_1runtime_1_1vm_1_1VMExecutable-members.html |    5 +-
 .../classtvm_1_1runtime_1_1vm_1_1VMExecutable.html |   26 +-
 ...1runtime_1_1vm_1_1VMExecutable__coll__graph.svg |   63 +-
 ...ntime_1_1vm_1_1VMExecutable__inherit__graph.svg |   63 +-
 ...1_1runtime_1_1vm_1_1VirtualMachine-members.html |   21 +-
 ...lasstvm_1_1runtime_1_1vm_1_1VirtualMachine.html |   35 +-
 ...untime_1_1vm_1_1VirtualMachine__coll__graph.svg |   57 +-
 ...ime_1_1vm_1_1VirtualMachine__inherit__graph.svg |   57 +-
 .../api/doxygen/data__type_8h__dep__incl.svg       |    4 +-
 docs/reference/api/doxygen/device__api_8h.html     |    2 +-
 .../api/doxygen/device__api_8h__dep__incl.svg      | 1762 ++--
 .../dir_404558507ed35459f0d7a6d81d8c508d.html      |    6 +-
 .../api/doxygen/executable_8h_source.html          |   89 +-
 docs/reference/api/doxygen/files.html              |    6 +-
 docs/reference/api/doxygen/functions__.html        |    1 -
 docs/reference/api/doxygen/functions_a.html        |   11 +-
 docs/reference/api/doxygen/functions_c.html        |   18 +-
 docs/reference/api/doxygen/functions_d.html        |   24 +-
 docs/reference/api/doxygen/functions_e.html        |   10 +-
 docs/reference/api/doxygen/functions_f.html        |    5 +-
 docs/reference/api/doxygen/functions_func.html     |   11 +-
 docs/reference/api/doxygen/functions_func_c.html   |    6 -
 docs/reference/api/doxygen/functions_func_d.html   |   11 +-
 docs/reference/api/doxygen/functions_func_f.html   |    3 +-
 docs/reference/api/doxygen/functions_func_g.html   |    6 +-
 docs/reference/api/doxygen/functions_func_i.html   |   10 +-
 docs/reference/api/doxygen/functions_func_p.html   |    8 +-
 docs/reference/api/doxygen/functions_func_r.html   |    9 +-
 docs/reference/api/doxygen/functions_func_s.html   |   20 +-
 docs/reference/api/doxygen/functions_func_t.html   |   14 +-
 docs/reference/api/doxygen/functions_func_v.html   |   27 +-
 docs/reference/api/doxygen/functions_func_~.html   |    3 -
 docs/reference/api/doxygen/functions_g.html        |    6 +-
 docs/reference/api/doxygen/functions_i.html        |    6 +-
 docs/reference/api/doxygen/functions_l.html        |    2 +-
 docs/reference/api/doxygen/functions_m.html        |    3 -
 docs/reference/api/doxygen/functions_n.html        |    3 +-
 docs/reference/api/doxygen/functions_p.html        |   13 +-
 docs/reference/api/doxygen/functions_r.html        |   14 +-
 docs/reference/api/doxygen/functions_s.html        |   24 +-
 docs/reference/api/doxygen/functions_t.html        |   13 -
 docs/reference/api/doxygen/functions_v.html        |   32 +-
 docs/reference/api/doxygen/functions_vars.html     |    1 -
 docs/reference/api/doxygen/functions_vars_c.html   |    6 -
 docs/reference/api/doxygen/functions_vars_d.html   |    7 -
 docs/reference/api/doxygen/functions_vars_e.html   |    6 -
 docs/reference/api/doxygen/functions_vars_m.html   |    3 -
 docs/reference/api/doxygen/functions_vars_n.html   |    1 -
 docs/reference/api/doxygen/functions_vars_p.html   |    3 -
 docs/reference/api/doxygen/functions_vars_r.html   |    3 -
 docs/reference/api/doxygen/functions_vars_t.html   |    3 -
 docs/reference/api/doxygen/functions_vars_v.html   |    1 -
 docs/reference/api/doxygen/functions_w.html        |    2 +-
 docs/reference/api/doxygen/functions_~.html        |    3 -
 docs/reference/api/doxygen/globals.html            |    3 -
 docs/reference/api/doxygen/globals_defs.html       |    3 -
 docs/reference/api/doxygen/hierarchy.html          | 1768 ++--
 docs/reference/api/doxygen/inherit_graph_10.svg    | 8474 ++++++++++----------
 docs/reference/api/doxygen/inherit_graph_100.svg   |   17 +-
 docs/reference/api/doxygen/inherit_graph_101.svg   |   15 +-
 docs/reference/api/doxygen/inherit_graph_102.svg   |   17 +-
 docs/reference/api/doxygen/inherit_graph_103.svg   |   12 +-
 docs/reference/api/doxygen/inherit_graph_104.svg   |   14 +-
 docs/reference/api/doxygen/inherit_graph_105.svg   |   12 +-
 docs/reference/api/doxygen/inherit_graph_106.svg   |   14 +-
 docs/reference/api/doxygen/inherit_graph_107.svg   |   28 +-
 docs/reference/api/doxygen/inherit_graph_108.svg   |   29 +-
 docs/reference/api/doxygen/inherit_graph_109.svg   |   30 +-
 docs/reference/api/doxygen/inherit_graph_110.svg   |   30 +-
 docs/reference/api/doxygen/inherit_graph_111.svg   |   12 +-
 docs/reference/api/doxygen/inherit_graph_112.svg   |   12 +-
 docs/reference/api/doxygen/inherit_graph_113.svg   |   22 -
 docs/reference/api/doxygen/inherit_graph_114.svg   |   22 -
 docs/reference/api/doxygen/inherit_graph_17.svg    |   48 +-
 docs/reference/api/doxygen/inherit_graph_18.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_26.svg    |    8 +-
 docs/reference/api/doxygen/inherit_graph_52.svg    | 1066 ++-
 docs/reference/api/doxygen/inherit_graph_57.svg    |   32 +-
 docs/reference/api/doxygen/inherit_graph_58.svg    |   14 +-
 docs/reference/api/doxygen/inherit_graph_59.svg    |   32 +-
 docs/reference/api/doxygen/inherit_graph_60.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_61.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_62.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_63.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_64.svg    |   17 +-
 docs/reference/api/doxygen/inherit_graph_65.svg    |   48 +-
 docs/reference/api/doxygen/inherit_graph_66.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_67.svg    |   47 +-
 docs/reference/api/doxygen/inherit_graph_68.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_69.svg    |   12 +-
 docs/reference/api/doxygen/inherit_graph_70.svg    |    6 +-
 docs/reference/api/doxygen/inherit_graph_71.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_72.svg    |    4 +-
 docs/reference/api/doxygen/inherit_graph_73.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_74.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_75.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_76.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_77.svg    |   14 +-
 docs/reference/api/doxygen/inherit_graph_78.svg    |   17 +-
 docs/reference/api/doxygen/inherit_graph_79.svg    |   14 +-
 docs/reference/api/doxygen/inherit_graph_80.svg    |   14 +-
 docs/reference/api/doxygen/inherit_graph_81.svg    |    4 +-
 docs/reference/api/doxygen/inherit_graph_82.svg    |    4 +-
 docs/reference/api/doxygen/inherit_graph_83.svg    |    4 +-
 docs/reference/api/doxygen/inherit_graph_84.svg    |    4 +-
 docs/reference/api/doxygen/inherit_graph_85.svg    |   12 +-
 docs/reference/api/doxygen/inherit_graph_86.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_87.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_88.svg    |   12 +-
 docs/reference/api/doxygen/inherit_graph_89.svg    |   12 +-
 docs/reference/api/doxygen/inherit_graph_9.svg     | 1768 ++--
 docs/reference/api/doxygen/inherit_graph_90.svg    |   12 +-
 docs/reference/api/doxygen/inherit_graph_91.svg    |   12 +-
 docs/reference/api/doxygen/inherit_graph_92.svg    |   12 +-
 docs/reference/api/doxygen/inherit_graph_93.svg    |   15 +-
 docs/reference/api/doxygen/inherit_graph_94.svg    |   76 +-
 docs/reference/api/doxygen/inherit_graph_95.svg    |   17 +-
 docs/reference/api/doxygen/inherit_graph_96.svg    |   91 +-
 docs/reference/api/doxygen/inherit_graph_97.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_98.svg    |  108 +-
 docs/reference/api/doxygen/inherit_graph_99.svg    |   15 +-
 docs/reference/api/doxygen/inherits.html           |  108 +-
 docs/reference/api/doxygen/io_8h__dep__incl.svg    |    4 +-
 docs/reference/api/doxygen/namespacemembers_d.html |    3 -
 docs/reference/api/doxygen/namespacemembers_e.html |    2 +-
 .../api/doxygen/namespacemembers_func_d.html       |    5 +-
 .../api/doxygen/namespacemembers_func_p.html       |    3 -
 .../api/doxygen/namespacemembers_func_s.html       |    3 -
 .../api/doxygen/namespacemembers_func_w.html       |    2 +-
 docs/reference/api/doxygen/namespacemembers_p.html |    3 -
 docs/reference/api/doxygen/namespacemembers_s.html |    3 -
 docs/reference/api/doxygen/namespacemembers_w.html |    2 +-
 docs/reference/api/doxygen/namespaces.html         |   71 +-
 .../api/doxygen/namespacetvm_1_1runtime.html       |  151 +-
 .../namespacetvm_1_1runtime_1_1profiling.html      |  418 -
 .../reference/api/doxygen/object_8h__dep__incl.svg |  110 +-
 docs/reference/api/doxygen/profiling_8h.html       |  178 -
 docs/reference/api/doxygen/profiling_8h__incl.svg  |  696 --
 .../reference/api/doxygen/profiling_8h_source.html |  377 -
 .../api/doxygen/runtime_2base_8h__dep__incl.svg    |   16 +-
 .../api/doxygen/runtime_2tensor_8h__dep__incl.svg  |    4 +-
 docs/reference/api/doxygen/search/all_1.js         |    2 +-
 docs/reference/api/doxygen/search/all_10.js        |  170 +-
 docs/reference/api/doxygen/search/all_11.js        |  371 +-
 docs/reference/api/doxygen/search/all_12.js        |   14 +-
 docs/reference/api/doxygen/search/all_13.js        |  358 +-
 docs/reference/api/doxygen/search/all_14.js        |  729 +-
 docs/reference/api/doxygen/search/all_15.js        |  675 +-
 docs/reference/api/doxygen/search/all_16.js        |  132 +-
 docs/reference/api/doxygen/search/all_17.js        |  216 +-
 docs/reference/api/doxygen/search/all_18.js        |  115 +-
 docs/reference/api/doxygen/search/all_19.js        |    2 +-
 docs/reference/api/doxygen/search/all_1a.js        |   91 +-
 docs/reference/api/doxygen/search/all_2.js         |  264 +-
 docs/reference/api/doxygen/search/all_3.js         |   98 +-
 docs/reference/api/doxygen/search/all_4.js         |  265 +-
 docs/reference/api/doxygen/search/all_5.js         |  430 +-
 docs/reference/api/doxygen/search/all_6.js         |  283 +-
 docs/reference/api/doxygen/search/all_7.js         |  660 +-
 docs/reference/api/doxygen/search/all_8.js         |  246 +-
 docs/reference/api/doxygen/search/all_9.js         |   56 +-
 docs/reference/api/doxygen/search/all_a.js         |  553 +-
 docs/reference/api/doxygen/search/all_b.js         |    8 +-
 docs/reference/api/doxygen/search/all_c.js         |  540 +-
 docs/reference/api/doxygen/search/all_d.js         |  228 +-
 docs/reference/api/doxygen/search/all_e.js         |  307 +-
 docs/reference/api/doxygen/search/all_f.js         |  138 +-
 docs/reference/api/doxygen/search/classes_0.js     |  270 +-
 docs/reference/api/doxygen/search/classes_1.js     |  102 +-
 docs/reference/api/doxygen/search/classes_10.js    |  246 +-
 docs/reference/api/doxygen/search/classes_11.js    |  162 +-
 docs/reference/api/doxygen/search/classes_12.js    |    4 +-
 docs/reference/api/doxygen/search/classes_13.js    |   40 +-
 docs/reference/api/doxygen/search/classes_14.js    |   32 +-
 docs/reference/api/doxygen/search/classes_2.js     |   98 +-
 docs/reference/api/doxygen/search/classes_3.js     |  123 +-
 docs/reference/api/doxygen/search/classes_4.js     |   76 +-
 docs/reference/api/doxygen/search/classes_5.js     |   66 +-
 docs/reference/api/doxygen/search/classes_6.js     |   36 +-
 docs/reference/api/doxygen/search/classes_7.js     |    2 +-
 docs/reference/api/doxygen/search/classes_8.js     |  118 +-
 docs/reference/api/doxygen/search/classes_9.js     |   50 +-
 docs/reference/api/doxygen/search/classes_a.js     |   60 +-
 docs/reference/api/doxygen/search/classes_b.js     |   30 +-
 docs/reference/api/doxygen/search/classes_c.js     |   36 +-
 docs/reference/api/doxygen/search/classes_d.js     |  139 +-
 docs/reference/api/doxygen/search/classes_e.js     |    2 +-
 docs/reference/api/doxygen/search/classes_f.js     |   57 +-
 docs/reference/api/doxygen/search/defines_0.js     |    6 +-
 docs/reference/api/doxygen/search/defines_1.js     |    2 +-
 docs/reference/api/doxygen/search/defines_2.js     |    4 +-
 docs/reference/api/doxygen/search/defines_3.js     |    2 +-
 docs/reference/api/doxygen/search/defines_4.js     |    4 +-
 docs/reference/api/doxygen/search/defines_5.js     |   10 +-
 docs/reference/api/doxygen/search/defines_6.js     |    4 +-
 docs/reference/api/doxygen/search/defines_7.js     |    4 +-
 docs/reference/api/doxygen/search/defines_8.js     |  105 +-
 docs/reference/api/doxygen/search/defines_9.js     |    2 +-
 docs/reference/api/doxygen/search/enums_0.js       |    6 +-
 docs/reference/api/doxygen/search/enums_1.js       |    6 +-
 docs/reference/api/doxygen/search/enums_2.js       |    6 +-
 docs/reference/api/doxygen/search/enums_3.js       |   10 +-
 docs/reference/api/doxygen/search/enums_4.js       |    6 +-
 docs/reference/api/doxygen/search/enums_5.js       |    4 +-
 docs/reference/api/doxygen/search/enums_6.js       |    4 +-
 docs/reference/api/doxygen/search/enums_7.js       |    2 +-
 docs/reference/api/doxygen/search/enums_8.js       |    2 +-
 docs/reference/api/doxygen/search/enums_9.js       |    4 +-
 docs/reference/api/doxygen/search/enums_a.js       |    4 +-
 docs/reference/api/doxygen/search/enums_b.js       |    6 +-
 docs/reference/api/doxygen/search/enums_c.js       |    2 +-
 docs/reference/api/doxygen/search/enums_d.js       |    8 +-
 docs/reference/api/doxygen/search/enums_e.js       |   10 +-
 docs/reference/api/doxygen/search/enums_f.js       |    2 +-
 docs/reference/api/doxygen/search/enumvalues_0.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_1.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_2.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_3.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_4.js  |  414 +-
 docs/reference/api/doxygen/search/enumvalues_5.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_6.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_7.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_8.js  |    2 +-
 docs/reference/api/doxygen/search/files_0.js       |   14 +-
 docs/reference/api/doxygen/search/files_1.js       |   26 +-
 docs/reference/api/doxygen/search/files_10.js      |   33 +-
 docs/reference/api/doxygen/search/files_11.js      |    2 +-
 docs/reference/api/doxygen/search/files_12.js      |    8 +-
 docs/reference/api/doxygen/search/files_13.js      |    4 +-
 docs/reference/api/doxygen/search/files_2.js       |   20 +-
 docs/reference/api/doxygen/search/files_3.js       |   28 +-
 docs/reference/api/doxygen/search/files_4.js       |   18 +-
 docs/reference/api/doxygen/search/files_5.js       |   12 +-
 docs/reference/api/doxygen/search/files_6.js       |    6 +-
 docs/reference/api/doxygen/search/files_7.js       |   28 +-
 docs/reference/api/doxygen/search/files_8.js       |    6 +-
 docs/reference/api/doxygen/search/files_9.js       |   14 +-
 docs/reference/api/doxygen/search/files_a.js       |    8 +-
 docs/reference/api/doxygen/search/files_b.js       |    8 +-
 docs/reference/api/doxygen/search/files_c.js       |   11 +-
 docs/reference/api/doxygen/search/files_d.js       |    2 +-
 docs/reference/api/doxygen/search/files_e.js       |   18 +-
 docs/reference/api/doxygen/search/files_f.js       |   48 +-
 docs/reference/api/doxygen/search/functions_0.js   |   10 +-
 docs/reference/api/doxygen/search/functions_1.js   |  226 +-
 docs/reference/api/doxygen/search/functions_10.js  |  180 +-
 docs/reference/api/doxygen/search/functions_11.js  |    8 +-
 docs/reference/api/doxygen/search/functions_12.js  |  212 +-
 docs/reference/api/doxygen/search/functions_13.js  |  360 +-
 docs/reference/api/doxygen/search/functions_14.js  |  254 +-
 docs/reference/api/doxygen/search/functions_15.js  |  112 +-
 docs/reference/api/doxygen/search/functions_16.js  |  127 +-
 docs/reference/api/doxygen/search/functions_17.js  |   70 +-
 docs/reference/api/doxygen/search/functions_18.js  |    2 +-
 docs/reference/api/doxygen/search/functions_19.js  |   91 +-
 docs/reference/api/doxygen/search/functions_2.js   |  170 +-
 docs/reference/api/doxygen/search/functions_3.js   |  258 +-
 docs/reference/api/doxygen/search/functions_4.js   |  212 +-
 docs/reference/api/doxygen/search/functions_5.js   |  140 +-
 docs/reference/api/doxygen/search/functions_6.js   |  382 +-
 docs/reference/api/doxygen/search/functions_7.js   |  209 +-
 docs/reference/api/doxygen/search/functions_8.js   |   46 +-
 docs/reference/api/doxygen/search/functions_9.js   |  363 +-
 docs/reference/api/doxygen/search/functions_a.js   |    8 +-
 docs/reference/api/doxygen/search/functions_b.js   |    2 +-
 docs/reference/api/doxygen/search/functions_c.js   |  142 +-
 docs/reference/api/doxygen/search/functions_d.js   |  156 +-
 docs/reference/api/doxygen/search/functions_e.js   |   84 +-
 docs/reference/api/doxygen/search/functions_f.js   |  100 +-
 docs/reference/api/doxygen/search/namespaces_0.js  |   69 +-
 docs/reference/api/doxygen/search/related_0.js     |    2 +-
 docs/reference/api/doxygen/search/related_1.js     |    6 +-
 docs/reference/api/doxygen/search/related_2.js     |    2 +-
 docs/reference/api/doxygen/search/related_3.js     |    6 +-
 docs/reference/api/doxygen/search/related_4.js     |    8 +-
 docs/reference/api/doxygen/search/related_5.js     |    2 +-
 docs/reference/api/doxygen/search/related_6.js     |    6 +-
 docs/reference/api/doxygen/search/related_7.js     |    8 +-
 docs/reference/api/doxygen/search/related_8.js     |    2 +-
 docs/reference/api/doxygen/search/related_9.js     |    4 +-
 docs/reference/api/doxygen/search/related_a.js     |   10 +-
 docs/reference/api/doxygen/search/related_b.js     |    2 +-
 docs/reference/api/doxygen/search/related_c.js     |    8 +-
 docs/reference/api/doxygen/search/related_d.js     |    8 +-
 docs/reference/api/doxygen/search/typedefs_0.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_1.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_2.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_3.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_4.js    |   12 +-
 docs/reference/api/doxygen/search/typedefs_5.js    |  114 +-
 docs/reference/api/doxygen/search/typedefs_6.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_7.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_8.js    |    2 +-
 docs/reference/api/doxygen/search/typedefs_9.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_a.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_b.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_c.js    |   30 +-
 docs/reference/api/doxygen/search/variables_0.js   |   12 +-
 docs/reference/api/doxygen/search/variables_1.js   |   72 +-
 docs/reference/api/doxygen/search/variables_10.js  |    2 +-
 docs/reference/api/doxygen/search/variables_11.js  |   79 +-
 docs/reference/api/doxygen/search/variables_12.js  |  128 +-
 docs/reference/api/doxygen/search/variables_13.js  |   73 +-
 docs/reference/api/doxygen/search/variables_14.js  |   16 +-
 docs/reference/api/doxygen/search/variables_15.js  |   46 +-
 docs/reference/api/doxygen/search/variables_16.js  |   16 +-
 docs/reference/api/doxygen/search/variables_2.js   |   58 +-
 docs/reference/api/doxygen/search/variables_3.js   |   66 +-
 docs/reference/api/doxygen/search/variables_4.js   |  102 +-
 docs/reference/api/doxygen/search/variables_5.js   |   58 +-
 docs/reference/api/doxygen/search/variables_6.js   |  110 +-
 docs/reference/api/doxygen/search/variables_7.js   |   12 +-
 docs/reference/api/doxygen/search/variables_8.js   |    8 +-
 docs/reference/api/doxygen/search/variables_9.js   |   80 +-
 docs/reference/api/doxygen/search/variables_a.js   |  130 +-
 docs/reference/api/doxygen/search/variables_b.js   |   36 +-
 docs/reference/api/doxygen/search/variables_c.js   |   93 +-
 docs/reference/api/doxygen/search/variables_d.js   |   28 +-
 docs/reference/api/doxygen/search/variables_e.js   |   38 +-
 docs/reference/api/doxygen/search/variables_f.js   |   69 +-
 .../api/doxygen/serializer_8h__dep__incl.svg       |    4 +-
 ...1runtime_1_1profiling_1_1CallFrame-members.html |   86 -
 ...cttvm_1_1runtime_1_1profiling_1_1CallFrame.html |  184 -
 ...time_1_1profiling_1_1CallFrame__coll__graph.svg |   71 -
 ..._1_1profiling_1_1DeviceWrapperNode-members.html |   84 -
 ...1runtime_1_1profiling_1_1DeviceWrapperNode.html |  196 -
 ...profiling_1_1DeviceWrapperNode__coll__graph.svg |   48 -
 ...filing_1_1DeviceWrapperNode__inherit__graph.svg |   48 -
 docs/reference/api/doxygen/timer_8h.html           |  124 +
 docs/reference/api/doxygen/timer_8h__incl.svg      |  630 ++
 docs/reference/api/doxygen/timer_8h_source.html    |  157 +
 docs/reference/api/doxygen/vm_8h.html              |   21 -
 docs/reference/api/doxygen/vm_8h_source.html       |  224 +-
 docs/reference/api/python/arith.html               |    1 -
 docs/reference/api/python/contrib.html             |    1 -
 docs/reference/api/python/driver.html              |    1 -
 docs/reference/api/python/error.html               |    1 -
 docs/reference/api/python/exec.html                |    1 -
 docs/reference/api/python/index.html               |    2 -
 docs/reference/api/python/instrument.html          |    1 -
 docs/reference/api/python/ir.html                  |    1 -
 docs/reference/api/python/meta_schedule.html       |    1 -
 docs/reference/api/python/relax/analysis.html      |    1 -
 docs/reference/api/python/relax/backend.html       |    1 -
 docs/reference/api/python/relax/block_builder.html |    1 -
 docs/reference/api/python/relax/distributed.html   |    1 -
 docs/reference/api/python/relax/dpl.html           |    1 -
 docs/reference/api/python/relax/frontend.html      |    1 -
 docs/reference/api/python/relax/op.html            |    1 -
 docs/reference/api/python/relax/relax.html         |   28 +-
 docs/reference/api/python/relax/testing.html       |    1 -
 docs/reference/api/python/relax/training.html      |   28 -
 docs/reference/api/python/relax/transform.html     |    1 -
 docs/reference/api/python/rpc.html                 |    1 -
 docs/reference/api/python/runtime/disco.html       |    5 +-
 docs/reference/api/python/runtime/profiling.html   |  598 --
 docs/reference/api/python/runtime/runtime.html     |    1 -
 docs/reference/api/python/runtime/vm.html          |   24 +-
 docs/reference/api/python/s_tir/analysis.html      |    1 -
 docs/reference/api/python/s_tir/backend.html       |    1 -
 docs/reference/api/python/s_tir/dlight.html        |    1 -
 docs/reference/api/python/s_tir/schedule.html      |    1 -
 docs/reference/api/python/s_tir/tensor_intrin.html |    1 -
 docs/reference/api/python/s_tir/transform.html     |    1 -
 docs/reference/api/python/script/ir_builder.html   |    1 -
 docs/reference/api/python/script/parser.html       |    1 -
 docs/reference/api/python/script/printer.html      |    1 -
 docs/reference/api/python/script/script.html       |    1 -
 docs/reference/api/python/support.html             |    1 -
 docs/reference/api/python/target.html              |    1 -
 docs/reference/api/python/te.html                  |    1 -
 docs/reference/api/python/testing.html             |    1 -
 docs/reference/api/python/tirx/analysis.html       |    1 -
 docs/reference/api/python/tirx/backend.html        |    1 -
 docs/reference/api/python/tirx/stmt_functor.html   |    1 -
 docs/reference/api/python/tirx/tirx.html           |    1 -
 docs/reference/api/python/tirx/transform.html      |    1 -
 docs/reference/api/python/topi.html                |    1 -
 docs/reference/api/python/transform.html           |    1 -
 .../api/typedoc/classes/ArtifactCache.html         |   14 +-
 .../classes/ArtifactCrossOriginStorageCache.html   |   12 +-
 .../typedoc/classes/ArtifactIndexedDBCache.html    |   12 +-
 docs/reference/api/typedoc/classes/CacheState.html |   10 +-
 docs/reference/api/typedoc/classes/DLDataType.html |   10 +-
 docs/reference/api/typedoc/classes/DLDevice.html   |   10 +-
 docs/reference/api/typedoc/classes/Instance.html   |  108 +-
 docs/reference/api/typedoc/classes/LRUCache.html   |   14 +-
 .../classes/LinearCongruentialGenerator.html       |   10 +-
 docs/reference/api/typedoc/classes/Module.html     |   16 +-
 docs/reference/api/typedoc/classes/RPCServer.html  |    4 +-
 docs/reference/api/typedoc/classes/Scalar.html     |    8 +-
 docs/reference/api/typedoc/classes/TVMArray.html   |   16 +-
 docs/reference/api/typedoc/classes/TVMObject.html  |   12 +-
 docs/reference/api/typedoc/classes/Tensor.html     |   34 +-
 .../api/typedoc/classes/VirtualMachine.html        |   10 +-
 .../classes/_internal_.AsyncifyHandler.html        |   14 +-
 .../classes/_internal_.CachedCallStack.html        |   24 +-
 .../classes/_internal_.CanvasRenderManager.html    |    6 +-
 .../classes/_internal_.CrossOriginStorage.html     |    4 +-
 .../typedoc/classes/_internal_.Environment.html    |   12 +-
 .../api/typedoc/classes/_internal_.FFILibrary.html |    6 +-
 .../api/typedoc/classes/_internal_.Memory.html     |   22 +-
 .../typedoc/classes/_internal_.PackedFuncCell.html |   12 +-
 .../typedoc/classes/_internal_.RuntimeContext.html |    8 +-
 .../typedoc/classes/_internal_.WebGPUContext.html  |   26 +-
 .../enums/_internal_.AsyncifyStateKind.html        |    4 +-
 .../typedoc/enums/_internal_.RPCServerState.html   |    4 +-
 docs/reference/api/typedoc/functions/assert.html   |    2 +-
 .../api/typedoc/functions/createArtifactCache.html |    2 +-
 .../api/typedoc/functions/createPolyfillWASI.html  |    2 +-
 .../api/typedoc/functions/deleteTensorCache.html   |    4 +-
 .../api/typedoc/functions/detectGPUDevice.html     |    2 +-
 .../api/typedoc/functions/hasTensorInCache.html    |    4 +-
 .../api/typedoc/functions/instantiate.html         |    2 +-
 docs/reference/api/typedoc/functions/wasmPath.html |    2 +-
 .../typedoc/interfaces/ArtifactCacheTemplate.html  |   10 +-
 .../api/typedoc/interfaces/Disposable.html         |    4 +-
 .../interfaces/FetchTensorCacheOptions.html        |    4 +-
 .../typedoc/interfaces/GPUDeviceDetectOutput.html  |    4 +-
 .../api/typedoc/interfaces/InitProgressReport.html |    4 +-
 .../api/typedoc/interfaces/LibraryProvider.html    |    6 +-
 .../interfaces/TensorCacheAccessOptions.html       |    4 +-
 .../_internal_.CrossOriginHashDescriptor.html      |    4 +-
 .../_internal_.CrossOriginStorageAPI.html          |    4 +-
 .../_internal_.CrossOriginStorageHandle.html       |    4 +-
 ...CrossOriginStorageRequestFileHandleOptions.html |    4 +-
 .../_internal_.CrossOriginStorageWritable.html     |    4 +-
 .../interfaces/_internal_.FunctionInfo.html        |    4 +-
 .../interfaces/_internal_.TensorCacheEntry.html    |    4 +-
 .../interfaces/_internal_.TensorShardEntry.html    |    4 +-
 .../api/typedoc/types/ArtifactCacheType.html       |    2 +-
 .../api/typedoc/types/InitProgressCallback.html    |    2 +-
 docs/reference/api/typedoc/types/PackedFunc.html   |    2 +-
 .../typedoc/types/_internal_.AsyncPackedFunc.html  |    2 +-
 .../types/_internal_.FObjectConstructor.html       |    2 +-
 .../types/_internal_.FTVMFFIWasmSafeCallType.html  |    2 +-
 .../types/_internal_.FTVMWasmAllocSpace.html       |    2 +-
 .../types/_internal_.FTVMWasmFreeSpace.html        |    2 +-
 .../api/typedoc/types/_internal_.Pointer.html      |    2 +-
 .../api/typedoc/types/_internal_.RequestLike.html  |    2 +-
 .../typedoc/types/_internal_.TVMObjectBase.html    |    2 +-
 docs/searchindex.js                                |    2 +-
 docs/sg_execution_times.html                       |   32 +-
 535 files changed, 17559 insertions(+), 24444 deletions(-)

diff --git a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip
index c1484140f66..1fff4358494 100644
Binary files a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip and b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip differ
diff --git a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip
index e8a68574df1..37226cc1d80 100644
Binary files a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip and b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip differ
diff --git a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip
index 6d1c655cd77..e45b4f57b8d 100644
Binary files a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip and b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip differ
diff --git a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip
index ccfaa90fc6d..46f4c6cea75 100644
Binary files a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip and b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip differ
diff --git a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip
index 6c9aa1f3cbe..e9f455c2afc 100644
Binary files a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip and b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip differ
diff --git a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip
index 2900bd9e5e0..fbdad4289a2 100644
Binary files a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip and b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip differ
diff --git a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip
index 198791dfcfa..fc9573d28e6 100644
Binary files a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip and b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip differ
diff --git a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip
index 1ffbca97db3..3da10618f2f 100644
Binary files a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip and b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip differ
diff --git a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip
index b805e9ce54c..470e86034c0 100644
Binary files a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip and b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip differ
diff --git a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip
index 3db3b5ad91b..c586e80af09 100644
Binary files a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip and b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip differ
diff --git a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip
index a0416fae50f..896dec546f7 100644
Binary files a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip and b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip differ
diff --git a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip
index 478582bb64b..2ca587f6c22 100644
Binary files a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip and b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip differ
diff --git a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip
index 24ae9cbba9b..84c077b5989 100644
Binary files a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip and b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip differ
diff --git a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip
index 5fb55e6607d..2f55b43449f 100644
Binary files a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip and b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip differ
diff --git a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip
index 3fb90cf8e17..744173ba84f 100644
Binary files a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip and b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip differ
diff --git a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip
index 1c4bab9b180..84429823f41 100644
Binary files a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip and b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip differ
diff --git a/docs/_sources/arch/relax_vm.rst.txt b/docs/_sources/arch/relax_vm.rst.txt
index 30ce5bd0588..222329ce0bc 100644
--- a/docs/_sources/arch/relax_vm.rst.txt
+++ b/docs/_sources/arch/relax_vm.rst.txt
@@ -354,26 +354,14 @@ Key methods:
   reducing dictionary lookup overhead during benchmarking.
 - ``vm.time_evaluator(func_name, dev)`` — returns a timing function following the same convention
   as ``tvm.runtime.Module.time_evaluator``.
-- ``vm.profile(func_name, *args)`` — returns a per-operator profiling report (requires
-  ``profile=True`` at VM construction).
 - ``vm.set_instrument(func)`` — register an instrumentation callback that is invoked before/after
   every ``Call`` instruction. The callback can return ``VMInstrumentReturnKind.SKIP_RUN`` to
   skip the call.
 
-Profiling and instrumentation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Instrumentation
+~~~~~~~~~~~~~~~
 
-The VM supports two levels of observability:
-
-**Profiling** via ``VirtualMachine(exec, dev, profile=True)``:
-
-.. code-block:: python
-
-   vm = relax.VirtualMachine(ex, tvm.cuda(), profile=True)
-   report = vm.profile("main", inp)
-   print(report)
-
-This produces a ``tvm.runtime.profiling.Report`` with per-operator timing breakdown.
+The VM supports observability via instrumentation:
 
 **Instrumentation** via ``set_instrument()``:
 
diff --git a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
index 40ddf9761de..b7aef0c7833 100644
--- a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:00.171** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.168** total execution time for 2 files **from deep_dive/relax/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``relax_creation.py``)
-     - 00:00.117
+     - 00:00.115
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
-     - 00:00.054
+     - 00:00.053
      - 0.0
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
index 34c8d69228d..261190f53c4 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:00.580** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
+**00:00.574** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
 
 .. container::
 
@@ -33,13 +33,13 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
-     - 00:00.272
+     - 00:00.269
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``tir_creation.py``)
-     - 00:00.184
+     - 00:00.182
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``dlight_gpu_scheduling.py``)
-     - 00:00.117
+     - 00:00.116
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_meta_schedule.py` (``meta_schedule.py``)
      - 00:00.007
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
index 979bba58321..0ad66555bfd 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
@@ -319,17 +319,17 @@ Now let's check the runtime dynamic shape inference:
 
  .. code-block:: none
 
-    [[1.3234749  1.3930503  1.4856935  0.6385839 ]
-     [1.2687595  0.6374768  0.44452178 0.7536488 ]
-     [1.7385163  1.4490439  1.4545542  0.69995016]
-     [0.76185447 0.9158418  1.056835   0.19985244]]
-    [[29.852156 31.468061 29.777067 ... 35.671303 31.34862  32.001503]
-     [30.72235  30.274303 29.987768 ... 36.940044 32.496574 30.728739]
-     [29.407492 30.763422 28.325237 ... 33.129356 31.77047  31.159052]
+    [[1.8622421  0.67286646 1.282362   1.0511451 ]
+     [2.0764782  0.5306615  1.3665953  1.4980947 ]
+     [1.3380854  0.2942735  0.87282985 0.9297526 ]
+     [1.9473305  0.71752125 1.2324657  1.3434483 ]]
+    [[30.725405 27.933485 33.42631  ... 28.76254  32.434967 25.542963]
+     [28.348495 25.882704 31.631708 ... 30.102102 32.523552 23.54295 ]
+     [31.881264 32.651657 37.273735 ... 31.474817 35.480404 28.237606]
      ...
-     [34.929455 33.25917  31.378984 ... 38.518074 35.54914  34.651493]
-     [31.691679 33.496876 30.436523 ... 36.636856 33.74757  32.43741 ]
-     [32.642643 32.716534 32.290386 ... 36.175415 34.832893 33.763725]]
+     [27.833437 28.467497 31.901064 ... 28.129526 31.220873 25.711681]
+     [32.942955 32.215992 36.025925 ... 32.050587 36.881718 29.219858]
+     [28.208681 25.811222 31.636063 ... 26.905252 29.956907 23.83386 ]]
 
 
 
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
index 111fe602f25..dd472f5c2e2 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
@@ -120,7 +120,7 @@ original implementation.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       2.5423       2.5423       2.5423       2.5423       0.0000                  
+       2.5176       2.5176       2.5176       2.5176       0.0000                  
 
 
 
@@ -292,7 +292,7 @@ action involves reordering these two loops.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.8614       0.8614       0.8614       0.8614       0.0000                  
+       0.8615       0.8615       0.8615       0.8615       0.0000                  
 
 
 
@@ -420,7 +420,7 @@ from the reduction update via the **decompose_reduction** primitive.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.3592       0.3592       0.3592       0.3592       0.0000                  
+       0.3430       0.3430       0.3430       0.3430       0.0000                  
 
 
 
diff --git a/docs/_sources/get_started/tutorials/ir_module.rst.txt b/docs/_sources/get_started/tutorials/ir_module.rst.txt
index 05105f7123b..77f74a4cd2b 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst.txt
+++ b/docs/_sources/get_started/tutorials/ir_module.rst.txt
@@ -694,8 +694,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
 
  .. code-block:: none
 
-    [[-0.04846497 -0.03257668 -0.10313056 -0.06348107 -0.02961989  0.09971151
-      -0.0429691   0.00990227  0.07507654 -0.03020578]]
+    [[ 0.08104634  0.00242352  0.1049604  -0.08137349 -0.1480625  -0.08869022
+      -0.09602349  0.00385824 -0.15466967 -0.10502834]]
 
 
 
@@ -761,8 +761,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
 
  .. code-block:: none
 
-    [[-0.04846498 -0.03257667 -0.10313056 -0.06348109 -0.02961986  0.09971155
-      -0.0429691   0.00990227  0.07507656 -0.03020576]]
+    [[ 0.08104636  0.00242357  0.10496042 -0.0813735  -0.14806242 -0.08869025
+      -0.09602351  0.00385825 -0.15466967 -0.1050284 ]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst.txt b/docs/_sources/get_started/tutorials/quick_start.rst.txt
index 629934d9e2f..984e5a64c34 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst.txt
+++ b/docs/_sources/get_started/tutorials/quick_start.rst.txt
@@ -224,8 +224,8 @@ different devices.
 
  .. code-block:: none
 
-    [[26505.559 24962.824 23921.61  25596.424 24869.057 25037.3   25213.365
-      22812.576 24543.756 23328.629]]
+    [[23730.143 27612.406 26144.84  25774.523 26365.133 24124.285 26677.041
+      25740.312 24821.139 24888.467]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt b/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
index 76bf13e7c94..6df675b85a8 100644
--- a/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:06.944** total execution time for 2 files **from get_started/tutorials**:
+**00:06.920** total execution time for 2 files **from get_started/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``ir_module.py``)
-     - 00:06.788
+     - 00:06.762
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
-     - 00:00.156
+     - 00:00.158
      - 0.0
diff --git a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
index 25b14d37a27..01921747715 100644
--- a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
@@ -269,7 +269,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    8.9e-08 secs/op
+    9.1e-08 secs/op
 
 
 
@@ -671,8 +671,8 @@ This workflow is applicable to various deployment scenarios:
     Converted PyTorch model to Relax:
       - Number of parameters: 4
     Using local target for demonstration
-    Exported library to: /tmp/tmp3y5l1avl/model_deployed.so
-    Saved parameters to: /tmp/tmp3y5l1avl/model_params.npz
+    Exported library to: /tmp/tmpms6e2cvm/model_deployed.so
+    Saved parameters to: /tmp/tmpms6e2cvm/model_params.npz
 
     RPC workflow (works for any remote device):
     ==================================================
diff --git a/docs/_sources/how_to/tutorials/customize_opt.rst.txt b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
index 9216e6f97b5..fa7fe029bc7 100644
--- a/docs/_sources/how_to/tutorials/customize_opt.rst.txt
+++ b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
@@ -425,8 +425,8 @@ We can build and deploy the optimized model to the TVM runtime.
 
  .. code-block:: none
 
-    [[24765.898 24169.832 24225.129 24773.191 26263.184 24363.56  23606.676
-      24679.412 24569.697 25252.111]]
+    [[25077.996 26146.457 26063.613 23740.695 24852.195 25097.496 23488.072
+      23641.996 26411.695 24865.14 ]]
 
 
 
diff --git a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
index 45653cd50c2..da12d907035 100644
--- a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
+++ b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
@@ -54,7 +54,7 @@ PyTorch.
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
-       0%|          | 0.00/44.7M [00:00<?, ?B/s]       3%|▎         | 1.38M/44.7M [00:00<00:03, 14.1MB/s]      43%|████▎     | 19.2M/44.7M [00:00<00:00, 115MB/s]       91%|█████████ | 40.6M/44.7M [00:00<00:00, 164MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 146MB/s]
+       0%|          | 0.00/44.7M [00:00<?, ?B/s]      69%|██████▉   | 31.0M/44.7M [00:00<00:00, 324MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 323MB/s]
 
 
 
diff --git a/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt b/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
index a6056c1cfdc..99502be1ff1 100644
--- a/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:15.296** total execution time for 8 files **from how_to/tutorials**:
+**00:15.095** total execution time for 8 files **from how_to/tutorials**:
 
 .. container::
 
@@ -33,22 +33,22 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
-     - 00:10.033
+     - 00:10.057
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``import_model.py``)
-     - 00:03.314
+     - 00:03.313
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
-     - 00:00.795
+     - 00:00.570
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
-     - 00:00.532
+     - 00:00.536
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-     - 00:00.478
+     - 00:00.475
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``bring_your_own_codegen.py``)
-     - 00:00.139
+     - 00:00.138
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_mix_python_and_tvm_with_pymodule.py` (``mix_python_and_tvm_with_pymodule.py``)
      - 00:00.004
diff --git a/docs/_sources/reference/api/python/index.rst.txt b/docs/_sources/reference/api/python/index.rst.txt
index 89f9f0c577e..4bef65f82df 100644
--- a/docs/_sources/reference/api/python/index.rst.txt
+++ b/docs/_sources/reference/api/python/index.rst.txt
@@ -40,7 +40,6 @@ Python API
     runtime/runtime
     runtime/vm
     runtime/disco
-    runtime/profiling
 
 .. toctree::
     :maxdepth: 1
diff --git a/docs/_sources/reference/api/python/runtime/profiling.rst.txt b/docs/_sources/reference/api/python/runtime/profiling.rst.txt
deleted file mode 100644
index d26f00af90c..00000000000
--- a/docs/_sources/reference/api/python/runtime/profiling.rst.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-..  Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-..  Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
-tvm.runtime.profiling
----------------------
-.. automodule:: tvm.runtime.profiling
-    :members:
diff --git a/docs/_sources/sg_execution_times.rst.txt b/docs/_sources/sg_execution_times.rst.txt
index 2574b690651..662d7a9dc46 100644
--- a/docs/_sources/sg_execution_times.rst.txt
+++ b/docs/_sources/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:22.992** total execution time for 16 files **from all galleries**:
+**00:22.757** total execution time for 16 files **from all galleries**:
 
 .. container::
 
@@ -33,43 +33,43 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
-     - 00:10.033
+     - 00:10.057
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
-     - 00:06.788
+     - 00:06.762
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``../how_to/tutorials/import_model.py``)
-     - 00:03.314
+     - 00:03.313
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
-     - 00:00.795
+     - 00:00.570
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
-     - 00:00.532
+     - 00:00.536
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
-     - 00:00.478
+     - 00:00.475
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
-     - 00:00.272
+     - 00:00.269
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
-     - 00:00.184
+     - 00:00.182
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
-     - 00:00.156
+     - 00:00.158
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``../how_to/tutorials/bring_your_own_codegen.py``)
-     - 00:00.139
-     - 0.0
-   * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
-     - 00:00.117
+     - 00:00.138
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``../deep_dive/tensor_ir/tutorials/dlight_gpu_scheduling.py``)
-     - 00:00.117
+     - 00:00.116
+     - 0.0
+   * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
+     - 00:00.115
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
-     - 00:00.054
+     - 00:00.053
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_meta_schedule.py` (``../deep_dive/tensor_ir/tutorials/meta_schedule.py``)
      - 00:00.007
diff --git a/docs/arch/relax_vm.html b/docs/arch/relax_vm.html
index fa731c99a21..cdf56a67d38 100644
--- a/docs/arch/relax_vm.html
+++ b/docs/arch/relax_vm.html
@@ -657,22 +657,13 @@ that avoids sending output over the wire, useful for RPC-based remote execution.
 reducing dictionary lookup overhead during benchmarking.</p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">vm.time_evaluator(func_name,</span> <span class="pre">dev)</span></code> — returns a timing function following the same convention
 as <code class="docutils literal notranslate"><span class="pre">tvm.runtime.Module.time_evaluator</span></code>.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">vm.profile(func_name,</span> <span class="pre">*args)</span></code> — returns a per-operator profiling report (requires
-<code class="docutils literal notranslate"><span class="pre">profile=True</span></code> at VM construction).</p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">vm.set_instrument(func)</span></code> — register an instrumentation callback that is invoked before/after
 every <code class="docutils literal notranslate"><span class="pre">Call</span></code> instruction. The callback can return <code class="docutils literal notranslate"><span class="pre">VMInstrumentReturnKind.SKIP_RUN</span></code> to
 skip the call.</p></li>
 </ul>
-<section id="profiling-and-instrumentation">
-<h3>Profiling and instrumentation<a class="headerlink" href="#profiling-and-instrumentation" title="Link to this heading"></a></h3>
-<p>The VM supports two levels of observability:</p>
-<p><strong>Profiling</strong> via <code class="docutils literal notranslate"><span class="pre">VirtualMachine(exec,</span> <span class="pre">dev,</span> <span class="pre">profile=True)</span></code>:</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">vm</span> <span class="o">=</span> <span class="n">relax</span><span class="o">.</span><span class="n">VirtualMachine</span><span class="p">(</span><span class="n">ex</span><span class="p">,</span> <span class="n">tvm</span><span class="o">.</span><span class="n">cuda</span><span class="p">(),</span> <span class="n">profile</span><span class="o">=</span><span class="kc">True</span><span cla [...]
-<span class="n">report</span> <span class="o">=</span> <span class="n">vm</span><span class="o">.</span><span class="n">profile</span><span class="p">(</span><span class="s2">&quot;main&quot;</span><span class="p">,</span> <span class="n">inp</span><span class="p">)</span>
-<span class="nb">print</span><span class="p">(</span><span class="n">report</span><span class="p">)</span>
-</pre></div>
-</div>
-<p>This produces a <code class="docutils literal notranslate"><span class="pre">tvm.runtime.profiling.Report</span></code> with per-operator timing breakdown.</p>
+<section id="instrumentation">
+<h3>Instrumentation<a class="headerlink" href="#instrumentation" title="Link to this heading"></a></h3>
+<p>The VM supports observability via instrumentation:</p>
 <p><strong>Instrumentation</strong> via <code class="docutils literal notranslate"><span class="pre">set_instrument()</span></code>:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">my_instrument</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="n">func_symbol</span><span class="p">,</span> <span class="n">before_run</span><span class="p">,</span> <span class="n">ret_value</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
     <span class="k">if</span> <span class="n">before_run</span><span class="p">:</span>
diff --git a/docs/commit_hash b/docs/commit_hash
index 3350df0de75..0ab6c21c05a 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-97a34a9a049009757b22a7470ee0455a69f13b38
+11ac2ad97c84fdc6ca14690a6221e9f3d1631955
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index 1b584980011..64a96694bfb 100644
--- a/docs/deep_dive/relax/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/relax/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-deep-dive-relax-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:00.171</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.168</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,11 +319,11 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="relax_creation.html#sphx-glr-deep-dive-relax-tutorials-relax-creation-py"><span class="std std-ref">Relax Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_creation.py</span></code>)</p></td>
-<td><p>00:00.117</p></td>
+<td><p>00:00.115</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="relax_transformation.html#sphx-glr-deep-dive-relax-tutorials-relax-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_transformation.py</span></code>)</p></td>
-<td><p>00:00.054</p></td>
+<td><p>00:00.053</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
index e856ebbd16e..2b3d36a8d55 100644
--- a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-deep-dive-tensor-ir-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:00.580</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:00.574</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,15 +319,15 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="tir_transformation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_transformation.py</span></code>)</p></td>
-<td><p>00:00.272</p></td>
+<td><p>00:00.269</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tir_creation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-creation-py"><span class="std std-ref">TensorIR Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_creation.py</span></code>)</p></td>
-<td><p>00:00.184</p></td>
+<td><p>00:00.182</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="dlight_gpu_scheduling.html#sphx-glr-deep-dive-tensor-ir-tutorials-dlight-gpu-scheduling-py"><span class="std std-ref">DLight: Rule-Based GPU Scheduling</span></a> (<code class="docutils literal notranslate"><span class="pre">dlight_gpu_scheduling.py</span></code>)</p></td>
-<td><p>00:00.117</p></td>
+<td><p>00:00.116</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="meta_schedule.html#sphx-glr-deep-dive-tensor-ir-tutorials-meta-schedule-py"><span class="std std-ref">MetaSchedule: Search-Based Auto-Tuning</span></a> (<code class="docutils literal notranslate"><span class="pre">meta_schedule.py</span></code>)</p></td>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
index 32df1ad6e44..7a950e94bd5 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
@@ -493,17 +493,17 @@ be used to ascertain the shape and data type of a TensorIR.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">evaluate_dynamic_shape</span><span class="p">(</span><span class="n">dyn_shape_lib</span><span class="p">,</span> <span class="n">m</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <span class="n">n</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <a href="../../../reference/api/python/tirx/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-gl [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[1.3234749  1.3930503  1.4856935  0.6385839 ]
- [1.2687595  0.6374768  0.44452178 0.7536488 ]
- [1.7385163  1.4490439  1.4545542  0.69995016]
- [0.76185447 0.9158418  1.056835   0.19985244]]
-[[29.852156 31.468061 29.777067 ... 35.671303 31.34862  32.001503]
- [30.72235  30.274303 29.987768 ... 36.940044 32.496574 30.728739]
- [29.407492 30.763422 28.325237 ... 33.129356 31.77047  31.159052]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[1.8622421  0.67286646 1.282362   1.0511451 ]
+ [2.0764782  0.5306615  1.3665953  1.4980947 ]
+ [1.3380854  0.2942735  0.87282985 0.9297526 ]
+ [1.9473305  0.71752125 1.2324657  1.3434483 ]]
+[[30.725405 27.933485 33.42631  ... 28.76254  32.434967 25.542963]
+ [28.348495 25.882704 31.631708 ... 30.102102 32.523552 23.54295 ]
+ [31.881264 32.651657 37.273735 ... 31.474817 35.480404 28.237606]
  ...
- [34.929455 33.25917  31.378984 ... 38.518074 35.54914  34.651493]
- [31.691679 33.496876 30.436523 ... 36.636856 33.74757  32.43741 ]
- [32.642643 32.716534 32.290386 ... 36.175415 34.832893 33.763725]]
+ [27.833437 28.467497 31.901064 ... 28.129526 31.220873 25.711681]
+ [32.942955 32.215992 36.025925 ... 32.050587 36.881718 29.219858]
+ [28.208681 25.811222 31.636063 ... 26.905252 29.956907 23.83386 ]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
index 778d75513c7..b39e98f9a47 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
@@ -374,7 +374,7 @@ original implementation.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   2.5423       2.5423       2.5423       2.5423       0.0000
+   2.5176       2.5176       2.5176       2.5176       0.0000
 </pre></div>
 </div>
 <section id="initialization-schedule">
@@ -470,7 +470,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.8614       0.8614       0.8614       0.8614       0.0000
+   0.8615       0.8615       0.8615       0.8615       0.0000
 </pre></div>
 </div>
 </section>
@@ -564,7 +564,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.3592       0.3592       0.3592       0.3592       0.0000
+   0.3430       0.3430       0.3430       0.3430       0.0000
 </pre></div>
 </div>
 </section>
diff --git a/docs/genindex.html b/docs/genindex.html
index 6b4d44e298b..e0d09a86769 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -980,8 +980,6 @@
       <li><a href="reference/api/python/ir.html#tvm.ir.CallingConv">CallingConv (class in tvm.ir)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.CallInplacePackedAttrs">CallInplacePackedAttrs (class in tvm.relax.op.op_attrs)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Report.calls">calls (tvm.runtime.profiling.Report attribute)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.CallTIRInplaceAttrs">CallTIRInplaceAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
@@ -1162,11 +1160,11 @@
 </li>
       </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv1d_ncw">conv1d_ncw() (in module tvm.topi.nn)</a>
-</li>
-      <li><a href="reference/api/python/topi.html#tvm.topi.testing.conv1d_ncw_python">conv1d_ncw_python() (in module tvm.topi.testing)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/topi.html#tvm.topi.testing.conv1d_ncw_python">conv1d_ncw_python() (in module tvm.topi.testing)</a>
+</li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv1d_nwc">conv1d_nwc() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.conv1d_transpose">conv1d_transpose() (in module tvm.relax.op.nn)</a>
@@ -1326,8 +1324,6 @@
 </li>
       </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.CostModel">CostModel (class in tvm.s_tir.meta_schedule)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Count">Count (class in tvm.runtime.profiling)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Sequence.count">count() (tvm.topi.nn.Sequence method)</a>
 </li>
@@ -1406,8 +1402,6 @@
       <li><a href="reference/api/python/contrib.html#tvm.contrib.cc.cross_compiler">cross_compiler() (in module tvm.contrib.cc)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.cross_entropy_with_logits">cross_entropy_with_logits() (in module tvm.relax.op.nn)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Report.csv">csv() (tvm.runtime.profiling.Report method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Resize2DAttrs.cubic_alpha">cubic_alpha (tvm.relax.op.op_attrs.Resize2DAttrs property)</a>
 </li>
@@ -1581,27 +1575,23 @@
 </li>
       <li><a href="reference/api/python/arith.html#tvm.arith.detect_iter_map">detect_iter_map() (in module tvm.arith)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/arith.html#tvm.arith.detect_linear_equation">detect_linear_equation() (in module tvm.arith)</a>
 </li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.detect_recursion">detect_recursion() (in module tvm.relax.analysis)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.device">device() (tvm.rpc.RPCSession method)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.device_enabled">device_enabled() (in module tvm.testing)</a>
 </li>
       <li><a href="reference/api/python/relax/distributed.html#tvm.relax.distributed.device_mesh">device_mesh() (in module tvm.relax.distributed)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Report.device_metrics">device_metrics (tvm.runtime.profiling.Report attribute)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.HintOnDeviceAttrs.device_type">device_type (tvm.relax.op.op_attrs.HintOnDeviceAttrs property)</a>
 </li>
       <li><a href="reference/api/python/target.html#tvm.target.VirtualDevice.device_type_int">device_type_int (tvm.target.VirtualDevice property)</a>
 </li>
       <li><a href="reference/api/python/relax/distributed.html#tvm.relax.distributed.DeviceMesh">DeviceMesh (class in tvm.relax.distributed)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.DeviceWrapper">DeviceWrapper (class in tvm.runtime.profiling)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.diagnostics.Diagnostic">Diagnostic (class in tvm.ir.diagnostics)</a>
 </li>
@@ -1724,8 +1714,6 @@
       <li><a href="reference/api/python/contrib.html#tvm.contrib.tvmjs.dump_tensor_cache">dump_tensor_cache() (in module tvm.contrib.tvmjs)</a>
 </li>
       <li><a href="reference/api/python/instrument.html#tvm.ir.instrument.DumpIR">DumpIR (class in tvm.ir.instrument)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Duration">Duration (class in tvm.runtime.profiling)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.dynamic_strided_slice">dynamic_strided_slice() (in module tvm.relax.op)</a>
 </li>
@@ -2048,8 +2036,6 @@
       <li><a href="reference/api/python/tirx/tirx.html#tvm.tirx.IndexMap.from_func_with_separators">from_func_with_separators() (tvm.tirx.IndexMap static method)</a>
 </li>
       <li><a href="reference/api/python/relax/frontend.html#tvm.relax.frontend.torch.from_fx">from_fx() (in module tvm.relax.frontend.torch)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Report.from_json">from_json() (tvm.runtime.profiling.Report class method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Range.from_min_extent">from_min_extent() (tvm.ir.Range static method)</a>
 </li>
@@ -2746,8 +2732,6 @@
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.TaskScheduler.join_running_task">join_running_task() (tvm.s_tir.meta_schedule.TaskScheduler method)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Report.json">json() (tvm.runtime.profiling.Report method)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -3146,8 +3130,6 @@
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.MetaScheduleTuneTIR">MetaScheduleTuneTIR() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Resize2DAttrs.method">method (tvm.relax.op.op_attrs.Resize2DAttrs property)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.MetricCollector">MetricCollector (class in tvm.runtime.profiling)</a>
 </li>
       <li><a href="reference/api/python/tirx/tirx.html#tvm.tirx.Min">Min (class in tvm.tirx)</a>
 </li>
@@ -3324,8 +3306,6 @@
         <li><a href="reference/api/python/runtime/runtime.html#module-tvm.runtime">tvm.runtime</a>
 </li>
         <li><a href="reference/api/python/runtime/disco.html#module-tvm.runtime.disco">tvm.runtime.disco</a>
-</li>
-        <li><a href="reference/api/python/runtime/profiling.html#module-tvm.runtime.profiling">tvm.runtime.profiling</a>
 </li>
         <li><a href="reference/api/python/runtime/vm.html#module-tvm.runtime.vm">tvm.runtime.vm</a>
 </li>
@@ -3801,8 +3781,6 @@
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.PatternCheckContext">PatternCheckContext (class in tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.tvmjs.TensorCacheShardingManager.pending_nbytes">pending_nbytes (tvm.contrib.tvmjs.TensorCacheShardingManager property)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Percent">Percent (class in tvm.runtime.profiling)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.permute_dims">permute_dims() (in module tvm.relax.op)</a>
 </li>
@@ -3848,14 +3826,14 @@
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool3DAttrs.pool_size">(tvm.relax.op.op_attrs.Pool3DAttrs property)</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ROIAlignAttrs.pooled_size">pooled_size (tvm.relax.op.op_attrs.ROIAlignAttrs property)</a>
 
       <ul>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ROIPoolAttrs.pooled_size">(tvm.relax.op.op_attrs.ROIPoolAttrs property)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.poolnd_python">poolnd_python() (in module tvm.topi.testing)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.pop">pop() (tvm.s_tir.schedule.Trace method)</a>
@@ -3949,16 +3927,6 @@
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.prod">prod() (in module tvm.relax.op)</a>
 </li>
       <li><a href="reference/api/python/tirx/tirx.html#tvm.tirx.ProducerLoad">ProducerLoad (class in tvm.tirx)</a>
-</li>
-      <li><a href="reference/api/python/relax/relax.html#tvm.relax.VirtualMachine.profile">profile() (tvm.relax.VirtualMachine method)</a>
-
-      <ul>
-        <li><a href="reference/api/python/runtime/vm.html#tvm.runtime.vm.VirtualMachine.profile">(tvm.runtime.vm.VirtualMachine method)</a>
-</li>
-      </ul></li>
-      <li><a href="reference/api/python/relax/training.html#tvm.relax.training.Trainer.profile_adjoint">profile_adjoint() (tvm.relax.training.Trainer method)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.profile_function">profile_function() (in module tvm.runtime.profiling)</a>
 </li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Profiler">Profiler (class in tvm.s_tir.meta_schedule)</a>
 </li>
@@ -4039,8 +4007,6 @@
       <li><a href="reference/api/python/ir.html#tvm.ir.Range">Range (class in tvm.ir)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.DropoutAttrs.rate">rate (tvm.relax.op.op_attrs.DropoutAttrs property)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Ratio">Ratio (class in tvm.runtime.profiling)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.DepKind.RAW">RAW (tvm.s_tir.schedule.DepKind attribute)</a>
 </li>
@@ -4199,8 +4165,6 @@
       <li><a href="reference/api/python/relax/distributed.html#tvm.relax.distributed.PlacementSpec.replica">replica() (tvm.relax.distributed.PlacementSpec static method)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.replicate_pad">replicate_pad() (in module tvm.topi.nn)</a>
-</li>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Report">Report (class in tvm.runtime.profiling)</a>
 </li>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.TrackerSession.request">request() (tvm.rpc.TrackerSession method)</a>
 </li>
@@ -4854,12 +4818,8 @@
 <h2 id="T">T</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="reference/api/python/runtime/profiling.html#tvm.runtime.profiling.Report.table">table() (tvm.runtime.profiling.Report method)</a>
-
-      <ul>
-        <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Profiler.table">(tvm.s_tir.meta_schedule.Profiler method)</a>
+      <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Profiler.table">table() (tvm.s_tir.meta_schedule.Profiler method)</a>
 </li>
-      </ul></li>
       <li><a href="reference/api/python/te.html#tvm.te.tag_scope">tag_scope() (in module tvm.te)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.take">take() (in module tvm.relax.op)</a>
@@ -5288,6 +5248,8 @@
         <li><a href="reference/api/python/ir.html#module-tvm.ir">module</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     tvm.ir.diagnostics
 
@@ -5295,8 +5257,6 @@
         <li><a href="reference/api/python/ir.html#module-tvm.ir.diagnostics">module</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     tvm.ir.instrument
 
@@ -5505,13 +5465,6 @@
 
       <ul>
         <li><a href="reference/api/python/runtime/disco.html#module-tvm.runtime.disco">module</a>
-</li>
-      </ul></li>
-      <li>
-    tvm.runtime.profiling
-
-      <ul>
-        <li><a href="reference/api/python/runtime/profiling.html#module-tvm.runtime.profiling">module</a>
 </li>
       </ul></li>
       <li>
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index e44ef0c9c92..0379016847f 100644
--- a/docs/get_started/tutorials/ir_module.html
+++ b/docs/get_started/tutorials/ir_module.html
@@ -817,8 +817,8 @@ backends.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.04846497 -0.03257668 -0.10313056 -0.06348107 -0.02961989  0.09971151
-  -0.0429691   0.00990227  0.07507654 -0.03020578]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[ 0.08104634  0.00242352  0.1049604  -0.08137349 -0.1480625  -0.08869022
+  -0.09602349  0.00385824 -0.15466967 -0.10502834]]
 </pre></div>
 </div>
 </section>
@@ -852,8 +852,8 @@ the details of <code class="docutils literal notranslate"><span class="pre">DLig
 <span class="k">assert</span> <span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">,</span> <span class="n">gpu_out</span><span class="p">,</span> <span class="n">atol</span><span class="o">=</span><span class="mf">1e-3</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.04846498 -0.03257667 -0.10313056 -0.06348109 -0.02961986  0.09971155
-  -0.0429691   0.00990227  0.07507656 -0.03020576]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[ 0.08104636  0.00242357  0.10496042 -0.0813735  -0.14806242 -0.08869025
+  -0.09602351  0.00385825 -0.15466967 -0.1050284 ]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index 4ae340ab566..cde94d81e4d 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -460,8 +460,8 @@ different devices.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">vm</span><span class="p">[</span><span class="s2">&quot;forward&quot;</span><span class="p">](</span><span class="n">tvm_data</span><span class="p">,</span> <span class="o">*</span><a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a><span class="p">)</span><s [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[26505.559 24962.824 23921.61  25596.424 24869.057 25037.3   25213.365
-  22812.576 24543.756 23328.629]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[23730.143 27612.406 26144.84  25774.523 26365.133 24124.285 26677.041
+  25740.312 24821.139 24888.467]]
 </pre></div>
 </div>
 <p>Our goal is to bring machine learning to the application with any language of interest,
diff --git a/docs/get_started/tutorials/sg_execution_times.html b/docs/get_started/tutorials/sg_execution_times.html
index 1b30572f8be..f8d3189e154 100644
--- a/docs/get_started/tutorials/sg_execution_times.html
+++ b/docs/get_started/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-get-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:06.944</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:06.920</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,11 +319,11 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="ir_module.html#sphx-glr-get-started-tutorials-ir-module-py"><span class="std std-ref">IRModule</span></a> (<code class="docutils literal notranslate"><span class="pre">ir_module.py</span></code>)</p></td>
-<td><p>00:06.788</p></td>
+<td><p>00:06.762</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="quick_start.html#sphx-glr-get-started-tutorials-quick-start-py"><span class="std std-ref">Quick Start</span></a> (<code class="docutils literal notranslate"><span class="pre">quick_start.py</span></code>)</p></td>
-<td><p>00:00.156</p></td>
+<td><p>00:00.158</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/tutorials/cross_compilation_and_rpc.html b/docs/how_to/tutorials/cross_compilation_and_rpc.html
index 58d1df0e8f7..0672d256bb9 100644
--- a/docs/how_to/tutorials/cross_compilation_and_rpc.html
+++ b/docs/how_to/tutorials/cross_compilation_and_rpc.html
@@ -478,7 +478,7 @@ device and returns the measured cost. Network overhead is excluded.</p>
 <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">cost</span><span class="si">:</span><span class="s2">g</span><span class="si">}</span><span class="s2"> secs/op&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>8.9e-08 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>9.1e-08 secs/op
 </pre></div>
 </div>
 </section>
@@ -846,8 +846,8 @@ for ONNX models. Simply replace <code class="docutils literal notranslate"><span
 Converted PyTorch model to Relax:
   - Number of parameters: 4
 Using local target for demonstration
-Exported library to: /tmp/tmp3y5l1avl/model_deployed.so
-Saved parameters to: /tmp/tmp3y5l1avl/model_params.npz
+Exported library to: /tmp/tmpms6e2cvm/model_deployed.so
+Saved parameters to: /tmp/tmpms6e2cvm/model_params.npz
 
 RPC workflow (works for any remote device):
 ==================================================
diff --git a/docs/how_to/tutorials/customize_opt.html b/docs/how_to/tutorials/customize_opt.html
index f5e862d4d39..a4f0dd4c3c0 100644
--- a/docs/how_to/tutorials/customize_opt.html
+++ b/docs/how_to/tutorials/customize_opt.html
@@ -620,8 +620,8 @@ pushing the performance to the limit. The current optimization may not be the be
 <span class="nb">print</span><span class="p">(</span><span class="n">gpu_out</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24765.898 24169.832 24225.129 24773.191 26263.184 24363.56  23606.676
-  24679.412 24569.697 25252.111]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[25077.996 26146.457 26063.613 23740.695 24852.195 25097.496 23488.072
+  23641.996 26411.695 24865.14 ]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/how_to/tutorials/e2e_opt_model.html b/docs/how_to/tutorials/e2e_opt_model.html
index 739ba4177cf..6ace44484fe 100644
--- a/docs/how_to/tutorials/e2e_opt_model.html
+++ b/docs/how_to/tutorials/e2e_opt_model.html
@@ -332,10 +332,8 @@ PyTorch.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/resnet18-f37072fd.pth&quot; to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
 
   0%|          | 0.00/44.7M [00:00&lt;?, ?B/s]
-  3%|▎         | 1.38M/44.7M [00:00&lt;00:03, 14.1MB/s]
- 43%|████▎     | 19.2M/44.7M [00:00&lt;00:00, 115MB/s]
- 91%|█████████ | 40.6M/44.7M [00:00&lt;00:00, 164MB/s]
-100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 146MB/s]
+ 69%|██████▉   | 31.0M/44.7M [00:00&lt;00:00, 324MB/s]
+100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 323MB/s]
 </pre></div>
 </div>
 </section>
diff --git a/docs/how_to/tutorials/sg_execution_times.html b/docs/how_to/tutorials/sg_execution_times.html
index b67ab26a4ac..0ea6aab9e59 100644
--- a/docs/how_to/tutorials/sg_execution_times.html
+++ b/docs/how_to/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-how-to-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:15.296</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
+<p><strong>00:15.095</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,27 +319,27 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="optimize_llm.html#sphx-glr-how-to-tutorials-optimize-llm-py"><span class="std std-ref">Optimize Large Language Model</span></a> (<code class="docutils literal notranslate"><span class="pre">optimize_llm.py</span></code>)</p></td>
-<td><p>00:10.033</p></td>
+<td><p>00:10.057</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="import_model.html#sphx-glr-how-to-tutorials-import-model-py"><span class="std std-ref">Importing Models from ML Frameworks</span></a> (<code class="docutils literal notranslate"><span class="pre">import_model.py</span></code>)</p></td>
-<td><p>00:03.314</p></td>
+<td><p>00:03.313</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="e2e_opt_model.html#sphx-glr-how-to-tutorials-e2e-opt-model-py"><span class="std std-ref">End-to-End Optimize Model</span></a> (<code class="docutils literal notranslate"><span class="pre">e2e_opt_model.py</span></code>)</p></td>
-<td><p>00:00.795</p></td>
+<td><p>00:00.570</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="customize_opt.html#sphx-glr-how-to-tutorials-customize-opt-py"><span class="std std-ref">Customize Optimization</span></a> (<code class="docutils literal notranslate"><span class="pre">customize_opt.py</span></code>)</p></td>
-<td><p>00:00.532</p></td>
+<td><p>00:00.536</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="cross_compilation_and_rpc.html#sphx-glr-how-to-tutorials-cross-compilation-and-rpc-py"><span class="std std-ref">Cross Compilation and RPC</span></a> (<code class="docutils literal notranslate"><span class="pre">cross_compilation_and_rpc.py</span></code>)</p></td>
-<td><p>00:00.478</p></td>
+<td><p>00:00.475</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="bring_your_own_codegen.html#sphx-glr-how-to-tutorials-bring-your-own-codegen-py"><span class="std std-ref">Bring Your Own Codegen: NPU Backend Example</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_codegen.py</span></code>)</p></td>
-<td><p>00:00.139</p></td>
+<td><p>00:00.138</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="mix_python_and_tvm_with_pymodule.html#sphx-glr-how-to-tutorials-mix-python-and-tvm-with-pymodule-py"><span class="std std-ref">Mix Python/PyTorch with TVM Using BasePyModule</span></a> (<code class="docutils literal notranslate"><span class="pre">mix_python_and_tvm_with_pymodule.py</span></code>)</p></td>
diff --git a/docs/objects.inv b/docs/objects.inv
index 5e269b0f156..0064a262146 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/py-modindex.html b/docs/py-modindex.html
index 44a6d32f79c..f3c4f736771 100644
--- a/docs/py-modindex.html
+++ b/docs/py-modindex.html
@@ -628,11 +628,6 @@
        <td>&#160;&#160;&#160;
        <a href="reference/api/python/runtime/disco.html#module-tvm.runtime.disco"><code class="xref">tvm.runtime.disco</code></a></td><td>
        <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="reference/api/python/runtime/profiling.html#module-tvm.runtime.profiling"><code class="xref">tvm.runtime.profiling</code></a></td><td>
-       <em></em></td></tr>
      <tr class="cg-1">
        <td></td>
        <td>&#160;&#160;&#160;
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index cee5d0a1ac5..a05cd7464bb 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -365,48 +365,35 @@ $(function() {
 <tr id="row_0_5_1_2_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1memory_1_1MemoryManager.html" target="_self">MemoryManager</a></td><td class="desc"></td></tr>
 <tr id="row_0_5_1_3_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1memory_1_1StorageObj.html" target="_self">StorageObj</a></td><td class="desc">An object representing a storage allocation </td></tr>
 <tr id="row_0_5_1_4_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1memory_1_1Storage.html" target="_self">Storage</a></td><td class="desc">Reference to storage </td></tr>
-<tr id="row_0_5_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_2_" class="arrow" onclick="toggleFolder('0_5_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html" target="_self">profiling</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_2_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_self">DeviceWrapperNode</a></td><td class="desc">Wrapper for <code>Device</code> because <code>Device</code> is not passable across the ffi::Function interface </td></tr>
-<tr id="row_0_5_2_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html" target="_self">DeviceWrapper</a></td><td class="desc">Wrapper for <code>Device</code> </td></tr>
-<tr id="row_0_5_2_2_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_self">ReportNode</a></td><td class="desc">Data collected from a profiling run. Includes per-call metrics and per-device metrics </td></tr>
-<tr id="row_0_5_2_3_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html" target="_self">Report</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_2_4_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_self">MetricCollectorNode</a></td><td class="desc">Interface for user defined profiling metric collection </td></tr>
-<tr id="row_0_5_2_5_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html" target="_self">MetricCollector</a></td><td class="desc">Wrapper for <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" title="Interface for user defined profiling metric collection.">MetricCollectorNod [...]
-<tr id="row_0_5_2_6_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1CallFrame.html" target="_self">CallFrame</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_2_7_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html" target="_self">Profiler</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_2_8_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_self">DurationNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_2_9_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_self">PercentNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_2_10_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_self">CountNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_2_11_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_self">RatioNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_3_" class="arrow" onclick="toggleFolder('0_5_3_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1threading.html" target="_self">threading</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_3_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1threading_1_1ThreadGroup.html" target="_self">ThreadGroup</a></td><td class="desc">A platform-agnostic abstraction for managing a collection of thread pool threads </td></tr>
-<tr id="row_0_5_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_4_" class="arrow" onclick="toggleFolder('0_5_4_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1vm.html" target="_self">vm</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_4_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_5_4_0_" class="arrow" onclick="toggleFolder('0_5_4_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html" target="_self">Instruction</a></td><td class="desc">A single virtual machine instruction </td></tr>
-<tr id="row_0_5_4_0_0_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Instruction_1_1Arg.html" target="_self">Arg</a></td><td class="desc">The auxiliary data structure for instruction argument </td></tr>
-<tr id="row_0_5_4_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html" target="_self">VMFuncInfo</a></td><td class="desc">Information entry in executable function table </td></tr>
-<tr id="row_0_5_4_2_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html" target="_self">VMExecutable</a></td><td class="desc">The virtual machine executable emitted by the VM compiler </td></tr>
-<tr id="row_0_5_4_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_5_4_3_" class="arrow" onclick="toggleFolder('0_5_4_3_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata.html" target="_self">TensorCacheMetadata</a></td><td class="desc">Metadata for <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" title="Managed Tensor. T [...]
-<tr id="row_0_5_4_3_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_0_5_4_3_0_" class="arrow" onclick="toggleFolder('0_5_4_3_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord.html" target="_self">FileRecord</a></td><td class="desc">Each shard of <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" title="Manag [...]
-<tr id="row_0_5_4_3_0_0_" style="display:none;"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord_1_1ParamRecord.html" target="_self">ParamRecord</a></td><td class="desc">Metadata of each parameter </td></tr>
-<tr id="row_0_5_4_4_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMClosureObj.html" target="_self">VMClosureObj</a></td><td class="desc">An object representing a vm closure </td></tr>
-<tr id="row_0_5_4_5_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMClosure.html" target="_self">VMClosure</a></td><td class="desc">Reference to closure </td></tr>
-<tr id="row_0_5_4_6_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExtensionNode.html" target="_self">VMExtensionNode</a></td><td class="desc">Represent a VM extension. A VM extension allows the user to extend the VM with target specific functionalities. The VM holds the reference of the extensions to ensure the extensions have th [...]
-<tr id="row_0_5_4_7_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExtension.html" target="_self">VMExtension</a></td><td class="desc">Managed reference to VM extension </td></tr>
-<tr id="row_0_5_4_8_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html" target="_self">VirtualMachine</a></td><td class="desc">The virtual machine </td></tr>
-<tr id="row_0_5_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DataType.html" target="_self">DataType</a></td><td class="desc">Runtime primitive data type </td></tr>
-<tr id="row_0_5_6_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html" target="_self">DeviceAPI</a></td><td class="desc">TVM Runtime Device API, abstracts the device specific interface for memory management </td></tr>
-<tr id="row_0_5_7_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DiscoWorker.html" target="_self">DiscoWorker</a></td><td class="desc">A worker in Disco. It takes a channel to communication with the controler. The worker can be run in a separate thread or process as long as the channel supports bi-directional communication in-between </td></tr>
-<tr id="row_0_5_8_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ThreadLocalDiscoWorker.html" target="_self">ThreadLocalDiscoWorker</a></td><td class="desc">A threadlocal wrapper of <a class="el" href="classtvm_1_1runtime_1_1DiscoWorker.html" title="A worker in Disco. It takes a channel to communication with the controler. The worker can [...]
-<tr id="row_0_5_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DRefObj.html" target="_self">DRefObj</a></td><td class="desc">An object that exists on all workers </td></tr>
-<tr id="row_0_5_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DRef.html" target="_self">DRef</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1runtime_1_1DRefObj.html" title="An object that exists on all workers.">DRefObj</a> </td></tr>
-<tr id="row_0_5_11_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SessionObj.html" target="_self">SessionObj</a></td><td class="desc">A Disco interactive session. It allows users to interact with the Disco command queue with various ffi::Function calling convention </td></tr>
-<tr id="row_0_5_12_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Session.html" target="_self">Session</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1runtime_1_1SessionObj.html" title="A Disco interactive session. It allows users to interact with the Disco command queue with various ff...">SessionObj</a> </td></tr>
-<tr id="row_0_5_13_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DiscoChannel.html" target="_self">DiscoChannel</a></td><td class="desc">A bi-directional channel for controler-worker communication. This channel is primarily used to transfer control messages but not data </td></tr>
-<tr id="row_0_5_14_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1WorkerZeroData.html" target="_self">WorkerZeroData</a></td><td class="desc">A special communication channel between controler and worker-0, assuming they are always collocated in the same process </td></tr>
-<tr id="row_0_5_15_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1NVTXScopedRange.html" target="_self">NVTXScopedRange</a></td><td class="desc">A class to create a NVTX range. No-op if TVM is not built against NVTX </td></tr>
-<tr id="row_0_5_16_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TimerNode.html" target="_self">TimerNode</a></td><td class="desc">Base class for all implementations </td></tr>
+<tr id="row_0_5_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_2_" class="arrow" onclick="toggleFolder('0_5_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1threading.html" target="_self">threading</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_2_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1threading_1_1ThreadGroup.html" target="_self">ThreadGroup</a></td><td class="desc">A platform-agnostic abstraction for managing a collection of thread pool threads </td></tr>
+<tr id="row_0_5_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_5_3_" class="arrow" onclick="toggleFolder('0_5_3_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1vm.html" target="_self">vm</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_3_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_5_3_0_" class="arrow" onclick="toggleFolder('0_5_3_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html" target="_self">Instruction</a></td><td class="desc">A single virtual machine instruction </td></tr>
+<tr id="row_0_5_3_0_0_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Instruction_1_1Arg.html" target="_self">Arg</a></td><td class="desc">The auxiliary data structure for instruction argument </td></tr>
+<tr id="row_0_5_3_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html" target="_self">VMFuncInfo</a></td><td class="desc">Information entry in executable function table </td></tr>
+<tr id="row_0_5_3_2_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html" target="_self">VMExecutable</a></td><td class="desc">The virtual machine executable emitted by the VM compiler </td></tr>
+<tr id="row_0_5_3_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_5_3_3_" class="arrow" onclick="toggleFolder('0_5_3_3_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata.html" target="_self">TensorCacheMetadata</a></td><td class="desc">Metadata for <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" title="Managed Tensor. T [...]
+<tr id="row_0_5_3_3_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_0_5_3_3_0_" class="arrow" onclick="toggleFolder('0_5_3_3_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord.html" target="_self">FileRecord</a></td><td class="desc">Each shard of <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" title="Manag [...]
+<tr id="row_0_5_3_3_0_0_" style="display:none;"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord_1_1ParamRecord.html" target="_self">ParamRecord</a></td><td class="desc">Metadata of each parameter </td></tr>
+<tr id="row_0_5_3_4_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMClosureObj.html" target="_self">VMClosureObj</a></td><td class="desc">An object representing a vm closure </td></tr>
+<tr id="row_0_5_3_5_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMClosure.html" target="_self">VMClosure</a></td><td class="desc">Reference to closure </td></tr>
+<tr id="row_0_5_3_6_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExtensionNode.html" target="_self">VMExtensionNode</a></td><td class="desc">Represent a VM extension. A VM extension allows the user to extend the VM with target specific functionalities. The VM holds the reference of the extensions to ensure the extensions have th [...]
+<tr id="row_0_5_3_7_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExtension.html" target="_self">VMExtension</a></td><td class="desc">Managed reference to VM extension </td></tr>
+<tr id="row_0_5_3_8_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html" target="_self">VirtualMachine</a></td><td class="desc">The virtual machine </td></tr>
+<tr id="row_0_5_4_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DataType.html" target="_self">DataType</a></td><td class="desc">Runtime primitive data type </td></tr>
+<tr id="row_0_5_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html" target="_self">DeviceAPI</a></td><td class="desc">TVM Runtime Device API, abstracts the device specific interface for memory management </td></tr>
+<tr id="row_0_5_6_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DiscoWorker.html" target="_self">DiscoWorker</a></td><td class="desc">A worker in Disco. It takes a channel to communication with the controler. The worker can be run in a separate thread or process as long as the channel supports bi-directional communication in-between </td></tr>
+<tr id="row_0_5_7_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1ThreadLocalDiscoWorker.html" target="_self">ThreadLocalDiscoWorker</a></td><td class="desc">A threadlocal wrapper of <a class="el" href="classtvm_1_1runtime_1_1DiscoWorker.html" title="A worker in Disco. It takes a channel to communication with the controler. The worker can [...]
+<tr id="row_0_5_8_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DRefObj.html" target="_self">DRefObj</a></td><td class="desc">An object that exists on all workers </td></tr>
+<tr id="row_0_5_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DRef.html" target="_self">DRef</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1runtime_1_1DRefObj.html" title="An object that exists on all workers.">DRefObj</a> </td></tr>
+<tr id="row_0_5_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1SessionObj.html" target="_self">SessionObj</a></td><td class="desc">A Disco interactive session. It allows users to interact with the Disco command queue with various ffi::Function calling convention </td></tr>
+<tr id="row_0_5_11_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Session.html" target="_self">Session</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1runtime_1_1SessionObj.html" title="A Disco interactive session. It allows users to interact with the Disco command queue with various ff...">SessionObj</a> </td></tr>
+<tr id="row_0_5_12_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1DiscoChannel.html" target="_self">DiscoChannel</a></td><td class="desc">A bi-directional channel for controler-worker communication. This channel is primarily used to transfer control messages but not data </td></tr>
+<tr id="row_0_5_13_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1WorkerZeroData.html" target="_self">WorkerZeroData</a></td><td class="desc">A special communication channel between controler and worker-0, assuming they are always collocated in the same process </td></tr>
+<tr id="row_0_5_14_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1NVTXScopedRange.html" target="_self">NVTXScopedRange</a></td><td class="desc">A class to create a NVTX range. No-op if TVM is not built against NVTX </td></tr>
+<tr id="row_0_5_15_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Tensor.html" target="_self">Tensor</a></td><td class="desc">Managed <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" title="Managed Tensor. The array is backed by reference counted blocks.">Tensor</a>. The array is backed by reference counted blocks </td></tr>
+<tr id="row_0_5_16_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1TimerNode.html" target="_self">TimerNode</a></td><td class="desc">Base class for all timer implementations </td></tr>
 <tr id="row_0_5_17_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Timer.html" target="_self">Timer</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device.">Timer</a> for a specific device </td></tr>
-<tr id="row_0_5_18_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Tensor.html" target="_self">Tensor</a></td><td class="desc">Managed <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" title="Managed Tensor. The array is backed by reference counted blocks.">Tensor</a>. The array is backed by reference counted blocks </td></tr>
 <tr id="row_0_6_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_6_" class="arrow" onclick="toggleFolder('0_6_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1s__tir.html" target="_self">s_tir</a></td><td class="desc"></td></tr>
 <tr id="row_0_6_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_6_0_" class="arrow" onclick="toggleFolder('0_6_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1s__tir_1_1meta__schedule.html" target="_self">meta_schedule</a></td><td class="desc"></td></tr>
 <tr id="row_0_6_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ArgInfoNode.html" target="_self">ArgInfoNode</a></td><td class="desc">The argument information </td></tr>
diff --git a/docs/reference/api/doxygen/classes.html b/docs/reference/api/doxygen/classes.html
index 7f59c8dadea..070db657939 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -75,10 +75,10 @@ $(function() {
 <dd><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="name [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_C">C</a></dt>
-<dd><a class="el" href="classtvm_1_1tirx_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer [...]
+<dd><a class="el" href="classtvm_1_1tirx_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer [...]
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_D">D</a></dt>
-<dd><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1Database.html">Database</a> (<a class="el" href="namespacetvm_1_1s__tir_1_1meta__schedule.html">tvm::s_tir::meta_schedule</a>)</dd><dd><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html">DatabaseNode</a> (<a class="el" href="namespacetvm_1_1s__tir_1_1meta__schedule.html">tvm::s_tir::meta_schedule</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">DataflowBlock</a> (<a class=" [...]
+<dd><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1Database.html">Database</a> (<a class="el" href="namespacetvm_1_1s__tir_1_1meta__schedule.html">tvm::s_tir::meta_schedule</a>)</dd><dd><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html">DatabaseNode</a> (<a class="el" href="namespacetvm_1_1s__tir_1_1meta__schedule.html">tvm::s_tir::meta_schedule</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">DataflowBlock</a> (<a class=" [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_E">E</a></dt>
 <dd><a class="el" href="structtvm_1_1relax_1_1EinsumAttrs.html">EinsumAttrs</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="structtvm_1_1topi_1_1EinsumEquation.html">EinsumEquation</a> (<a class="el" href="namespacetvm_1_1topi.html">tvm::topi</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">ElseFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tirx.html">tvm::script::ir_bui [...]
@@ -99,7 +99,7 @@ $(function() {
 <dd><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDoc.html">LambdaDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> (<a class="el [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_M">M</a></dt>
-<dd><a class="el" href="classtvm_1_1tirx_1_1MatchBufferRegion.html">MatchBufferRegion</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1tirx_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1MatchCast.html">MatchCast</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="cl [...]
+<dd><a class="el" href="classtvm_1_1tirx_1_1MatchBufferRegion.html">MatchBufferRegion</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1tirx_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1MatchCast.html">MatchCast</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="cl [...]
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_N">N</a></dt>
 <dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html">Namer</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1details.html">tvm::script::ir_builder::details</a>)</dd><dd><a class="el" href="classtvm_1_1NameSupply.html">NameSupply</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1NameSupplyNode.html">NameSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classt [...]
@@ -108,13 +108,13 @@ $(function() {
 <dd><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfo.html">ObjectStructInfo</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html">ObjectStructInfoNode</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1ObjectType.html">ObjectType</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href [...]
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_P">P</a></dt>
-<dd><a class="el" href="classtvm_1_1relax_1_1PackedFuncType.html">PackedFuncType</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1PackedFuncTypeNode.html">PackedFuncTypeNode</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="structtvm_1_1relax_1_1PadAttrs.html">PadAttrs</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="structtvm [...]
+<dd><a class="el" href="classtvm_1_1relax_1_1PackedFuncType.html">PackedFuncType</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1PackedFuncTypeNode.html">PackedFuncTypeNode</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="structtvm_1_1relax_1_1PadAttrs.html">PadAttrs</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="structtvm [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_Q">Q</a></dt>
 <dd><a class="el" href="structtvm_1_1relax_1_1QuantizeAttrs.html">QuantizeAttrs</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd></dl>
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_R">R</a></dt>
-<dd><a class="el" href="classtvm_1_1tirx_1_1Ramp.html">Ramp</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1tirx_1_1RampNode.html">RampNode</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1Range.html">Range</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1RangeNode.html">RangeNode</a> (<a class="el" href="namespacetvm.html">tvm</ [...]
+<dd><a class="el" href="classtvm_1_1tirx_1_1Ramp.html">Ramp</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1tirx_1_1RampNode.html">RampNode</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1Range.html">Range</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1RangeNode.html">RangeNode</a> (<a class="el" href="namespacetvm.html">tvm</ [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_S">S</a></dt>
 <dd><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraint.html">SameShapeConstraint</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraintNode.html">SameShapeConstraintNode</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1tirx_1_1SBlock.html">SBlock</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" hre [...]
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Timer.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Timer.html
index 77ff0aabf7c..28838097a31 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Timer.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Timer.html
@@ -77,7 +77,7 @@ $(function() {
 <p><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device.">Timer</a> for a specific device.  
  <a href="classtvm_1_1runtime_1_1Timer.html#details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
+<p><code>#include &lt;<a class="el" href="timer_8h_source.html">timer.h</a>&gt;</code></p>
 <div class="dynheader">
 Inheritance diagram for tvm::runtime::Timer:</div>
 <div class="dyncontent">
@@ -104,8 +104,8 @@ Static Public Member Functions</h2></td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device.">Timer</a> for a specific device. </p>
-<p>This is a managed reference to a <a class="el" href="classtvm_1_1runtime_1_1TimerNode.html" title="Base class for all implementations.">TimerNode</a>.</p>
-<dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvm_1_1runtime_1_1TimerNode.html" title="Base class for all implementations.">TimerNode</a> </dd></dl>
+<p>This is a managed reference to a <a class="el" href="classtvm_1_1runtime_1_1TimerNode.html" title="Base class for all timer implementations.">TimerNode</a>.</p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvm_1_1runtime_1_1TimerNode.html" title="Base class for all timer implementations.">TimerNode</a> </dd></dl>
 </div><h2 class="groupheader">Member Function Documentation</h2>
 <a id="a94817dbeb4ad7e24bba0b9cef3d56929"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a94817dbeb4ad7e24bba0b9cef3d56929">&#9670;&nbsp;</a></span>Start()</h2>
@@ -147,7 +147,7 @@ Static Public Member Functions</h2></td></tr>
 <div class="line">... <span class="comment">// some more computation</span></div>
 <div class="line">int64_t nanosecs = t-&gt;SyncAndGetElapsedNanos() <span class="comment">// elapsed time in nanoseconds</span></div>
 <div class="ttc" id="aclasstvm_1_1runtime_1_1Timer_html_a94817dbeb4ad7e24bba0b9cef3d56929"><div class="ttname"><a href="classtvm_1_1runtime_1_1Timer.html#a94817dbeb4ad7e24bba0b9cef3d56929">tvm::runtime::Timer::Start</a></div><div class="ttdeci">static TVM_RUNTIME_DLL Timer Start(Device dev)</div><div class="ttdoc">Get a device specific timer.</div></div>
-</div><!-- fragment --><p>To add a new device-specific timer, register a new function "profiler.timer.my_device" (where <code>my_device</code> is the <code>DeviceName</code> of your device). This function should accept a <code>Device</code> and return a new <code><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device.">Timer</a></code> that has already been started.</p>
+</div><!-- fragment --><p>To add a new device-specific timer, register a new function "runtime.timer.my_device" (where <code>my_device</code> is the <code>DeviceName</code> of your device). This function should accept a <code>Device</code> and return a new <code><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device.">Timer</a></code> that has already been started.</p>
 <p>For example, this is how the CPU timer is implemented: </p><div class="fragment"><div class="line"><span class="keyword">class </span>CPUTimerNode : <span class="keyword">public</span> TimerNode {</div>
 <div class="line"> <span class="keyword">public</span>:</div>
 <div class="line">  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1runtime_1_1Timer.html#a94817dbeb4ad7e24bba0b9cef3d56929">Start</a>() { start_ = std::chrono::high_resolution_clock::now(); }</div>
@@ -166,7 +166,7 @@ Static Public Member Functions</h2></td></tr>
 <div class="line"> </div>
 <div class="line">TVM_FFI_STATIC_INIT_BLOCK() {</div>
 <div class="line">  <span class="keyword">namespace </span>refl = <a class="code" href="namespacetvm_1_1ffi_1_1reflection.html">tvm::ffi::reflection</a>;</div>
-<div class="line">  refl::GlobalDef().def(<span class="stringliteral">&quot;profiling.timer.cpu&quot;</span>, [](<a class="code" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a> dev) {</div>
+<div class="line">  refl::GlobalDef().def(<span class="stringliteral">&quot;runtime.timer.cpu&quot;</span>, [](<a class="code" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a> dev) {</div>
 <div class="line">    <span class="keywordflow">return</span> Timer(ffi::make_object&lt;CPUTimerNode&gt;());</div>
 <div class="line">  });</div>
 <div class="line">}</div>
@@ -210,7 +210,7 @@ Static Public Member Functions</h2></td></tr>
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
+<li>include/tvm/runtime/<a class="el" href="timer_8h_source.html">timer.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode.html
index 88dbdd4a584..fafac71f96a 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode.html
@@ -74,10 +74,10 @@ $(function() {
 </div><!--header-->
 <div class="contents">
 
-<p>Base class for all implementations.  
+<p>Base class for all timer implementations.  
  <a href="classtvm_1_1runtime_1_1TimerNode.html#details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
+<p><code>#include &lt;<a class="el" href="timer_8h_source.html">timer.h</a>&gt;</code></p>
 <div class="dynheader">
 Inheritance diagram for tvm::runtime::TimerNode:</div>
 <div class="dyncontent">
@@ -113,7 +113,7 @@ Static Public Attributes</h2></td></tr>
 <tr class="separator:aa98ace26d3c0a9efad827fd2f7cf4933"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Base class for all implementations. </p>
+<div class="textblock"><p>Base class for all timer implementations. </p>
 <p>New implementations of this interface should make sure that <code>Start</code> and <code>Stop</code> are as lightweight as possible. Expensive state synchronization should be done in <code>SyncAndGetElapsedNanos</code>. </p>
 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
 <a id="ad16fba1e2e166b90af3f374cad678244"></a>
@@ -286,7 +286,7 @@ Static Public Attributes</h2></td></tr>
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
+<li>include/tvm/runtime/<a class="el" href="timer_8h_source.html">timer.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode__coll__graph.svg
index 4be1e9681a0..1f9b42bf0c6 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode__coll__graph.svg
@@ -12,7 +12,7 @@
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
-<g id="a_node1"><a xlink:title="Base class for all implementations.">
+<g id="a_node1"><a xlink:title="Base class for all timer implementations.">
 <polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-112.5 164,-112.5 164,-0.5 0,-0.5"/>
 <text text-anchor="middle" x="82" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::TimerNode</text>
 <polyline fill="none" stroke="black" points="0,-93.5 164,-93.5 "/>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode__inherit__graph.svg
index 4be1e9681a0..1f9b42bf0c6 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1TimerNode__inherit__graph.svg
@@ -12,7 +12,7 @@
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
-<g id="a_node1"><a xlink:title="Base class for all implementations.">
+<g id="a_node1"><a xlink:title="Base class for all timer implementations.">
 <polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-112.5 164,-112.5 164,-0.5 0,-0.5"/>
 <text text-anchor="middle" x="82" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::TimerNode</text>
 <polyline fill="none" stroke="black" points="0,-93.5 164,-93.5 "/>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode-members.html
deleted file mode 100644
index 0721534c501..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode-members.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">CountNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::CountNode Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">tvm::runtime::profiling::CountNode</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html#ac3b94e98fc70b7583a1912123715f7a1">CountNode</a>(int64_t a)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">tvm::runtime::profiling::CountNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html#ae8e96a4732dfa4e7a8a53039c1fb6267">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(&quot;runtime.profiling.Count&quot;, CountNode, Object)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">tvm::runtime::profiling::CountNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html#ae235fc123c4f3040cb88427702e2fc04">value</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">tvm::runtime::profiling::CountNode</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode.html
deleted file mode 100644
index 80787985b6c..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::CountNode Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">CountNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1CountNode-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::CountNode Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::CountNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1CountNode__inherit__graph.svg" width="227" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::CountNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1CountNode__coll__graph.svg" width="227" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:ac3b94e98fc70b7583a1912123715f7a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html#ac3b94e98fc70b7583a1912123715f7a1">CountNode</a> (int64_t a)</td></tr>
-<tr class="separator:ac3b94e98fc70b7583a1912123715f7a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae8e96a4732dfa4e7a8a53039c1fb6267"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html#ae8e96a4732dfa4e7a8a53039c1fb6267">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a> (&quot;runtime.profiling.Count&quot;, CountNode, Object)</td></tr>
-<tr class="separator:ae8e96a4732dfa4e7a8a53039c1fb6267"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:ae235fc123c4f3040cb88427702e2fc04"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html#ae235fc123c4f3040cb88427702e2fc04">value</a></td></tr>
-<tr class="separator:ae235fc123c4f3040cb88427702e2fc04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="ac3b94e98fc70b7583a1912123715f7a1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac3b94e98fc70b7583a1912123715f7a1">&#9670;&nbsp;</a></span>CountNode()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::CountNode::CountNode </td>
-          <td>(</td>
-          <td class="paramtype">int64_t&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="ae8e96a4732dfa4e7a8a53039c1fb6267"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae8e96a4732dfa4e7a8a53039c1fb6267">&#9670;&nbsp;</a></span>TVM_FFI_DECLARE_OBJECT_INFO_FINAL()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::CountNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL </td>
-          <td>(</td>
-          <td class="paramtype">&quot;runtime.profiling.Count&quot;&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">CountNode</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Object&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a id="ae235fc123c4f3040cb88427702e2fc04"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae235fc123c4f3040cb88427702e2fc04">&#9670;&nbsp;</a></span>value</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t tvm::runtime::profiling::CountNode::value</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode__coll__graph.svg
deleted file mode 100644
index 20c83954edb..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode__coll__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::CountNode Pages: 1 -->
-<svg width="170pt" height="193pt"
- viewBox="0.00 0.00 170.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::CountNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 166,-189 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::CountNode</text>
-<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
-<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ value</text>
-<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CountNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-127.5 57,-184.5 105,-184.5 105,-127.5 57,-127.5"/>
-<text text-anchor="middle" x="81" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-165.5 105,-165.5 "/>
-<text text-anchor="middle" x="81" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-146.5 105,-146.5 "/>
-<text text-anchor="middle" x="81" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-117.21C81,-108.61 81,-99.39 81,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-117.34 81,-127.34 84.5,-117.34 77.5,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode__inherit__graph.svg
deleted file mode 100644
index 20c83954edb..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1CountNode__inherit__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::CountNode Pages: 1 -->
-<svg width="170pt" height="193pt"
- viewBox="0.00 0.00 170.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::CountNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 166,-189 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::CountNode</text>
-<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
-<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ value</text>
-<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CountNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-127.5 57,-184.5 105,-184.5 105,-127.5 57,-127.5"/>
-<text text-anchor="middle" x="81" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-165.5 105,-165.5 "/>
-<text text-anchor="middle" x="81" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-146.5 105,-146.5 "/>
-<text text-anchor="middle" x="81" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-117.21C81,-108.61 81,-99.39 81,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-117.34 81,-127.34 84.5,-117.34 77.5,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper-members.html
deleted file mode 100644
index 90efc478e30..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper-members.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::DeviceWrapper Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">tvm::runtime::profiling::DeviceWrapper</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html#adc1844f93c34bf5b21a67cb194564d8a">DeviceWrapper</a>(Device dev)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">tvm::runtime::profiling::DeviceWrapper</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html#a0b64893ecade4e15fb5039ca42fc933c">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(DeviceWrapper, ObjectRef, DeviceWrapperNode)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">tvm::runtime::profiling::DeviceWrapper</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html
deleted file mode 100644
index 1565ceace03..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::DeviceWrapper Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::DeviceWrapper Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Wrapper for <code>Device</code>.  
- <a href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html#details">More...</a></p>
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::DeviceWrapper:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper__inherit__graph.svg" width="223" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::DeviceWrapper:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper__coll__graph.svg" width="223" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:adc1844f93c34bf5b21a67cb194564d8a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html#adc1844f93c34bf5b21a67cb194564d8a">DeviceWrapper</a> (<a class="el" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a> dev)</td></tr>
-<tr class="separator:adc1844f93c34bf5b21a67cb194564d8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b64893ecade4e15fb5039ca42fc933c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html#a0b64893ecade4e15fb5039ca42fc933c">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a>, ObjectRef, <a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperN [...]
-<tr class="separator:a0b64893ecade4e15fb5039ca42fc933c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Wrapper for <code>Device</code>. </p>
-</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="adc1844f93c34bf5b21a67cb194564d8a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adc1844f93c34bf5b21a67cb194564d8a">&#9670;&nbsp;</a></span>DeviceWrapper()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::DeviceWrapper::DeviceWrapper </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a>&#160;</td>
-          <td class="paramname"><em>dev</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a0b64893ecade4e15fb5039ca42fc933c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0b64893ecade4e15fb5039ca42fc933c">&#9670;&nbsp;</a></span>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::DeviceWrapper::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ObjectRef&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html">DeviceWrapperNode</a>&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper__coll__graph.svg
deleted file mode 100644
index d93d4011ec1..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper__coll__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::DeviceWrapper Pages: 1 -->
-<svg width="167pt" height="193pt"
- viewBox="0.00 0.00 167.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::DeviceWrapper</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 163,-189 163,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Wrapper for Device.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 159,-90.5 159,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="79.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DeviceWrapper</text>
-<polyline fill="none" stroke="black" points="0,-60.5 159,-60.5 "/>
-<text text-anchor="middle" x="79.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-41.5 159,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeviceWrapper()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="47,-127.5 47,-184.5 112,-184.5 112,-127.5 47,-127.5"/>
-<text text-anchor="middle" x="79.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="47,-165.5 112,-165.5 "/>
-<text text-anchor="middle" x="79.5" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="47,-146.5 112,-146.5 "/>
-<text text-anchor="middle" x="79.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-117.21C79.5,-108.61 79.5,-99.39 79.5,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="76,-117.34 79.5,-127.34 83,-117.34 76,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper__inherit__graph.svg
deleted file mode 100644
index d93d4011ec1..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper__inherit__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::DeviceWrapper Pages: 1 -->
-<svg width="167pt" height="193pt"
- viewBox="0.00 0.00 167.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::DeviceWrapper</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 163,-189 163,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Wrapper for Device.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 159,-90.5 159,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="79.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DeviceWrapper</text>
-<polyline fill="none" stroke="black" points="0,-60.5 159,-60.5 "/>
-<text text-anchor="middle" x="79.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-41.5 159,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeviceWrapper()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="47,-127.5 47,-184.5 112,-184.5 112,-127.5 47,-127.5"/>
-<text text-anchor="middle" x="79.5" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="47,-165.5 112,-165.5 "/>
-<text text-anchor="middle" x="79.5" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="47,-146.5 112,-146.5 "/>
-<text text-anchor="middle" x="79.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-117.21C79.5,-108.61 79.5,-99.39 79.5,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="76,-117.34 79.5,-127.34 83,-117.34 76,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode-members.html
deleted file mode 100644
index c9ff32d3b24..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode-members.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::DurationNode Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">tvm::runtime::profiling::DurationNode</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html#a6049eb36d6d7878fbe1b00a15049f887">DurationNode</a>(double a)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">tvm::runtime::profiling::DurationNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html#a47098b9eed69aa6e20a943e0bca61866">microseconds</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">tvm::runtime::profiling::DurationNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html#a9edcb827156e83bd8b13ff7b577af5b3">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(&quot;runtime.profiling.Duration&quot;, DurationNode, Object)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">tvm::runtime::profiling::DurationNode</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode.html
deleted file mode 100644
index 0e24f3a82c4..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::DurationNode Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1DurationNode-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::DurationNode Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::DurationNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1DurationNode__inherit__graph.svg" width="227" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::DurationNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1DurationNode__coll__graph.svg" width="227" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a6049eb36d6d7878fbe1b00a15049f887"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html#a6049eb36d6d7878fbe1b00a15049f887">DurationNode</a> (double a)</td></tr>
-<tr class="separator:a6049eb36d6d7878fbe1b00a15049f887"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9edcb827156e83bd8b13ff7b577af5b3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html#a9edcb827156e83bd8b13ff7b577af5b3">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a> (&quot;runtime.profiling.Duration&quot;, DurationNode, Object)</td></tr>
-<tr class="separator:a9edcb827156e83bd8b13ff7b577af5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:a47098b9eed69aa6e20a943e0bca61866"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html#a47098b9eed69aa6e20a943e0bca61866">microseconds</a></td></tr>
-<tr class="separator:a47098b9eed69aa6e20a943e0bca61866"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a6049eb36d6d7878fbe1b00a15049f887"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6049eb36d6d7878fbe1b00a15049f887">&#9670;&nbsp;</a></span>DurationNode()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::DurationNode::DurationNode </td>
-          <td>(</td>
-          <td class="paramtype">double&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a9edcb827156e83bd8b13ff7b577af5b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9edcb827156e83bd8b13ff7b577af5b3">&#9670;&nbsp;</a></span>TVM_FFI_DECLARE_OBJECT_INFO_FINAL()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::DurationNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL </td>
-          <td>(</td>
-          <td class="paramtype">&quot;runtime.profiling.Duration&quot;&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Object&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a id="a47098b9eed69aa6e20a943e0bca61866"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a47098b9eed69aa6e20a943e0bca61866">&#9670;&nbsp;</a></span>microseconds</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double tvm::runtime::profiling::DurationNode::microseconds</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode__coll__graph.svg
deleted file mode 100644
index 489498745cd..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode__coll__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::DurationNode Pages: 1 -->
-<svg width="170pt" height="193pt"
- viewBox="0.00 0.00 170.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::DurationNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 166,-189 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DurationNode</text>
-<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
-<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ microseconds</text>
-<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DurationNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-127.5 57,-184.5 105,-184.5 105,-127.5 57,-127.5"/>
-<text text-anchor="middle" x="81" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-165.5 105,-165.5 "/>
-<text text-anchor="middle" x="81" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-146.5 105,-146.5 "/>
-<text text-anchor="middle" x="81" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-117.21C81,-108.61 81,-99.39 81,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-117.34 81,-127.34 84.5,-117.34 77.5,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode__inherit__graph.svg
deleted file mode 100644
index 489498745cd..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1DurationNode__inherit__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::DurationNode Pages: 1 -->
-<svg width="170pt" height="193pt"
- viewBox="0.00 0.00 170.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::DurationNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 166,-189 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DurationNode</text>
-<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
-<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ microseconds</text>
-<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DurationNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-127.5 57,-184.5 105,-184.5 105,-127.5 57,-127.5"/>
-<text text-anchor="middle" x="81" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-165.5 105,-165.5 "/>
-<text text-anchor="middle" x="81" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-146.5 105,-146.5 "/>
-<text text-anchor="middle" x="81" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-117.21C81,-108.61 81,-99.39 81,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-117.34 81,-127.34 84.5,-117.34 77.5,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector-members.html
deleted file mode 100644
index ca8fad517ab..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector-members.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::MetricCollector Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">tvm::runtime::profiling::MetricCollector</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html#a9d399eef24a5c3362b6dd87315d8bd92">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(MetricCollector, ObjectRef, MetricCollectorNode)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">tvm::runtime::profiling::MetricCollector</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html
deleted file mode 100644
index 1dad901f114..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::MetricCollector Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::MetricCollector Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Wrapper for <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" title="Interface for user defined profiling metric collection.">MetricCollectorNode</a></code>.  
- <a href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html#details">More...</a></p>
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::MetricCollector:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1MetricCollector__inherit__graph.svg" width="223" height="243"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::MetricCollector:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1MetricCollector__coll__graph.svg" width="223" height="243"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a9d399eef24a5c3362b6dd87315d8bd92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html#a9d399eef24a5c3362b6dd87315d8bd92">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a>, ObjectRef, <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCol [...]
-<tr class="separator:a9d399eef24a5c3362b6dd87315d8bd92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Wrapper for <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" title="Interface for user defined profiling metric collection.">MetricCollectorNode</a></code>. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
-<a id="a9d399eef24a5c3362b6dd87315d8bd92"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9d399eef24a5c3362b6dd87315d8bd92">&#9670;&nbsp;</a></span>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::MetricCollector::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ObjectRef&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">MetricCollectorNode</a>&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode-members.html
deleted file mode 100644
index ff1b8618750..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode-members.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">MetricCollectorNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::MetricCollectorNode Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">tvm::runtime::profiling::MetricCollectorNode</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a8984cf0202073ccec263b294433dcd96">_type_mutable</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">tvm::runtime::profiling::MetricCollectorNode</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#afce14d40f8d63cdf951623de44dd8b76">Init</a>(ffi::Array&lt; DeviceWrapper &gt; devs)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">tvm::runtime::profiling::MetricCollectorNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a44fadfb7b0f961a7fb2275e3b5dbcd88">Start</a>(Device dev)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">tvm::runtime::profiling::MetricCollectorNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#ad8c974cf42170d497f7d2d3543d96058">Stop</a>(ffi::ObjectRef obj)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">tvm::runtime::profiling::MetricCollectorNode</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a0a21a6d099f79cdcc99accd393f521fc">TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;runtime.profiling.MetricCollector&quot;, MetricCollectorNode, Object)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">tvm::runtime::profiling::MetricCollectorNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#aeb383df9354bf396426a17857a1bb84a">~MetricCollectorNode</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">tvm::runtime::profiling::MetricCollectorNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html
deleted file mode 100644
index ea1e4d1cc96..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html
+++ /dev/null
@@ -1,321 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::MetricCollectorNode Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">MetricCollectorNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::MetricCollectorNode Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Interface for user defined profiling metric collection.  
- <a href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#details">More...</a></p>
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::MetricCollectorNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode__inherit__graph.svg" width="227" height="302"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::MetricCollectorNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode__coll__graph.svg" width="227" height="302"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:afce14d40f8d63cdf951623de44dd8b76"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#afce14d40f8d63cdf951623de44dd8b76">Init</a> (ffi::Array&lt; <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a> &gt; devs)=0</td></tr>
-<tr class="memdesc:afce14d40f8d63cdf951623de44dd8b76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization call. Called before profiling has started. Any expensive precomputation should happen here.  <a href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#afce14d40f8d63cdf951623de44dd8b76">More...</a><br /></td></tr>
-<tr class="separator:afce14d40f8d63cdf951623de44dd8b76"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a44fadfb7b0f961a7fb2275e3b5dbcd88"><td class="memItemLeft" align="right" valign="top">virtual ObjectRef&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a44fadfb7b0f961a7fb2275e3b5dbcd88">Start</a> (<a class="el" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a> dev)=0</td></tr>
-<tr class="memdesc:a44fadfb7b0f961a7fb2275e3b5dbcd88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start colling metrics for a function call.  <a href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a44fadfb7b0f961a7fb2275e3b5dbcd88">More...</a><br /></td></tr>
-<tr class="separator:a44fadfb7b0f961a7fb2275e3b5dbcd88"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8c974cf42170d497f7d2d3543d96058"><td class="memItemLeft" align="right" valign="top">virtual ffi::Map&lt; ffi::String, ffi::Any &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#ad8c974cf42170d497f7d2d3543d96058">Stop</a> (ffi::ObjectRef obj)=0</td></tr>
-<tr class="memdesc:ad8c974cf42170d497f7d2d3543d96058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop collecting metrics.  <a href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#ad8c974cf42170d497f7d2d3543d96058">More...</a><br /></td></tr>
-<tr class="separator:ad8c974cf42170d497f7d2d3543d96058"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeb383df9354bf396426a17857a1bb84a"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#aeb383df9354bf396426a17857a1bb84a">~MetricCollectorNode</a> ()</td></tr>
-<tr class="separator:aeb383df9354bf396426a17857a1bb84a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0a21a6d099f79cdcc99accd393f521fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a0a21a6d099f79cdcc99accd393f521fc">TVM_FFI_DECLARE_OBJECT_INFO</a> (&quot;runtime.profiling.MetricCollector&quot;, MetricCollectorNode, Object)</td></tr>
-<tr class="separator:a0a21a6d099f79cdcc99accd393f521fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
-Static Public Attributes</h2></td></tr>
-<tr class="memitem:a8984cf0202073ccec263b294433dcd96"><td class="memItemLeft" align="right" valign="top">static constexpr const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a8984cf0202073ccec263b294433dcd96">_type_mutable</a> = true</td></tr>
-<tr class="separator:a8984cf0202073ccec263b294433dcd96"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Interface for user defined profiling metric collection. </p>
-<p>Users can register their own collector by registering a packed function with the name "runtime.profiling.metrics.my_collector_name" where "my_collector_name" is the name of their collector. This function should take an Array of Device as input which contains the devices the collector will be run on.</p>
-<p><code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" title="Interface for user defined profiling metric collection.">MetricCollectorNode</a></code>s will be called in the following fashion. </p><div class="fragment"><div class="line">MetricCollector mc;</div>
-<div class="line"><span class="keywordflow">for</span> (<span class="keyword">auto</span> op : model) {</div>
-<div class="line">  <span class="keyword">auto</span> o = mc.Start();</div>
-<div class="line">  op();</div>
-<div class="line">  <span class="keyword">auto</span> metrics = mc.Stop(o); <span class="comment">// metrics are added the profiling report</span></div>
-<div class="line">}</div>
-</div><!-- fragment --> </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="aeb383df9354bf396426a17857a1bb84a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeb383df9354bf396426a17857a1bb84a">&#9670;&nbsp;</a></span>~MetricCollectorNode()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual tvm::runtime::profiling::MetricCollectorNode::~MetricCollectorNode </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="afce14d40f8d63cdf951623de44dd8b76"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afce14d40f8d63cdf951623de44dd8b76">&#9670;&nbsp;</a></span>Init()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void tvm::runtime::profiling::MetricCollectorNode::Init </td>
-          <td>(</td>
-          <td class="paramtype">ffi::Array&lt; <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a> &gt;&#160;</td>
-          <td class="paramname"><em>devs</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Initialization call. Called before profiling has started. Any expensive precomputation should happen here. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">devs</td><td>The list of devices this collector will be run on. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a44fadfb7b0f961a7fb2275e3b5dbcd88"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a44fadfb7b0f961a7fb2275e3b5dbcd88">&#9670;&nbsp;</a></span>Start()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual ObjectRef tvm::runtime::profiling::MetricCollectorNode::Start </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a>&#160;</td>
-          <td class="paramname"><em>dev</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Start colling metrics for a function call. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">dev</td><td>The device the call will be run on. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An object used to maintain state of the metric collection. This object will be passed to the corresponding <code>Stop</code> call. If the device is not supported, this function will return a nullptr ObjectRef. </dd></dl>
-
-</div>
-</div>
-<a id="ad8c974cf42170d497f7d2d3543d96058"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad8c974cf42170d497f7d2d3543d96058">&#9670;&nbsp;</a></span>Stop()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual ffi::Map&lt;ffi::String, ffi::Any&gt; tvm::runtime::profiling::MetricCollectorNode::Stop </td>
-          <td>(</td>
-          <td class="paramtype">ffi::ObjectRef&#160;</td>
-          <td class="paramname"><em>obj</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Stop collecting metrics. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">obj</td><td>The object created by the corresponding <code>Start</code> call. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A set of metric names and the associated values. Values must be one of <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a>, <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">PercentNode</a>, <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">CountNode</a>, or String. </dd></dl>
-
-</div>
-</div>
-<a id="a0a21a6d099f79cdcc99accd393f521fc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0a21a6d099f79cdcc99accd393f521fc">&#9670;&nbsp;</a></span>TVM_FFI_DECLARE_OBJECT_INFO()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::MetricCollectorNode::TVM_FFI_DECLARE_OBJECT_INFO </td>
-          <td>(</td>
-          <td class="paramtype">&quot;runtime.profiling.MetricCollector&quot;&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">MetricCollectorNode</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Object&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a id="a8984cf0202073ccec263b294433dcd96"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8984cf0202073ccec263b294433dcd96">&#9670;&nbsp;</a></span>_type_mutable</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">constexpr const bool tvm::runtime::profiling::MetricCollectorNode::_type_mutable = true</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode__coll__graph.svg
deleted file mode 100644
index bf05579d431..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode__coll__graph.svg
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::MetricCollectorNode Pages: 1 -->
-<svg width="170pt" height="226pt"
- viewBox="0.00 0.00 170.00 226.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 222)">
-<title>tvm::runtime::profiling::MetricCollectorNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-222 166,-222 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Interface for user defined profiling metric collection.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-123.5 162,-123.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MetricCollectorNode</text>
-<polyline fill="none" stroke="black" points="0,-93.5 162,-93.5 "/>
-<text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_mutable</text>
-<polyline fill="none" stroke="black" points="0,-74.5 162,-74.5 "/>
-<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~MetricCollectorNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-160.5 57,-217.5 105,-217.5 105,-160.5 57,-160.5"/>
-<text text-anchor="middle" x="81" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-198.5 105,-198.5 "/>
-<text text-anchor="middle" x="81" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-179.5 105,-179.5 "/>
-<text text-anchor="middle" x="81" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-150.1C81,-141.74 81,-132.68 81,-123.67"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-150.26 81,-160.26 84.5,-150.26 77.5,-150.26"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode__inherit__graph.svg
deleted file mode 100644
index bf05579d431..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode__inherit__graph.svg
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::MetricCollectorNode Pages: 1 -->
-<svg width="170pt" height="226pt"
- viewBox="0.00 0.00 170.00 226.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 222)">
-<title>tvm::runtime::profiling::MetricCollectorNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-222 166,-222 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Interface for user defined profiling metric collection.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-123.5 162,-123.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MetricCollectorNode</text>
-<polyline fill="none" stroke="black" points="0,-93.5 162,-93.5 "/>
-<text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_mutable</text>
-<polyline fill="none" stroke="black" points="0,-74.5 162,-74.5 "/>
-<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~MetricCollectorNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-160.5 57,-217.5 105,-217.5 105,-160.5 57,-160.5"/>
-<text text-anchor="middle" x="81" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-198.5 105,-198.5 "/>
-<text text-anchor="middle" x="81" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-179.5 105,-179.5 "/>
-<text text-anchor="middle" x="81" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-150.1C81,-141.74 81,-132.68 81,-123.67"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-150.26 81,-160.26 84.5,-150.26 77.5,-150.26"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector__coll__graph.svg
deleted file mode 100644
index 1ef3d2d1b33..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector__coll__graph.svg
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::MetricCollector Pages: 1 -->
-<svg width="167pt" height="182pt"
- viewBox="0.00 0.00 167.00 182.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 178)">
-<title>tvm::runtime::profiling::MetricCollector</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-178 163,-178 163,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Wrapper for MetricCollectorNode.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-79.5 159,-79.5 159,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="79.5" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MetricCollector</text>
-<polyline fill="none" stroke="black" points="0,-49.5 159,-49.5 "/>
-<text text-anchor="middle" x="79.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-30.5 159,-30.5 "/>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="47,-116.5 47,-173.5 112,-173.5 112,-116.5 47,-116.5"/>
-<text text-anchor="middle" x="79.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="47,-154.5 112,-154.5 "/>
-<text text-anchor="middle" x="79.5" y="-142.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="47,-135.5 112,-135.5 "/>
-<text text-anchor="middle" x="79.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-106.16C79.5,-97.47 79.5,-88.23 79.5,-79.52"/>
-<polygon fill="none" stroke="midnightblue" points="76,-106.4 79.5,-116.4 83,-106.4 76,-106.4"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector__inherit__graph.svg
deleted file mode 100644
index 1ef3d2d1b33..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1MetricCollector__inherit__graph.svg
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::MetricCollector Pages: 1 -->
-<svg width="167pt" height="182pt"
- viewBox="0.00 0.00 167.00 182.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 178)">
-<title>tvm::runtime::profiling::MetricCollector</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-178 163,-178 163,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Wrapper for MetricCollectorNode.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-79.5 159,-79.5 159,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="79.5" y="-56.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MetricCollector</text>
-<polyline fill="none" stroke="black" points="0,-49.5 159,-49.5 "/>
-<text text-anchor="middle" x="79.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-30.5 159,-30.5 "/>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="47,-116.5 47,-173.5 112,-173.5 112,-116.5 47,-116.5"/>
-<text text-anchor="middle" x="79.5" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="47,-154.5 112,-154.5 "/>
-<text text-anchor="middle" x="79.5" y="-142.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="47,-135.5 112,-135.5 "/>
-<text text-anchor="middle" x="79.5" y="-123.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-106.16C79.5,-97.47 79.5,-88.23 79.5,-79.52"/>
-<polygon fill="none" stroke="midnightblue" points="76,-106.4 79.5,-116.4 83,-106.4 76,-106.4"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode-members.html
deleted file mode 100644
index 98582a603da..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode-members.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">PercentNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::PercentNode Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">tvm::runtime::profiling::PercentNode</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html#a6852f14d052d8b23ad4058d149ec2a46">percent</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">tvm::runtime::profiling::PercentNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html#a45d51732fbde990710ac13c294225e39">PercentNode</a>(double a)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">tvm::runtime::profiling::PercentNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html#a6aafc8922efc6ebe020e6db5f8076ab1">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(&quot;runtime.profiling.Percent&quot;, PercentNode, Object)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">tvm::runtime::profiling::PercentNode</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode.html
deleted file mode 100644
index 5480225a03d..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::PercentNode Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">PercentNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1PercentNode-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::PercentNode Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::PercentNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1PercentNode__inherit__graph.svg" width="227" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::PercentNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1PercentNode__coll__graph.svg" width="227" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a45d51732fbde990710ac13c294225e39"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html#a45d51732fbde990710ac13c294225e39">PercentNode</a> (double a)</td></tr>
-<tr class="separator:a45d51732fbde990710ac13c294225e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6aafc8922efc6ebe020e6db5f8076ab1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html#a6aafc8922efc6ebe020e6db5f8076ab1">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a> (&quot;runtime.profiling.Percent&quot;, PercentNode, Object)</td></tr>
-<tr class="separator:a6aafc8922efc6ebe020e6db5f8076ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:a6852f14d052d8b23ad4058d149ec2a46"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html#a6852f14d052d8b23ad4058d149ec2a46">percent</a></td></tr>
-<tr class="separator:a6852f14d052d8b23ad4058d149ec2a46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a45d51732fbde990710ac13c294225e39"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a45d51732fbde990710ac13c294225e39">&#9670;&nbsp;</a></span>PercentNode()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::PercentNode::PercentNode </td>
-          <td>(</td>
-          <td class="paramtype">double&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a6aafc8922efc6ebe020e6db5f8076ab1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6aafc8922efc6ebe020e6db5f8076ab1">&#9670;&nbsp;</a></span>TVM_FFI_DECLARE_OBJECT_INFO_FINAL()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::PercentNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL </td>
-          <td>(</td>
-          <td class="paramtype">&quot;runtime.profiling.Percent&quot;&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">PercentNode</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Object&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a id="a6852f14d052d8b23ad4058d149ec2a46"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6852f14d052d8b23ad4058d149ec2a46">&#9670;&nbsp;</a></span>percent</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double tvm::runtime::profiling::PercentNode::percent</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode__coll__graph.svg
deleted file mode 100644
index 1c98656c474..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode__coll__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::PercentNode Pages: 1 -->
-<svg width="170pt" height="193pt"
- viewBox="0.00 0.00 170.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::PercentNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 166,-189 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PercentNode</text>
-<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
-<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ percent</text>
-<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PercentNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-127.5 57,-184.5 105,-184.5 105,-127.5 57,-127.5"/>
-<text text-anchor="middle" x="81" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-165.5 105,-165.5 "/>
-<text text-anchor="middle" x="81" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-146.5 105,-146.5 "/>
-<text text-anchor="middle" x="81" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-117.21C81,-108.61 81,-99.39 81,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-117.34 81,-127.34 84.5,-117.34 77.5,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode__inherit__graph.svg
deleted file mode 100644
index 1c98656c474..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1PercentNode__inherit__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::PercentNode Pages: 1 -->
-<svg width="170pt" height="193pt"
- viewBox="0.00 0.00 170.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::PercentNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 166,-189 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PercentNode</text>
-<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
-<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ percent</text>
-<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PercentNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-127.5 57,-184.5 105,-184.5 105,-127.5 57,-127.5"/>
-<text text-anchor="middle" x="81" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-165.5 105,-165.5 "/>
-<text text-anchor="middle" x="81" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-146.5 105,-146.5 "/>
-<text text-anchor="middle" x="81" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-117.21C81,-108.61 81,-99.39 81,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-117.34 81,-127.34 84.5,-117.34 77.5,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler-members.html
deleted file mode 100644
index 633d2735e91..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler-members.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">Profiler</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::Profiler Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">tvm::runtime::profiling::Profiler</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#a0ac0f47c9463087055c6578cd7f37016">IsRunning</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">tvm::runtime::profiling::Profiler</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#a4a881b7500e4efb9c665e23600063b3d">Profiler</a>(std::vector&lt; Device &gt; devs, std::vector&lt; MetricCollector &gt; metric_collectors, std::unordered_map&lt; ffi::String, ffi::Any &gt; configuration={})</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">tvm::runtime::profiling::Profiler</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#ada7becdefd8228af76207606a2a36c55">Report</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">tvm::runtime::profiling::Profiler</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aee5452075c8e022b8aaa6fb365f68e14">Start</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">tvm::runtime::profiling::Profiler</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#ac662ecab74a99c1d5a48b303668fa6c0">StartCall</a>(ffi::String name, Device dev, std::unordered_map&lt; std::string, ffi::Any &gt; extra_metrics={})</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">tvm::runtime::profiling::Profiler</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aa2000d8cd1970b5d29139ab1831394f0">Stop</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">tvm::runtime::profiling::Profiler</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aa6efcf25dab74db33fe05a7feee3f0c2">StopCall</a>(std::unordered_map&lt; std::string, ffi::Any &gt; extra_metrics={})</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">tvm::runtime::profiling::Profiler</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler.html
deleted file mode 100644
index 0b1eaa299c2..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler.html
+++ /dev/null
@@ -1,346 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::Profiler Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html">Profiler</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1Profiler-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::Profiler Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::Profiler:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1Profiler__coll__graph.svg" width="179" height="191"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a4a881b7500e4efb9c665e23600063b3d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#a4a881b7500e4efb9c665e23600063b3d">Profiler</a> (std::vector&lt; <a class="el" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a> &gt; devs, std::vector&lt; <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricColle [...]
-<tr class="separator:a4a881b7500e4efb9c665e23600063b3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee5452075c8e022b8aaa6fb365f68e14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aee5452075c8e022b8aaa6fb365f68e14">Start</a> ()</td></tr>
-<tr class="memdesc:aee5452075c8e022b8aaa6fb365f68e14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the profiler.  <a href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aee5452075c8e022b8aaa6fb365f68e14">More...</a><br /></td></tr>
-<tr class="separator:aee5452075c8e022b8aaa6fb365f68e14"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa2000d8cd1970b5d29139ab1831394f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aa2000d8cd1970b5d29139ab1831394f0">Stop</a> ()</td></tr>
-<tr class="memdesc:aa2000d8cd1970b5d29139ab1831394f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the profiler.  <a href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aa2000d8cd1970b5d29139ab1831394f0">More...</a><br /></td></tr>
-<tr class="separator:aa2000d8cd1970b5d29139ab1831394f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac662ecab74a99c1d5a48b303668fa6c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#ac662ecab74a99c1d5a48b303668fa6c0">StartCall</a> (ffi::String name, <a class="el" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a> dev, std::unordered_map&lt; std::string, ffi::Any &gt; extra_metrics={})</td></tr>
-<tr class="memdesc:ac662ecab74a99c1d5a48b303668fa6c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a function call.  <a href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#ac662ecab74a99c1d5a48b303668fa6c0">More...</a><br /></td></tr>
-<tr class="separator:ac662ecab74a99c1d5a48b303668fa6c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa6efcf25dab74db33fe05a7feee3f0c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aa6efcf25dab74db33fe05a7feee3f0c2">StopCall</a> (std::unordered_map&lt; std::string, ffi::Any &gt; extra_metrics={})</td></tr>
-<tr class="memdesc:aa6efcf25dab74db33fe05a7feee3f0c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the last <code>StartCall</code>.  <a href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#aa6efcf25dab74db33fe05a7feee3f0c2">More...</a><br /></td></tr>
-<tr class="separator:aa6efcf25dab74db33fe05a7feee3f0c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada7becdefd8228af76207606a2a36c55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">profiling::Report</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#ada7becdefd8228af76207606a2a36c55">Report</a> ()</td></tr>
-<tr class="memdesc:ada7becdefd8228af76207606a2a36c55"><td class="mdescLeft">&#160;</td><td class="mdescRight">A report of total runtime between <code>Start</code> and <code>Stop</code> as well as individual statistics for each <code>StartCall</code>-<code>StopCall</code> pair.  <a href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#ada7becdefd8228af76207606a2a36c55">More...</a><br /></td></tr>
-<tr class="separator:ada7becdefd8228af76207606a2a36c55"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0ac0f47c9463087055c6578cd7f37016"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#a0ac0f47c9463087055c6578cd7f37016">IsRunning</a> () const</td></tr>
-<tr class="memdesc:a0ac0f47c9463087055c6578cd7f37016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the profiler is currently running.  <a href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#a0ac0f47c9463087055c6578cd7f37016">More...</a><br /></td></tr>
-<tr class="separator:a0ac0f47c9463087055c6578cd7f37016"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Runtime profiler for function and/or operator calls. Used in the graph runtime and VM to provide profiling information for all operators.</p>
-<p>Example usage: </p><div class="fragment"><div class="line"><a class="code" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a> cpu, gpu;</div>
-<div class="line"><a class="code" href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#a4a881b7500e4efb9c665e23600063b3d">Profiler</a> prof({cpu, gpu});</div>
-<div class="line">my_gpu_kernel(); <span class="comment">// do a warmup iteration</span></div>
-<div class="line">prof.Start();</div>
-<div class="line">prof.StartCall(<span class="stringliteral">&quot;my_gpu_kernel&quot;</span>, gpu);</div>
-<div class="line">my_gpu_kernel();</div>
-<div class="line">prof.StopCall();</div>
-<div class="line">prof.StartCall(<span class="stringliteral">&quot;my_cpu_function&quot;</span>, cpu);</div>
-<div class="line">my_cpu_function();</div>
-<div class="line">prof.StopCall();</div>
-<div class="line">prof.Stop();</div>
-<div class="line">std::cout &lt;&lt; prof.Report &lt;&lt; std::endl; <span class="comment">// print profiling report</span></div>
-<div class="ttc" id="aclasstvm_1_1runtime_1_1profiling_1_1Profiler_html_a4a881b7500e4efb9c665e23600063b3d"><div class="ttname"><a href="classtvm_1_1runtime_1_1profiling_1_1Profiler.html#a4a881b7500e4efb9c665e23600063b3d">tvm::runtime::profiling::Profiler::Profiler</a></div><div class="ttdeci">Profiler(std::vector&lt; Device &gt; devs, std::vector&lt; MetricCollector &gt; metric_collectors, std::unordered_map&lt; ffi::String, ffi::Any &gt; configuration={})</div></div>
-<div class="ttc" id="anamespacetvm_html_a7c2095aed90b2129ba631b90103313a2"><div class="ttname"><a href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">tvm::Device</a></div><div class="ttdeci">DLDevice Device</div><div class="ttdef"><b>Definition:</b> device_api.h:43</div></div>
-</div><!-- fragment --> </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a4a881b7500e4efb9c665e23600063b3d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4a881b7500e4efb9c665e23600063b3d">&#9670;&nbsp;</a></span>Profiler()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::Profiler::Profiler </td>
-          <td>(</td>
-          <td class="paramtype">std::vector&lt; <a class="el" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a> &gt;&#160;</td>
-          <td class="paramname"><em>devs</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">std::vector&lt; <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a> &gt;&#160;</td>
-          <td class="paramname"><em>metric_collectors</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">std::unordered_map&lt; ffi::String, ffi::Any &gt;&#160;</td>
-          <td class="paramname"><em>configuration</em> = <code>{}</code>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Constructor.</p>
-<p>The profiler should be constructed before you do any warmup iterations.</p>
-<dl class="section note"><dt>Note</dt><dd>Calling this constructor will reset the TVM threadpool. It is necessary in order to install thread handlers required by certain collectors.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">devs</td><td>The list of devices the profiler will be running on. Should include all devices used by profiled operators. </td></tr>
-    <tr><td class="paramname">metric_collectors</td><td>Additional <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html" title="Wrapper for MetricCollectorNode.">MetricCollector</a></code>s to use with this profiler. </td></tr>
-    <tr><td class="paramname">configuration</td><td>Additional configuration data to add to the outputted profiling report. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a0ac0f47c9463087055c6578cd7f37016"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0ac0f47c9463087055c6578cd7f37016">&#9670;&nbsp;</a></span>IsRunning()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tvm::runtime::profiling::Profiler::IsRunning </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Check if the profiler is currently running. </p>
-<dl class="section return"><dt>Returns</dt><dd>Whether or not the profiler is running. </dd></dl>
-
-</div>
-</div>
-<a id="ada7becdefd8228af76207606a2a36c55"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ada7becdefd8228af76207606a2a36c55">&#9670;&nbsp;</a></span>Report()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">profiling::Report</a> tvm::runtime::profiling::Profiler::Report </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>A report of total runtime between <code>Start</code> and <code>Stop</code> as well as individual statistics for each <code>StartCall</code>-<code>StopCall</code> pair. </p>
-<dl class="section return"><dt>Returns</dt><dd>A <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a></code> that can either be formatted as CSV (with <code>.AsCSV</code>) or as a human readable table (with <code>.AsTable</code>). </dd></dl>
-
-</div>
-</div>
-<a id="aee5452075c8e022b8aaa6fb365f68e14"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee5452075c8e022b8aaa6fb365f68e14">&#9670;&nbsp;</a></span>Start()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tvm::runtime::profiling::Profiler::Start </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Start the profiler. </p>
-<p>This function should only be called once per object. </p>
-
-</div>
-</div>
-<a id="ac662ecab74a99c1d5a48b303668fa6c0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac662ecab74a99c1d5a48b303668fa6c0">&#9670;&nbsp;</a></span>StartCall()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tvm::runtime::profiling::Profiler::StartCall </td>
-          <td>(</td>
-          <td class="paramtype">ffi::String&#160;</td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">Device</a>&#160;</td>
-          <td class="paramname"><em>dev</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">std::unordered_map&lt; std::string, ffi::Any &gt;&#160;</td>
-          <td class="paramname"><em>extra_metrics</em> = <code>{}</code>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Start a function call. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">name</td><td>The name of the function being called. </td></tr>
-    <tr><td class="paramname">dev</td><td>The device on which the function is running. </td></tr>
-    <tr><td class="paramname">extra_metrics</td><td>Optional additional profiling information to add to the frame (input sizes, allocations).</td></tr>
-  </table>
-  </dd>
-</dl>
-<p><code>StartCall</code> may be nested, but each <code>StartCall</code> needs a matching <code>StopCall</code>. Function calls are stopped in LIFO order, so calls to <code>StartCall</code> and <code>StopCall</code> must be nested properly. </p>
-
-</div>
-</div>
-<a id="aa2000d8cd1970b5d29139ab1831394f0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa2000d8cd1970b5d29139ab1831394f0">&#9670;&nbsp;</a></span>Stop()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tvm::runtime::profiling::Profiler::Stop </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Stop the profiler. </p>
-<p>This function should only be called once per object after start has been called. </p>
-
-</div>
-</div>
-<a id="aa6efcf25dab74db33fe05a7feee3f0c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa6efcf25dab74db33fe05a7feee3f0c2">&#9670;&nbsp;</a></span>StopCall()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tvm::runtime::profiling::Profiler::StopCall </td>
-          <td>(</td>
-          <td class="paramtype">std::unordered_map&lt; std::string, ffi::Any &gt;&#160;</td>
-          <td class="paramname"><em>extra_metrics</em> = <code>{}</code></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Stop the last <code>StartCall</code>. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">extra_metrics</td><td>Optional additional profiling information to add to the frame (input sizes, allocations). </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler__coll__graph.svg
deleted file mode 100644
index 6202d31b2c8..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Profiler__coll__graph.svg
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::Profiler Pages: 1 -->
-<svg width="134pt" height="143pt"
- viewBox="0.00 0.00 134.00 143.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 139)">
-<title>tvm::runtime::profiling::Profiler</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-139 130,-139 130,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-134.5 126,-134.5 126,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="63" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Profiler</text>
-<polyline fill="none" stroke="black" points="0,-104.5 126,-104.5 "/>
-<text text-anchor="middle" x="63" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-85.5 126,-85.5 "/>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Profiler()</text>
-<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Start()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stop()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StartCall()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StopCall()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Report()</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsRunning()</text>
-</a>
-</g>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode-members.html
deleted file mode 100644
index c4724049a0f..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode-members.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html">RatioNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::RatioNode Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html">tvm::runtime::profiling::RatioNode</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html#ab7a6874e67a1b663463f59ba3ede162c">ratio</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html">tvm::runtime::profiling::RatioNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html#a8808b20c12329610043b3017d6118ad7">RatioNode</a>(double a)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html">tvm::runtime::profiling::RatioNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html#aae087c0ed0ad2d21bf723595ed90fc6b">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(&quot;runtime.profiling.Ratio&quot;, RatioNode, Object)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html">tvm::runtime::profiling::RatioNode</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode.html
deleted file mode 100644
index 01b76f71e2d..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::RatioNode Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html">RatioNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1RatioNode-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::RatioNode Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::RatioNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1RatioNode__inherit__graph.svg" width="227" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::RatioNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1RatioNode__coll__graph.svg" width="227" height="258"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a8808b20c12329610043b3017d6118ad7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html#a8808b20c12329610043b3017d6118ad7">RatioNode</a> (double a)</td></tr>
-<tr class="separator:a8808b20c12329610043b3017d6118ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aae087c0ed0ad2d21bf723595ed90fc6b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html#aae087c0ed0ad2d21bf723595ed90fc6b">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a> (&quot;runtime.profiling.Ratio&quot;, RatioNode, Object)</td></tr>
-<tr class="separator:aae087c0ed0ad2d21bf723595ed90fc6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:ab7a6874e67a1b663463f59ba3ede162c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html#ab7a6874e67a1b663463f59ba3ede162c">ratio</a></td></tr>
-<tr class="separator:ab7a6874e67a1b663463f59ba3ede162c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a8808b20c12329610043b3017d6118ad7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8808b20c12329610043b3017d6118ad7">&#9670;&nbsp;</a></span>RatioNode()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::RatioNode::RatioNode </td>
-          <td>(</td>
-          <td class="paramtype">double&#160;</td>
-          <td class="paramname"><em>a</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="aae087c0ed0ad2d21bf723595ed90fc6b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aae087c0ed0ad2d21bf723595ed90fc6b">&#9670;&nbsp;</a></span>TVM_FFI_DECLARE_OBJECT_INFO_FINAL()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::RatioNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL </td>
-          <td>(</td>
-          <td class="paramtype">&quot;runtime.profiling.Ratio&quot;&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html">RatioNode</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Object&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a id="ab7a6874e67a1b663463f59ba3ede162c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab7a6874e67a1b663463f59ba3ede162c">&#9670;&nbsp;</a></span>ratio</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">double tvm::runtime::profiling::RatioNode::ratio</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode__coll__graph.svg
deleted file mode 100644
index e5c29991da0..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode__coll__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::RatioNode Pages: 1 -->
-<svg width="170pt" height="193pt"
- viewBox="0.00 0.00 170.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::RatioNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 166,-189 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RatioNode</text>
-<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
-<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ratio</text>
-<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RatioNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-127.5 57,-184.5 105,-184.5 105,-127.5 57,-127.5"/>
-<text text-anchor="middle" x="81" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-165.5 105,-165.5 "/>
-<text text-anchor="middle" x="81" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-146.5 105,-146.5 "/>
-<text text-anchor="middle" x="81" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-117.21C81,-108.61 81,-99.39 81,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-117.34 81,-127.34 84.5,-117.34 77.5,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode__inherit__graph.svg
deleted file mode 100644
index e5c29991da0..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1RatioNode__inherit__graph.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::RatioNode Pages: 1 -->
-<svg width="170pt" height="193pt"
- viewBox="0.00 0.00 170.00 193.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189)">
-<title>tvm::runtime::profiling::RatioNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-189 166,-189 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RatioNode</text>
-<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
-<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ratio</text>
-<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RatioNode()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-127.5 57,-184.5 105,-184.5 105,-127.5 57,-127.5"/>
-<text text-anchor="middle" x="81" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-165.5 105,-165.5 "/>
-<text text-anchor="middle" x="81" y="-153.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-146.5 105,-146.5 "/>
-<text text-anchor="middle" x="81" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-117.21C81,-108.61 81,-99.39 81,-90.55"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-117.34 81,-127.34 84.5,-117.34 77.5,-117.34"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report-members.html
deleted file mode 100644
index 6e5a6a6ae9d..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report-members.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::Report Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">tvm::runtime::profiling::Report</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html#a50bfb565e83c742476206cae3c104e6f">FromJSON</a>(ffi::String json)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">tvm::runtime::profiling::Report</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html#afbb0855d0d0652ab389527c0cdedfeac">Report</a>(ffi::Array&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; calls, ffi::Map&lt; ffi::String, ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; device_metrics, ffi::Map&lt; ffi::String, ffi::Any &gt; configuration)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">tvm::runtime::profiling::Report</a></td><td class="entry [...]
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html#abfbcded970188d276a50fce0825bb239">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(Report, ObjectRef, ReportNode)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">tvm::runtime::profiling::Report</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report.html
deleted file mode 100644
index 86c43f04541..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::Report Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1Report-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::Report Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::Report:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1Report__inherit__graph.svg" width="251" height="272"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::Report:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1Report__coll__graph.svg" width="251" height="272"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:afbb0855d0d0652ab389527c0cdedfeac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html#afbb0855d0d0652ab389527c0cdedfeac">Report</a> (ffi::Array&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; calls, ffi::Map&lt; ffi::String, ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; device_metrics, ffi::Map&lt; ffi::String, ffi::Any &gt; configuration)</td></tr>
-<tr class="separator:afbb0855d0d0652ab389527c0cdedfeac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abfbcded970188d276a50fce0825bb239"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html#abfbcded970188d276a50fce0825bb239">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a> (<a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a>, ObjectRef, <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">ReportNode</a>)< [...]
-<tr class="separator:abfbcded970188d276a50fce0825bb239"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
-Static Public Member Functions</h2></td></tr>
-<tr class="memitem:a50bfb565e83c742476206cae3c104e6f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html#a50bfb565e83c742476206cae3c104e6f">FromJSON</a> (ffi::String json)</td></tr>
-<tr class="separator:a50bfb565e83c742476206cae3c104e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="afbb0855d0d0652ab389527c0cdedfeac"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afbb0855d0d0652ab389527c0cdedfeac">&#9670;&nbsp;</a></span>Report()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::Report::Report </td>
-          <td>(</td>
-          <td class="paramtype">ffi::Array&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt;&#160;</td>
-          <td class="paramname"><em>calls</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ffi::Map&lt; ffi::String, ffi::Map&lt; ffi::String, ffi::Any &gt;&gt;&#160;</td>
-          <td class="paramname"><em>device_metrics</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ffi::Map&lt; ffi::String, ffi::Any &gt;&#160;</td>
-          <td class="paramname"><em>configuration</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Construct a <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a> from a set of calls (with associated metrics) and per-device metrics. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">calls</td><td>Function calls and associated metrics. </td></tr>
-    <tr><td class="paramname">device_metrics</td><td>Per-device metrics for overall execution. </td></tr>
-    <tr><td class="paramname">configuration</td><td>Configuration data specific to this profiling run. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a50bfb565e83c742476206cae3c104e6f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a50bfb565e83c742476206cae3c104e6f">&#9670;&nbsp;</a></span>FromJSON()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a> tvm::runtime::profiling::Report::FromJSON </td>
-          <td>(</td>
-          <td class="paramtype">ffi::String&#160;</td>
-          <td class="paramname"><em>json</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-<p>Deserialize a <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a> from a JSON object. Needed for sending the report over RPC. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">json</td><td>Serialized json report from <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a0f065f23edbf4325717fdccd7b9d8dc2" title="Convert this report to JSON.">ReportNode::AsJSON</a></code>. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a>. </dd></dl>
-
-</div>
-</div>
-<a id="abfbcded970188d276a50fce0825bb239"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abfbcded970188d276a50fce0825bb239">&#9670;&nbsp;</a></span>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::Report::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1Report.html">Report</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ObjectRef&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">ReportNode</a>&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode-members.html
deleted file mode 100644
index 19568ca947d..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode-members.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">ReportNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::ReportNode Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#aabfa6ce97a46f714f66fa2877ab679a3">AsCSV</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a0f065f23edbf4325717fdccd7b9d8dc2">AsJSON</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a3716b0087c7f4b9085888f4fa20ff8a9">AsTable</a>(bool sort=true, bool aggregate=true, bool compute_col_sums=true) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a714987b9559b24ec000fddd1d28a70bf">calls</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a9b14c3d9779524cdad8aa55c24c19309">configuration</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a2cd92fca1fb7defa299c9f8e2316deea">device_metrics</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a3d4726a22730175a5efaed0a226dde4a">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(&quot;runtime.profiling.Report&quot;, ReportNode, Object)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">tvm::runtime::profiling::ReportNode</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode.html
deleted file mode 100644
index 281caa39a7e..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode.html
+++ /dev/null
@@ -1,326 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::runtime::profiling::ReportNode Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime.html">runtime</a></li><li class="navelem"><a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">profiling</a></li><li class="navelem"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">ReportNode</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="#pub-attribs">Public Attributes</a> &#124;
-<a href="classtvm_1_1runtime_1_1profiling_1_1ReportNode-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::runtime::profiling::ReportNode Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Data collected from a profiling run. Includes per-call metrics and per-device metrics.  
- <a href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#details">More...</a></p>
-
-<p><code>#include &lt;<a class="el" href="profiling_8h_source.html">profiling.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::runtime::profiling::ReportNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1ReportNode__inherit__graph.svg" width="227" height="316"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::runtime::profiling::ReportNode:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1profiling_1_1ReportNode__coll__graph.svg" width="227" height="316"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:aabfa6ce97a46f714f66fa2877ab679a3"><td class="memItemLeft" align="right" valign="top">ffi::String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#aabfa6ce97a46f714f66fa2877ab679a3">AsCSV</a> () const</td></tr>
-<tr class="memdesc:aabfa6ce97a46f714f66fa2877ab679a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output <code>calls</code> in CSV format.  <a href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#aabfa6ce97a46f714f66fa2877ab679a3">More...</a><br /></td></tr>
-<tr class="separator:aabfa6ce97a46f714f66fa2877ab679a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3716b0087c7f4b9085888f4fa20ff8a9"><td class="memItemLeft" align="right" valign="top">ffi::String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a3716b0087c7f4b9085888f4fa20ff8a9">AsTable</a> (bool sort=true, bool aggregate=true, bool compute_col_sums=true) const</td></tr>
-<tr class="memdesc:a3716b0087c7f4b9085888f4fa20ff8a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a human readable table of profiling metrics.  <a href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a3716b0087c7f4b9085888f4fa20ff8a9">More...</a><br /></td></tr>
-<tr class="separator:a3716b0087c7f4b9085888f4fa20ff8a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0f065f23edbf4325717fdccd7b9d8dc2"><td class="memItemLeft" align="right" valign="top">ffi::String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a0f065f23edbf4325717fdccd7b9d8dc2">AsJSON</a> () const</td></tr>
-<tr class="memdesc:a0f065f23edbf4325717fdccd7b9d8dc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert this report to JSON.  <a href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a0f065f23edbf4325717fdccd7b9d8dc2">More...</a><br /></td></tr>
-<tr class="separator:a0f065f23edbf4325717fdccd7b9d8dc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d4726a22730175a5efaed0a226dde4a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a3d4726a22730175a5efaed0a226dde4a">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a> (&quot;runtime.profiling.Report&quot;, ReportNode, Object)</td></tr>
-<tr class="separator:a3d4726a22730175a5efaed0a226dde4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
-Public Attributes</h2></td></tr>
-<tr class="memitem:a714987b9559b24ec000fddd1d28a70bf"><td class="memItemLeft" align="right" valign="top">ffi::Array&lt; ffi::Map&lt; ffi::String, ffi::Any &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a714987b9559b24ec000fddd1d28a70bf">calls</a></td></tr>
-<tr class="memdesc:a714987b9559b24ec000fddd1d28a70bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of function calls and the metrics recorded for that call.  <a href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a714987b9559b24ec000fddd1d28a70bf">More...</a><br /></td></tr>
-<tr class="separator:a714987b9559b24ec000fddd1d28a70bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2cd92fca1fb7defa299c9f8e2316deea"><td class="memItemLeft" align="right" valign="top">ffi::Map&lt; ffi::String, ffi::Map&lt; ffi::String, ffi::Any &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a2cd92fca1fb7defa299c9f8e2316deea">device_metrics</a></td></tr>
-<tr class="memdesc:a2cd92fca1fb7defa299c9f8e2316deea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Metrics collected for the entire run of the model on a per-device basis.  <a href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a2cd92fca1fb7defa299c9f8e2316deea">More...</a><br /></td></tr>
-<tr class="separator:a2cd92fca1fb7defa299c9f8e2316deea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b14c3d9779524cdad8aa55c24c19309"><td class="memItemLeft" align="right" valign="top">ffi::Map&lt; ffi::String, ffi::Any &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html#a9b14c3d9779524cdad8aa55c24c19309">configuration</a></td></tr>
-<tr class="separator:a9b14c3d9779524cdad8aa55c24c19309"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Data collected from a profiling run. Includes per-call metrics and per-device metrics. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
-<a id="aabfa6ce97a46f714f66fa2877ab679a3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aabfa6ce97a46f714f66fa2877ab679a3">&#9670;&nbsp;</a></span>AsCSV()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::String tvm::runtime::profiling::ReportNode::AsCSV </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Output <code>calls</code> in CSV format. </p>
-<p>Note that this does not include <code>device_metrics</code>, it only includes per-call metrics. </p>
-
-</div>
-</div>
-<a id="a0f065f23edbf4325717fdccd7b9d8dc2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0f065f23edbf4325717fdccd7b9d8dc2">&#9670;&nbsp;</a></span>AsJSON()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::String tvm::runtime::profiling::ReportNode::AsJSON </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Convert this report to JSON. </p>
-<p>Output JSON will be of this format: </p><div class="fragment"><div class="line">{</div>
-<div class="line">  <span class="stringliteral">&quot;calls&quot;</span>: [</div>
-<div class="line">    {</div>
-<div class="line">      <span class="stringliteral">&quot;Duration (us)&quot;</span>: {</div>
-<div class="line">        <span class="stringliteral">&quot;microseconds&quot;</span>: 12.3</div>
-<div class="line">      },</div>
-<div class="line">      <span class="stringliteral">&quot;Name&quot;</span>: <span class="stringliteral">&quot;fused_dense&quot;</span>,</div>
-<div class="line">      <span class="stringliteral">&quot;Count&quot;</span>: {</div>
-<div class="line">        <span class="stringliteral">&quot;count&quot;</span>: 1</div>
-<div class="line">      },</div>
-<div class="line">      <span class="stringliteral">&quot;Percent&quot;</span>: {</div>
-<div class="line">        <span class="stringliteral">&quot;percent&quot;</span>: 10.3</div>
-<div class="line">      }</div>
-<div class="line">    }</div>
-<div class="line">  ],</div>
-<div class="line">  <span class="stringliteral">&quot;device_metrics&quot;</span>: {</div>
-<div class="line">    <span class="stringliteral">&quot;cpu&quot;</span>: {</div>
-<div class="line">      <span class="stringliteral">&quot;Duration (us)&quot;</span>: {</div>
-<div class="line">        <span class="stringliteral">&quot;microseconds&quot;</span>: 334.2</div>
-<div class="line">      },</div>
-<div class="line">      <span class="stringliteral">&quot;Percent&quot;</span>: {</div>
-<div class="line">        <span class="stringliteral">&quot;percent&quot;</span>: 100</div>
-<div class="line">      }</div>
-<div class="line">    }</div>
-<div class="line">  }</div>
-<div class="line">}</div>
-</div><!-- fragment --> 
-</div>
-</div>
-<a id="a3716b0087c7f4b9085888f4fa20ff8a9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3716b0087c7f4b9085888f4fa20ff8a9">&#9670;&nbsp;</a></span>AsTable()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::String tvm::runtime::profiling::ReportNode::AsTable </td>
-          <td>(</td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>sort</em> = <code>true</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>aggregate</em> = <code>true</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>compute_col_sums</em> = <code>true</code>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create a human readable table of profiling metrics. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">aggregate</td><td>Whether or not to join multiple calls to the same op into a single line.</td></tr>
-    <tr><td class="paramname">sort</td><td>Whether or not to sort call frames by descending duration. If false and if <code>aggregate</code> is false, frames will be sorted by order of appearance in the program. Order is undefined if <code>sort</code> is false and <code>aggregate</code> is true.</td></tr>
-    <tr><td class="paramname">compute_col_sums</td><td>Whether or not to include sum totals for the Count, Duation, and Percent columns. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a3d4726a22730175a5efaed0a226dde4a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3d4726a22730175a5efaed0a226dde4a">&#9670;&nbsp;</a></span>TVM_FFI_DECLARE_OBJECT_INFO_FINAL()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::runtime::profiling::ReportNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL </td>
-          <td>(</td>
-          <td class="paramtype">&quot;runtime.profiling.Report&quot;&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">ReportNode</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Object&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Data Documentation</h2>
-<a id="a714987b9559b24ec000fddd1d28a70bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a714987b9559b24ec000fddd1d28a70bf">&#9670;&nbsp;</a></span>calls</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::Array&lt;ffi::Map&lt;ffi::String, ffi::Any&gt; &gt; tvm::runtime::profiling::ReportNode::calls</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>A list of function calls and the metrics recorded for that call. </p>
-<p>Each element is a mapping from metric name to value. Some metrics that appear in every call are "Name" (the function name), "Argument Shapes", and "Duration (us)". Values are one of <code>String</code>, <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">PercentNode</a></code>, <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a></code>, or <code><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.h [...]
-
-</div>
-</div>
-<a id="a9b14c3d9779524cdad8aa55c24c19309"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9b14c3d9779524cdad8aa55c24c19309">&#9670;&nbsp;</a></span>configuration</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::Map&lt;ffi::String, ffi::Any&gt; tvm::runtime::profiling::ReportNode::configuration</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Configuration used for this profiling run. Includes number of threads, executor.</p>
-<p>Values must be an object type that can be used with device_metrics. </p>
-
-</div>
-</div>
-<a id="a2cd92fca1fb7defa299c9f8e2316deea"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2cd92fca1fb7defa299c9f8e2316deea">&#9670;&nbsp;</a></span>device_metrics</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::Map&lt;ffi::String, ffi::Map&lt;ffi::String, ffi::Any&gt; &gt; tvm::runtime::profiling::ReportNode::device_metrics</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Metrics collected for the entire run of the model on a per-device basis. </p>
-<p><code>device_metrics</code> is indexed by device name then metric.</p>
-<p>These metrics may be larger than the sum of the same metric in <code>calls</code> because these metrics include the overhead of the executor. </p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/runtime/<a class="el" href="profiling_8h_source.html">profiling.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode__coll__graph.svg
deleted file mode 100644
index 5d239691600..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode__coll__graph.svg
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::ReportNode Pages: 1 -->
-<svg width="170pt" height="237pt"
- viewBox="0.00 0.00 170.00 237.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 233)">
-<title>tvm::runtime::profiling::ReportNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-233 166,-233 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Data collected from a profiling run. Includes per&#45;call metrics and per&#45;device metrics.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-134.5 162,-134.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ReportNode</text>
-<polyline fill="none" stroke="black" points="0,-104.5 162,-104.5 "/>
-<text text-anchor="start" x="8" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ calls</text>
-<text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ device_metrics</text>
-<text text-anchor="start" x="8" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ configuration</text>
-<polyline fill="none" stroke="black" points="0,-63.5 162,-63.5 "/>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsCSV()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsTable()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-171.5 57,-228.5 105,-228.5 105,-171.5 57,-171.5"/>
-<text text-anchor="middle" x="81" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-209.5 105,-209.5 "/>
-<text text-anchor="middle" x="81" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-190.5 105,-190.5 "/>
-<text text-anchor="middle" x="81" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-161.16C81,-152.78 81,-143.67 81,-134.53"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-161.32 81,-171.32 84.5,-161.32 77.5,-161.32"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode__inherit__graph.svg
deleted file mode 100644
index 5d239691600..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1ReportNode__inherit__graph.svg
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::ReportNode Pages: 1 -->
-<svg width="170pt" height="237pt"
- viewBox="0.00 0.00 170.00 237.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 233)">
-<title>tvm::runtime::profiling::ReportNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-233 166,-233 166,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Data collected from a profiling run. Includes per&#45;call metrics and per&#45;device metrics.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-134.5 162,-134.5 162,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="81" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ReportNode</text>
-<polyline fill="none" stroke="black" points="0,-104.5 162,-104.5 "/>
-<text text-anchor="start" x="8" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ calls</text>
-<text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ device_metrics</text>
-<text text-anchor="start" x="8" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ configuration</text>
-<polyline fill="none" stroke="black" points="0,-63.5 162,-63.5 "/>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsCSV()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsTable()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57,-171.5 57,-228.5 105,-228.5 105,-171.5 57,-171.5"/>
-<text text-anchor="middle" x="81" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-209.5 105,-209.5 "/>
-<text text-anchor="middle" x="81" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57,-190.5 105,-190.5 "/>
-<text text-anchor="middle" x="81" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M81,-161.16C81,-152.78 81,-143.67 81,-134.53"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-161.32 81,-171.32 84.5,-161.32 77.5,-161.32"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report__coll__graph.svg
deleted file mode 100644
index 7b5099b84eb..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report__coll__graph.svg
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::Report Pages: 1 -->
-<svg width="188pt" height="204pt"
- viewBox="0.00 0.00 188.00 204.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 200)">
-<title>tvm::runtime::profiling::Report</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-200 184,-200 184,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-101.5 180,-101.5 180,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="90" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Report</text>
-<polyline fill="none" stroke="black" points="0,-71.5 180,-71.5 "/>
-<text text-anchor="middle" x="90" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-52.5 180,-52.5 "/>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Report()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FromJSON()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57.5,-138.5 57.5,-195.5 122.5,-195.5 122.5,-138.5 57.5,-138.5"/>
-<text text-anchor="middle" x="90" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="57.5,-176.5 122.5,-176.5 "/>
-<text text-anchor="middle" x="90" y="-164.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57.5,-157.5 122.5,-157.5 "/>
-<text text-anchor="middle" x="90" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M90,-128.35C90,-119.8 90,-110.58 90,-101.61"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-128.4 90,-138.4 93.5,-128.4 86.5,-128.4"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report__inherit__graph.svg
deleted file mode 100644
index 7b5099b84eb..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1profiling_1_1Report__inherit__graph.svg
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::runtime::profiling::Report Pages: 1 -->
-<svg width="188pt" height="204pt"
- viewBox="0.00 0.00 188.00 204.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 200)">
-<title>tvm::runtime::profiling::Report</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-200 184,-200 184,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-101.5 180,-101.5 180,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::profiling</text>
-<text text-anchor="middle" x="90" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Report</text>
-<polyline fill="none" stroke="black" points="0,-71.5 180,-71.5 "/>
-<text text-anchor="middle" x="90" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-52.5 180,-52.5 "/>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Report()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FromJSON()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="57.5,-138.5 57.5,-195.5 122.5,-195.5 122.5,-138.5 57.5,-138.5"/>
-<text text-anchor="middle" x="90" y="-183.5" font-family="Helvetica,sans-Serif" font-size="10.00">ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="57.5,-176.5 122.5,-176.5 "/>
-<text text-anchor="middle" x="90" y="-164.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="57.5,-157.5 122.5,-157.5 "/>
-<text text-anchor="middle" x="90" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M90,-128.35C90,-119.8 90,-110.58 90,-101.61"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-128.4 90,-138.4 93.5,-128.4 86.5,-128.4"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable-members.html
index 7f1b1a8dd82..489fc7462ac 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable-members.html
@@ -91,9 +91,8 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a75381e06205bab45b10de7391fd4658d">SetInstructionData</a>(Index i, Index j, ExecWord val)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#afc5bd8a08bc69834d5bfc23587050d16">Stats</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0e6b34e4870a5d22a0fb64567d47e424">VMLoadExecutable</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a4e3a2fefb597005f2de7b6d357b296db">VMProfilerLoadExecutable</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0aa3f67d968d2d17eb4cb5b7697c2288">WriteToFile</a>(const ffi::String &amp;file_name, const ffi::String &amp;format) const final</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ab78153eb592933e8e2ecc3d68c601354">~VMExecutable</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0aa3f67d968d2d17eb4cb5b7697c2288">WriteToFile</a>(const ffi::String &amp;file_name, const ffi::String &amp;format) const final</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ab78153eb592933e8e2ecc3d68c601354">~VMExecutable</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable.html
index 975f2ccb367..2de35be2ed4 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable.html
@@ -82,13 +82,13 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::runtime::vm::VMExecutable:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1vm_1_1VMExecutable__inherit__graph.svg" width="247" height="507"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1vm_1_1VMExecutable__inherit__graph.svg" width="247" height="492"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
 Collaboration diagram for tvm::runtime::vm::VMExecutable:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1vm_1_1VMExecutable__coll__graph.svg" width="247" height="507"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1vm_1_1VMExecutable__coll__graph.svg" width="247" height="492"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -121,9 +121,6 @@ Public Member Functions</h2></td></tr>
 <tr class="memitem:a0e6b34e4870a5d22a0fb64567d47e424"><td class="memItemLeft" align="right" valign="top">ffi::Module&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0e6b34e4870a5d22a0fb64567d47e424">VMLoadExecutable</a> () const</td></tr>
 <tr class="memdesc:a0e6b34e4870a5d22a0fb64567d47e424"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a Relax virtual machine and load <code>this</code> as the executable.  <a href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0e6b34e4870a5d22a0fb64567d47e424">More...</a><br /></td></tr>
 <tr class="separator:a0e6b34e4870a5d22a0fb64567d47e424"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e3a2fefb597005f2de7b6d357b296db"><td class="memItemLeft" align="right" valign="top">ffi::Module&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a4e3a2fefb597005f2de7b6d357b296db">VMProfilerLoadExecutable</a> () const</td></tr>
-<tr class="memdesc:a4e3a2fefb597005f2de7b6d357b296db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a Relax virtual machine with profiler and load <code>this</code> as the executable.  <a href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a4e3a2fefb597005f2de7b6d357b296db">More...</a><br /></td></tr>
-<tr class="separator:a4e3a2fefb597005f2de7b6d357b296db"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acc43eb1d86590b9ea017734740ea2394"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#acc43eb1d86590b9ea017734740ea2394">HasFunction</a> (const ffi::String &amp;name) const</td></tr>
 <tr class="memdesc:acc43eb1d86590b9ea017734740ea2394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the <a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html" title="The virtual machine executable emitted by the VM compiler.">VMExecutable</a> contains a specific function.  <a href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#acc43eb1d86590b9ea017734740ea2394">More...</a><br /></td></tr>
 <tr class="separator:acc43eb1d86590b9ea017734740ea2394"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -551,25 +548,6 @@ Public Attributes</h2></td></tr>
 
 <p>Create a Relax virtual machine and load <code>this</code> as the executable. </p>
 
-</div>
-</div>
-<a id="a4e3a2fefb597005f2de7b6d357b296db"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4e3a2fefb597005f2de7b6d357b296db">&#9670;&nbsp;</a></span>VMProfilerLoadExecutable()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::Module tvm::runtime::vm::VMExecutable::VMProfilerLoadExecutable </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Create a Relax virtual machine with profiler and load <code>this</code> as the executable. </p>
-
 </div>
 </div>
 <a id="a0aa3f67d968d2d17eb4cb5b7697c2288"></a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable__coll__graph.svg
index 7e9d2378da5..6b09a68bcdc 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable__coll__graph.svg
@@ -4,35 +4,34 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::runtime::vm::VMExecutable Pages: 1 -->
-<svg width="185pt" height="380pt"
- viewBox="0.00 0.00 185.00 380.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 376)">
+<svg width="185pt" height="369pt"
+ viewBox="0.00 0.00 185.00 369.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 365)">
 <title>tvm::runtime::vm::VMExecutable</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-376 181,-376 181,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-365 181,-365 181,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="The virtual machine executable emitted by the VM compiler.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-277.5 177,-277.5 177,-0.5 0,-0.5"/>
-<text text-anchor="middle" x="88.5" y="-265.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExecutable</text>
-<polyline fill="none" stroke="black" points="0,-258.5 177,-258.5 "/>
-<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func_table</text>
-<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func_map</text>
-<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ constants</text>
-<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ memory_scopes</text>
-<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ instr_offset</text>
-<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ instr_data</text>
-<polyline fill="none" stroke="black" points="0,-184.5 177,-184.5 "/>
-<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPropertyMask()</text>
-<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stats()</text>
-<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetInstruction()</text>
-<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetInstructionData()</text>
-<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsText()</text>
-<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsPython()</text>
-<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SaveToBytes()</text>
-<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteToFile()</text>
-<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VMLoadExecutable()</text>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VMProfilerLoadExecutable()</text>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-266.5 177,-266.5 177,-0.5 0,-0.5"/>
+<text text-anchor="middle" x="88.5" y="-254.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExecutable</text>
+<polyline fill="none" stroke="black" points="0,-247.5 177,-247.5 "/>
+<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func_table</text>
+<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func_map</text>
+<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ constants</text>
+<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ memory_scopes</text>
+<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ instr_offset</text>
+<text text-anchor="start" x="8" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ instr_data</text>
+<polyline fill="none" stroke="black" points="0,-173.5 177,-173.5 "/>
+<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPropertyMask()</text>
+<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stats()</text>
+<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetInstruction()</text>
+<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetInstructionData()</text>
+<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsText()</text>
+<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsPython()</text>
+<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SaveToBytes()</text>
+<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteToFile()</text>
+<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VMLoadExecutable()</text>
 <text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasFunction()</text>
 <text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~VMExecutable()</text>
 <text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kind()</text>
@@ -46,20 +45,20 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="46,-314.5 46,-371.5 131,-371.5 131,-314.5 46,-314.5"/>
-<text text-anchor="middle" x="88.5" y="-359.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ModuleObj</text>
-<polyline fill="none" stroke="#bfbfbf" points="46,-352.5 131,-352.5 "/>
-<text text-anchor="middle" x="88.5" y="-340.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="46,-333.5 131,-333.5 "/>
-<text text-anchor="middle" x="88.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="46,-303.5 46,-360.5 131,-360.5 131,-303.5 46,-303.5"/>
+<text text-anchor="middle" x="88.5" y="-348.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ModuleObj</text>
+<polyline fill="none" stroke="#bfbfbf" points="46,-341.5 131,-341.5 "/>
+<text text-anchor="middle" x="88.5" y="-329.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="46,-322.5 131,-322.5 "/>
+<text text-anchor="middle" x="88.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M88.5,-304.27C88.5,-296.18 88.5,-287.19 88.5,-277.7"/>
-<polygon fill="none" stroke="midnightblue" points="85,-304.34 88.5,-314.34 92,-304.34 85,-304.34"/>
+<path fill="none" stroke="midnightblue" d="M88.5,-293.2C88.5,-285.14 88.5,-276.18 88.5,-266.75"/>
+<polygon fill="none" stroke="midnightblue" points="85,-293.26 88.5,-303.26 92,-293.26 85,-293.26"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable__inherit__graph.svg
index 7e9d2378da5..6b09a68bcdc 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VMExecutable__inherit__graph.svg
@@ -4,35 +4,34 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::runtime::vm::VMExecutable Pages: 1 -->
-<svg width="185pt" height="380pt"
- viewBox="0.00 0.00 185.00 380.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 376)">
+<svg width="185pt" height="369pt"
+ viewBox="0.00 0.00 185.00 369.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 365)">
 <title>tvm::runtime::vm::VMExecutable</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-376 181,-376 181,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-365 181,-365 181,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="The virtual machine executable emitted by the VM compiler.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-277.5 177,-277.5 177,-0.5 0,-0.5"/>
-<text text-anchor="middle" x="88.5" y="-265.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExecutable</text>
-<polyline fill="none" stroke="black" points="0,-258.5 177,-258.5 "/>
-<text text-anchor="start" x="8" y="-246.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func_table</text>
-<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func_map</text>
-<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ constants</text>
-<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ memory_scopes</text>
-<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ instr_offset</text>
-<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ instr_data</text>
-<polyline fill="none" stroke="black" points="0,-184.5 177,-184.5 "/>
-<text text-anchor="start" x="8" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPropertyMask()</text>
-<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stats()</text>
-<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetInstruction()</text>
-<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetInstructionData()</text>
-<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsText()</text>
-<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsPython()</text>
-<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SaveToBytes()</text>
-<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteToFile()</text>
-<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VMLoadExecutable()</text>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VMProfilerLoadExecutable()</text>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-266.5 177,-266.5 177,-0.5 0,-0.5"/>
+<text text-anchor="middle" x="88.5" y="-254.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExecutable</text>
+<polyline fill="none" stroke="black" points="0,-247.5 177,-247.5 "/>
+<text text-anchor="start" x="8" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func_table</text>
+<text text-anchor="start" x="8" y="-224.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func_map</text>
+<text text-anchor="start" x="8" y="-213.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ constants</text>
+<text text-anchor="start" x="8" y="-202.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ memory_scopes</text>
+<text text-anchor="start" x="8" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ instr_offset</text>
+<text text-anchor="start" x="8" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ instr_data</text>
+<polyline fill="none" stroke="black" points="0,-173.5 177,-173.5 "/>
+<text text-anchor="start" x="8" y="-161.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPropertyMask()</text>
+<text text-anchor="start" x="8" y="-150.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Stats()</text>
+<text text-anchor="start" x="8" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetInstruction()</text>
+<text text-anchor="start" x="8" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetInstructionData()</text>
+<text text-anchor="start" x="8" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsText()</text>
+<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsPython()</text>
+<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SaveToBytes()</text>
+<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ WriteToFile()</text>
+<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VMLoadExecutable()</text>
 <text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasFunction()</text>
 <text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~VMExecutable()</text>
 <text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kind()</text>
@@ -46,20 +45,20 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="46,-314.5 46,-371.5 131,-371.5 131,-314.5 46,-314.5"/>
-<text text-anchor="middle" x="88.5" y="-359.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ModuleObj</text>
-<polyline fill="none" stroke="#bfbfbf" points="46,-352.5 131,-352.5 "/>
-<text text-anchor="middle" x="88.5" y="-340.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="46,-333.5 131,-333.5 "/>
-<text text-anchor="middle" x="88.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="46,-303.5 46,-360.5 131,-360.5 131,-303.5 46,-303.5"/>
+<text text-anchor="middle" x="88.5" y="-348.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ModuleObj</text>
+<polyline fill="none" stroke="#bfbfbf" points="46,-341.5 131,-341.5 "/>
+<text text-anchor="middle" x="88.5" y="-329.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="46,-322.5 131,-322.5 "/>
+<text text-anchor="middle" x="88.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M88.5,-304.27C88.5,-296.18 88.5,-287.19 88.5,-277.7"/>
-<polygon fill="none" stroke="midnightblue" points="85,-304.34 88.5,-314.34 92,-304.34 85,-304.34"/>
+<path fill="none" stroke="midnightblue" d="M88.5,-293.2C88.5,-285.14 88.5,-276.18 88.5,-266.75"/>
+<polygon fill="none" stroke="midnightblue" points="85,-293.26 88.5,-303.26 92,-293.26 85,-293.26"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine-members.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine-members.html
index 74fc0378da7..af6d6213786 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine-members.html
@@ -74,17 +74,16 @@ $(function() {
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ae4c4ea6e0464c6b47682d59d019fefe5">allocators</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a827d36cfe01edb9fd18a57b3710517a9">Create</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ac546b1d8dcc8dddc098bb29d94c9f19c">CreateProfiler</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#aecb2d49bad93fa777ac31f72be7ad47c">devices</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ad27d62291b7615d5db4ef6940deeee11">extensions</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a836c64302fc8c333ba6f13d7399bd993">GetClosure</a>(const ffi::String &amp;func_name)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a8756b2073a5728ace029669c478abd65">GetContextPtr</a>(ffi::AnyView arg)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ae8dfdcf7eb8c5ec3e60ff333c445b16c">GetOrCreateExtension</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#abe90a6aea407ed8281815a38d27c2770">Init</a>(const std::vector&lt; Device &gt; &amp;devices, const std::vector&lt; AllocatorType &gt; &amp;alloc_types)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a2f3df24080abed2ca327c47f0ddb782d">InvokeClosurePacked</a>(const ObjectRef &amp;closure_or_packedfunc, ffi::PackedArgs args, ffi::Any *rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#afc9a686cce3b118bcb3875a9ea3aa186">LoadExecutable</a>(ObjectPtr&lt; VMExecutable &gt; exec)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ab4ec40f3943f1ef4fdebf9daa1a2cb81">SetInstrument</a>(ffi::Function instrument)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a27d743f5f4654c1a89b17e22432499a5">~VirtualMachine</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#aecb2d49bad93fa777ac31f72be7ad47c">devices</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ad27d62291b7615d5db4ef6940deeee11">extensions</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a836c64302fc8c333ba6f13d7399bd993">GetClosure</a>(const ffi::String &amp;func_name)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a8756b2073a5728ace029669c478abd65">GetContextPtr</a>(ffi::AnyView arg)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ae8dfdcf7eb8c5ec3e60ff333c445b16c">GetOrCreateExtension</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#abe90a6aea407ed8281815a38d27c2770">Init</a>(const std::vector&lt; Device &gt; &amp;devices, const std::vector&lt; AllocatorType &gt; &amp;alloc_types)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a2f3df24080abed2ca327c47f0ddb782d">InvokeClosurePacked</a>(const ObjectRef &amp;closure_or_packedfunc, ffi::PackedArgs args, ffi::Any *rv)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#afc9a686cce3b118bcb3875a9ea3aa186">LoadExecutable</a>(ObjectPtr&lt; VMExecutable &gt; exec)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ab4ec40f3943f1ef4fdebf9daa1a2cb81">SetInstrument</a>(ffi::Function instrument)=0</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a27d743f5f4654c1a89b17e22432499a5">~VirtualMachine</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">tvm::runtime::vm::VirtualMachine</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html
index 8f2ec0b0d16..f56cc3ac4d7 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html
@@ -82,13 +82,13 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::runtime::vm::VirtualMachine:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1vm_1_1VirtualMachine__inherit__graph.svg" width="203" height="390"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1vm_1_1VirtualMachine__inherit__graph.svg" width="203" height="375"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
 Collaboration diagram for tvm::runtime::vm::VirtualMachine:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1vm_1_1VirtualMachine__coll__graph.svg" width="203" height="390"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1vm_1_1VirtualMachine__coll__graph.svg" width="203" height="375"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -121,9 +121,6 @@ Static Public Member Functions</h2></td></tr>
 <tr class="memitem:a827d36cfe01edb9fd18a57b3710517a9"><td class="memItemLeft" align="right" valign="top">static ObjectPtr&lt; <a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">VirtualMachine</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a827d36cfe01edb9fd18a57b3710517a9">Create</a> ()</td></tr>
 <tr class="memdesc:a827d36cfe01edb9fd18a57b3710517a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a specific instance of VM.  <a href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a827d36cfe01edb9fd18a57b3710517a9">More...</a><br /></td></tr>
 <tr class="separator:a827d36cfe01edb9fd18a57b3710517a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac546b1d8dcc8dddc098bb29d94c9f19c"><td class="memItemLeft" align="right" valign="top">static ObjectPtr&lt; <a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">VirtualMachine</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ac546b1d8dcc8dddc098bb29d94c9f19c">CreateProfiler</a> ()</td></tr>
-<tr class="memdesc:ac546b1d8dcc8dddc098bb29d94c9f19c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an instance of VM with the profiling feature enabled.  <a href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ac546b1d8dcc8dddc098bb29d94c9f19c">More...</a><br /></td></tr>
-<tr class="separator:ac546b1d8dcc8dddc098bb29d94c9f19c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8756b2073a5728ace029669c478abd65"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">VirtualMachine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a8756b2073a5728ace029669c478abd65">GetContextPtr</a> (ffi::AnyView arg)</td></tr>
 <tr class="memdesc:a8756b2073a5728ace029669c478abd65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function for vm closure functions to get the context ptr.  <a href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#a8756b2073a5728ace029669c478abd65">More...</a><br /></td></tr>
 <tr class="separator:a8756b2073a5728ace029669c478abd65"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -197,34 +194,6 @@ Public Attributes</h2></td></tr>
 <p>Create a specific instance of VM. </p>
 <dl class="section return"><dt>Returns</dt><dd>Created VM </dd></dl>
 
-</div>
-</div>
-<a id="ac546b1d8dcc8dddc098bb29d94c9f19c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac546b1d8dcc8dddc098bb29d94c9f19c">&#9670;&nbsp;</a></span>CreateProfiler()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">static ObjectPtr&lt;<a class="el" href="classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html">VirtualMachine</a>&gt; tvm::runtime::vm::VirtualMachine::CreateProfiler </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Create an instance of VM with the profiling feature enabled. </p>
-<dl class="section return"><dt>Returns</dt><dd>Created VM </dd></dl>
-
 </div>
 </div>
 <a id="a836c64302fc8c333ba6f13d7399bd993"></a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine__coll__graph.svg
index d6b5261b133..0c9493218a9 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine__coll__graph.svg
@@ -4,32 +4,31 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::runtime::vm::VirtualMachine Pages: 1 -->
-<svg width="152pt" height="292pt"
- viewBox="0.00 0.00 152.00 292.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 288)">
+<svg width="152pt" height="281pt"
+ viewBox="0.00 0.00 152.00 281.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 277)">
 <title>tvm::runtime::vm::VirtualMachine</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-288 148,-288 148,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-277 148,-277 148,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="The virtual machine.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-189.5 144,-189.5 144,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-177.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::Virtual</text>
-<text text-anchor="middle" x="72" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">Machine</text>
-<polyline fill="none" stroke="black" points="0,-159.5 144,-159.5 "/>
-<text text-anchor="start" x="8" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ allocators</text>
-<text text-anchor="start" x="8" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ devices</text>
-<text text-anchor="start" x="8" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ extensions</text>
-<polyline fill="none" stroke="black" points="0,-118.5 144,-118.5 "/>
-<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
-<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LoadExecutable()</text>
-<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetClosure()</text>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InvokeClosurePacked()</text>
-<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetInstrument()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetOrCreateExtension()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~VirtualMachine()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Create()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateProfiler()</text>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-178.5 144,-178.5 144,-0.5 0,-0.5"/>
+<text text-anchor="start" x="8" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::Virtual</text>
+<text text-anchor="middle" x="72" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">Machine</text>
+<polyline fill="none" stroke="black" points="0,-148.5 144,-148.5 "/>
+<text text-anchor="start" x="8" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ allocators</text>
+<text text-anchor="start" x="8" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ devices</text>
+<text text-anchor="start" x="8" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ extensions</text>
+<polyline fill="none" stroke="black" points="0,-107.5 144,-107.5 "/>
+<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
+<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LoadExecutable()</text>
+<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetClosure()</text>
+<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InvokeClosurePacked()</text>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetInstrument()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetOrCreateExtension()</text>
+<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~VirtualMachine()</text>
+<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Create()</text>
 <text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetContextPtr()</text>
 </a>
 </g>
@@ -38,20 +37,20 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="29.5,-226.5 29.5,-283.5 114.5,-283.5 114.5,-226.5 29.5,-226.5"/>
-<text text-anchor="middle" x="72" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ModuleObj</text>
-<polyline fill="none" stroke="#bfbfbf" points="29.5,-264.5 114.5,-264.5 "/>
-<text text-anchor="middle" x="72" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="29.5,-245.5 114.5,-245.5 "/>
-<text text-anchor="middle" x="72" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="29.5,-215.5 29.5,-272.5 114.5,-272.5 114.5,-215.5 29.5,-215.5"/>
+<text text-anchor="middle" x="72" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ModuleObj</text>
+<polyline fill="none" stroke="#bfbfbf" points="29.5,-253.5 114.5,-253.5 "/>
+<text text-anchor="middle" x="72" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="29.5,-234.5 114.5,-234.5 "/>
+<text text-anchor="middle" x="72" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M72,-216.22C72,-208.01 72,-198.99 72,-189.68"/>
-<polygon fill="none" stroke="midnightblue" points="68.5,-216.48 72,-226.48 75.5,-216.48 68.5,-216.48"/>
+<path fill="none" stroke="midnightblue" d="M72,-205.37C72,-197.09 72,-187.98 72,-178.62"/>
+<polygon fill="none" stroke="midnightblue" points="68.5,-205.38 72,-215.38 75.5,-205.38 68.5,-205.38"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine__inherit__graph.svg
index d6b5261b133..0c9493218a9 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1vm_1_1VirtualMachine__inherit__graph.svg
@@ -4,32 +4,31 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::runtime::vm::VirtualMachine Pages: 1 -->
-<svg width="152pt" height="292pt"
- viewBox="0.00 0.00 152.00 292.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 288)">
+<svg width="152pt" height="281pt"
+ viewBox="0.00 0.00 152.00 281.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 277)">
 <title>tvm::runtime::vm::VirtualMachine</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-288 148,-288 148,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-277 148,-277 148,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="The virtual machine.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-189.5 144,-189.5 144,-0.5 0,-0.5"/>
-<text text-anchor="start" x="8" y="-177.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::Virtual</text>
-<text text-anchor="middle" x="72" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">Machine</text>
-<polyline fill="none" stroke="black" points="0,-159.5 144,-159.5 "/>
-<text text-anchor="start" x="8" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ allocators</text>
-<text text-anchor="start" x="8" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ devices</text>
-<text text-anchor="start" x="8" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ extensions</text>
-<polyline fill="none" stroke="black" points="0,-118.5 144,-118.5 "/>
-<text text-anchor="start" x="8" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
-<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LoadExecutable()</text>
-<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetClosure()</text>
-<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InvokeClosurePacked()</text>
-<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetInstrument()</text>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetOrCreateExtension()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~VirtualMachine()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Create()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateProfiler()</text>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-178.5 144,-178.5 144,-0.5 0,-0.5"/>
+<text text-anchor="start" x="8" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::Virtual</text>
+<text text-anchor="middle" x="72" y="-155.5" font-family="Helvetica,sans-Serif" font-size="10.00">Machine</text>
+<polyline fill="none" stroke="black" points="0,-148.5 144,-148.5 "/>
+<text text-anchor="start" x="8" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ allocators</text>
+<text text-anchor="start" x="8" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ devices</text>
+<text text-anchor="start" x="8" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ extensions</text>
+<polyline fill="none" stroke="black" points="0,-107.5 144,-107.5 "/>
+<text text-anchor="start" x="8" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Init()</text>
+<text text-anchor="start" x="8" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LoadExecutable()</text>
+<text text-anchor="start" x="8" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetClosure()</text>
+<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InvokeClosurePacked()</text>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetInstrument()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetOrCreateExtension()</text>
+<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~VirtualMachine()</text>
+<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Create()</text>
 <text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetContextPtr()</text>
 </a>
 </g>
@@ -38,20 +37,20 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="29.5,-226.5 29.5,-283.5 114.5,-283.5 114.5,-226.5 29.5,-226.5"/>
-<text text-anchor="middle" x="72" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ModuleObj</text>
-<polyline fill="none" stroke="#bfbfbf" points="29.5,-264.5 114.5,-264.5 "/>
-<text text-anchor="middle" x="72" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="29.5,-245.5 114.5,-245.5 "/>
-<text text-anchor="middle" x="72" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="29.5,-215.5 29.5,-272.5 114.5,-272.5 114.5,-215.5 29.5,-215.5"/>
+<text text-anchor="middle" x="72" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ModuleObj</text>
+<polyline fill="none" stroke="#bfbfbf" points="29.5,-253.5 114.5,-253.5 "/>
+<text text-anchor="middle" x="72" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="29.5,-234.5 114.5,-234.5 "/>
+<text text-anchor="middle" x="72" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M72,-216.22C72,-208.01 72,-198.99 72,-189.68"/>
-<polygon fill="none" stroke="midnightblue" points="68.5,-216.48 72,-226.48 75.5,-216.48 68.5,-216.48"/>
+<path fill="none" stroke="midnightblue" d="M72,-205.37C72,-197.09 72,-187.98 72,-178.62"/>
+<polygon fill="none" stroke="midnightblue" points="68.5,-205.38 72,-215.38 75.5,-205.38 68.5,-205.38"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/data__type_8h__dep__incl.svg b/docs/reference/api/doxygen/data__type_8h__dep__incl.svg
index 5fa4d09c537..8e71bfa2e9e 100644
--- a/docs/reference/api/doxygen/data__type_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/data__type_8h__dep__incl.svg
@@ -3975,10 +3975,10 @@
 <!-- Node156 -->
 <g id="node156" class="node">
 <title>Node156</title>
-<g id="a_node156"><a xlink:href="profiling_8h.html" target="_top" xlink:title="Runtime profiling including timers.">
+<g id="a_node156"><a xlink:href="timer_8h.html" target="_top" xlink:title="Runtime timer primitives: Timer, TimerNode, WrapTimeEvaluator.">
 <polygon fill="white" stroke="black" points="4680,-748.5 4680,-778.5 4796,-778.5 4796,-748.5 4680,-748.5"/>
 <text text-anchor="start" x="4688" y="-766.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="4738" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">/profiling.h</text>
+<text text-anchor="middle" x="4738" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">/timer.h</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/device__api_8h.html b/docs/reference/api/doxygen/device__api_8h.html
index be185c63b03..75c5429739b 100644
--- a/docs/reference/api/doxygen/device__api_8h.html
+++ b/docs/reference/api/doxygen/device__api_8h.html
@@ -94,7 +94,7 @@ Include dependency graph for device_api.h:</div>
 </div><div class="textblock"><div class="dynheader">
 This graph shows which files directly or indirectly include this file:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="device__api_8h__dep__incl.svg" width="8591" height="1318"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="device__api_8h__dep__incl.svg" width="8592" height="1318"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/device__api_8h__dep__incl.svg b/docs/reference/api/doxygen/device__api_8h__dep__incl.svg
index bf5f5eb659c..dd1d54411ea 100644
--- a/docs/reference/api/doxygen/device__api_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/device__api_8h__dep__incl.svg
@@ -4,154 +4,154 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: include/tvm/runtime/device_api.h Pages: 1 -->
-<svg width="6443pt" height="988pt"
- viewBox="0.00 0.00 6443.00 988.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="6444pt" height="988pt"
+ viewBox="0.00 0.00 6444.00 988.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 984)">
 <title>include/tvm/runtime/device_api.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-984 6439,-984 6439,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-984 6440,-984 6440,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="Abstract device memory management API.">
-<polygon fill="#bfbfbf" stroke="black" points="2856,-949.5 2856,-979.5 2972,-979.5 2972,-949.5 2856,-949.5"/>
-<text text-anchor="start" x="2864" y="-967.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="2914" y="-956.5" font-family="Helvetica,sans-Serif" font-size="10.00">/device_api.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="2846,-949.5 2846,-979.5 2962,-979.5 2962,-949.5 2846,-949.5"/>
+<text text-anchor="start" x="2854" y="-967.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="2904" y="-956.5" font-family="Helvetica,sans-Serif" font-size="10.00">/device_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node">
 <title>Node2</title>
-<g id="a_node2"><a xlink:href="profiling_8h.html" target="_top" xlink:title="Runtime profiling including timers.">
-<polygon fill="white" stroke="black" points="0,-815.5 0,-845.5 116,-845.5 116,-815.5 0,-815.5"/>
-<text text-anchor="start" x="8" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="58" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">/profiling.h</text>
+<g id="a_node2"><a xlink:href="runtime_2tensor_8h.html" target="_top" xlink:title="A device&#45;independent managed Tensor abstraction.">
+<polygon fill="white" stroke="black" points="1162,-882.5 1162,-912.5 1278,-912.5 1278,-882.5 1162,-882.5"/>
+<text text-anchor="start" x="1170" y="-900.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="1220" y="-889.5" font-family="Helvetica,sans-Serif" font-size="10.00">/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge">
 <title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M2845.71,-962.44C2610.45,-958.58 1811.91,-943.91 1153,-913 695.64,-891.55 578.44,-909.49 125,-846 122.05,-845.59 119.04,-845.12 116.01,-844.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2845.77,-965.94 2855.83,-962.6 2845.88,-958.94 2845.77,-965.94"/>
+<path fill="none" stroke="midnightblue" d="M2835.27,-960.85C2559.24,-950.19 1533.88,-910.62 1278.1,-900.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2835.42,-964.36 2845.54,-961.24 2835.69,-957.36 2835.42,-964.36"/>
 </g>
-<!-- Node3 -->
-<g id="node3" class="node">
-<title>Node3</title>
-<g id="a_node3"><a xlink:href="runtime_2tensor_8h.html" target="_top" xlink:title="A device&#45;independent managed Tensor abstraction.">
-<polygon fill="white" stroke="black" points="1162,-882.5 1162,-912.5 1278,-912.5 1278,-882.5 1162,-882.5"/>
-<text text-anchor="start" x="1170" y="-900.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
-<text text-anchor="middle" x="1220" y="-889.5" font-family="Helvetica,sans-Serif" font-size="10.00">/tensor.h</text>
+<!-- Node46 -->
+<g id="node46" class="node">
+<title>Node46</title>
+<g id="a_node46"><a xlink:href="timer_8h.html" target="_top" xlink:title="Runtime timer primitives: Timer, TimerNode, WrapTimeEvaluator.">
+<polygon fill="white" stroke="black" points="0,-815.5 0,-845.5 116,-845.5 116,-815.5 0,-815.5"/>
+<text text-anchor="start" x="8" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
+<text text-anchor="middle" x="58" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">/timer.h</text>
 </a>
 </g>
 </g>
-<!-- Node1&#45;&gt;Node3 -->
-<g id="edge2" class="edge">
-<title>Node1&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M2845.38,-960.87C2568.34,-950.24 1534.9,-910.58 1278.07,-900.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2845.56,-964.38 2855.69,-961.26 2845.83,-957.38 2845.56,-964.38"/>
+<!-- Node1&#45;&gt;Node46 -->
+<g id="edge169" class="edge">
+<title>Node1&#45;&gt;Node46</title>
+<path fill="none" stroke="midnightblue" d="M2835.7,-962.42C2601.27,-958.53 1807.79,-943.77 1153,-913 695.65,-891.51 578.44,-909.49 125,-846 122.05,-845.59 119.04,-845.12 116.01,-844.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2835.72,-965.92 2845.78,-962.59 2835.84,-958.92 2835.72,-965.92"/>
 </g>
 <!-- Node95 -->
 <g id="node95" class="node">
 <title>Node95</title>
 <g id="a_node95"><a xlink:href="doc_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3416,-882.5 3416,-912.5 3520,-912.5 3520,-882.5 3416,-882.5"/>
-<text text-anchor="start" x="3424" y="-900.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
-<text text-anchor="middle" x="3468" y="-889.5" font-family="Helvetica,sans-Serif" font-size="10.00">/printer/doc.h</text>
+<polygon fill="white" stroke="black" points="3410,-882.5 3410,-912.5 3514,-912.5 3514,-882.5 3410,-882.5"/>
+<text text-anchor="start" x="3418" y="-900.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
+<text text-anchor="middle" x="3462" y="-889.5" font-family="Helvetica,sans-Serif" font-size="10.00">/printer/doc.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node95 -->
 <g id="edge170" class="edge">
 <title>Node1&#45;&gt;Node95</title>
-<path fill="none" stroke="midnightblue" d="M2982.42,-955.47C3094.62,-942.31 3315.25,-916.42 3415.82,-904.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2981.76,-952.03 2972.24,-956.67 2982.58,-958.98 2981.76,-952.03"/>
+<path fill="none" stroke="midnightblue" d="M2972.39,-955.53C3085.33,-942.38 3308.4,-916.39 3409.73,-904.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2971.66,-952.09 2962.14,-956.73 2972.47,-959.05 2971.66,-952.09"/>
 </g>
 <!-- Node97 -->
 <g id="node97" class="node">
 <title>Node97</title>
 <g id="a_node97"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object.">
-<polygon fill="white" stroke="black" points="5671.5,-882.5 5671.5,-912.5 5778.5,-912.5 5778.5,-882.5 5671.5,-882.5"/>
-<text text-anchor="start" x="5679.5" y="-900.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
-<text text-anchor="middle" x="5725" y="-889.5" font-family="Helvetica,sans-Serif" font-size="10.00">/target.h</text>
+<polygon fill="white" stroke="black" points="5672.5,-882.5 5672.5,-912.5 5779.5,-912.5 5779.5,-882.5 5672.5,-882.5"/>
+<text text-anchor="start" x="5680.5" y="-900.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
+<text text-anchor="middle" x="5726" y="-889.5" font-family="Helvetica,sans-Serif" font-size="10.00">/target.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node97 -->
 <g id="edge172" class="edge">
 <title>Node1&#45;&gt;Node97</title>
-<path fill="none" stroke="midnightblue" d="M2982.08,-961.93C3372.57,-952.9 5322.42,-907.81 5671.47,-899.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2981.98,-958.43 2972.07,-962.16 2982.14,-965.43 2981.98,-958.43"/>
-</g>
-<!-- Node3&#45;&gt;Node2 -->
-<g id="edge66" class="edge">
-<title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M1151.64,-893.35C912.2,-882.32 125.8,-846.1 125,-846 122.05,-845.62 119.04,-845.17 116,-844.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1151.8,-896.86 1161.95,-893.83 1152.12,-889.87 1151.8,-896.86"/>
+<path fill="none" stroke="midnightblue" d="M2972.35,-961.93C3364.37,-952.9 5321.85,-907.81 5672.26,-899.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2972.21,-958.43 2962.29,-962.16 2972.37,-965.43 2972.21,-958.43"/>
 </g>
-<!-- Node4 -->
-<g id="node4" class="node">
-<title>Node4</title>
-<g id="a_node4"><a xlink:href="relax_2expr_8h.html" target="_top" xlink:title=" ">
+<!-- Node3 -->
+<g id="node3" class="node">
+<title>Node3</title>
+<g id="a_node3"><a xlink:href="relax_2expr_8h.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="1821.5,-754 1821.5,-773 1956.5,-773 1956.5,-754 1821.5,-754"/>
 <text text-anchor="middle" x="1889" y="-761" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/expr.h</text>
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node4 -->
-<g id="edge3" class="edge">
-<title>Node3&#45;&gt;Node4</title>
+<!-- Node2&#45;&gt;Node3 -->
+<g id="edge2" class="edge">
+<title>Node2&#45;&gt;Node3</title>
 <path fill="none" stroke="midnightblue" d="M1218.59,-872.37C1218.93,-853.77 1222.78,-828.93 1239,-815 1282.47,-777.66 1663.88,-767.8 1821.4,-765.3"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1215.09,-872.53 1218.72,-882.48 1222.09,-872.43 1215.09,-872.53"/>
 </g>
-<!-- Node41 -->
-<g id="node41" class="node">
-<title>Node41</title>
-<g id="a_node41"><a xlink:href="runtime_2disco_2builtin_8h.html" target="_top" xlink:title=" ">
+<!-- Node40 -->
+<g id="node40" class="node">
+<title>Node40</title>
+<g id="a_node40"><a xlink:href="runtime_2disco_2builtin_8h.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="448,-815.5 448,-845.5 564,-845.5 564,-815.5 448,-815.5"/>
 <text text-anchor="start" x="456" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
 <text text-anchor="middle" x="506" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">/disco/builtin.h</text>
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node41 -->
-<g id="edge60" class="edge">
-<title>Node3&#45;&gt;Node41</title>
+<!-- Node2&#45;&gt;Node40 -->
+<g id="edge59" class="edge">
+<title>Node2&#45;&gt;Node40</title>
 <path fill="none" stroke="midnightblue" d="M1151.46,-893.82C1033.74,-888.6 785.72,-874.98 578,-846 573.45,-845.37 568.76,-844.62 564.06,-843.82"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1151.62,-897.33 1161.76,-894.27 1151.92,-890.33 1151.62,-897.33"/>
 </g>
-<!-- Node42 -->
-<g id="node42" class="node">
-<title>Node42</title>
-<g id="a_node42"><a xlink:href="session_8h.html" target="_top" xlink:title="This file serves as the entry point of Disco and defines key data structures and interfaces.">
+<!-- Node41 -->
+<g id="node41" class="node">
+<title>Node41</title>
+<g id="a_node41"><a xlink:href="session_8h.html" target="_top" xlink:title="This file serves as the entry point of Disco and defines key data structures and interfaces.">
 <polygon fill="white" stroke="black" points="134,-815.5 134,-845.5 250,-845.5 250,-815.5 134,-815.5"/>
 <text text-anchor="start" x="142" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
 <text text-anchor="middle" x="192" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">/disco/session.h</text>
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node42 -->
-<g id="edge61" class="edge">
-<title>Node3&#45;&gt;Node42</title>
+<!-- Node2&#45;&gt;Node41 -->
+<g id="edge60" class="edge">
+<title>Node2&#45;&gt;Node41</title>
 <path fill="none" stroke="midnightblue" d="M1151.9,-893.22C939.89,-882.98 303.12,-851.89 259,-846 256.05,-845.61 253.04,-845.15 250,-844.65"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1151.82,-896.72 1161.97,-893.71 1152.15,-889.73 1151.82,-896.72"/>
 </g>
-<!-- Node44 -->
-<g id="node44" class="node">
-<title>Node44</title>
-<g id="a_node44"><a xlink:href="memory__manager_8h.html" target="_top" xlink:title="Abstract device memory management API.">
+<!-- Node43 -->
+<g id="node43" class="node">
+<title>Node43</title>
+<g id="a_node43"><a xlink:href="memory__manager_8h.html" target="_top" xlink:title="Abstract device memory management API.">
 <polygon fill="white" stroke="black" points="268,-815.5 268,-845.5 430,-845.5 430,-815.5 268,-815.5"/>
 <text text-anchor="start" x="276" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
 <text text-anchor="middle" x="349" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">/memory/memory_manager.h</text>
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node44 -->
-<g id="edge63" class="edge">
-<title>Node3&#45;&gt;Node44</title>
+<!-- Node2&#45;&gt;Node43 -->
+<g id="edge62" class="edge">
+<title>Node2&#45;&gt;Node43</title>
 <path fill="none" stroke="midnightblue" d="M1151.46,-892.91C987.5,-884.18 576.16,-861.45 439,-846 436.17,-845.68 433.29,-845.34 430.39,-844.97"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1151.72,-896.43 1161.89,-893.46 1152.09,-889.44 1151.72,-896.43"/>
 </g>
+<!-- Node2&#45;&gt;Node46 -->
+<g id="edge65" class="edge">
+<title>Node2&#45;&gt;Node46</title>
+<path fill="none" stroke="midnightblue" d="M1151.64,-893.35C912.2,-882.32 125.8,-846.1 125,-846 122.05,-845.62 119.04,-845.17 116,-844.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1151.8,-896.86 1161.95,-893.83 1152.12,-889.87 1151.8,-896.86"/>
+</g>
 <!-- Node47 -->
 <g id="node47" class="node">
 <title>Node47</title>
@@ -162,9 +162,9 @@
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node47 -->
-<g id="edge67" class="edge">
-<title>Node3&#45;&gt;Node47</title>
+<!-- Node2&#45;&gt;Node47 -->
+<g id="edge66" class="edge">
+<title>Node2&#45;&gt;Node47</title>
 <path fill="none" stroke="midnightblue" d="M1251.48,-877.02C1267.82,-866.9 1287.41,-854.77 1302.26,-845.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1249.44,-874.16 1242.78,-882.4 1253.13,-880.11 1249.44,-874.16"/>
 </g>
@@ -178,26 +178,26 @@
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node48 -->
-<g id="edge68" class="edge">
-<title>Node3&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M1288.41,-896.35C1683.03,-895.36 3672.29,-888.28 4283,-846 4527.56,-829.07 5215.52,-895.57 5378,-712 5387.13,-701.68 5386.8,-691.6 5378,-681 5322.55,-614.19 5265.34,-680.25 5186,-645 5141.08,-625.04 5126.87,-617.78 5098,-578 5047.36,-508.23 5026.96,-403.2 5021.01,-365.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1288.28,-892.85 1278.29,-896.38 1288.3,-899.85 1288.28,-892.85"/>
+<!-- Node2&#45;&gt;Node48 -->
+<g id="edge67" class="edge">
+<title>Node2&#45;&gt;Node48</title>
+<path fill="none" stroke="midnightblue" d="M1288.11,-896.35C1682.11,-895.36 3672.92,-888.31 4284,-846 4528.56,-829.07 5216.52,-895.57 5379,-712 5388.13,-701.68 5387.8,-691.6 5379,-681 5323.24,-613.88 5265.76,-680.39 5186,-645 5141.07,-625.06 5126.87,-617.78 5098,-578 5047.36,-508.23 5026.96,-403.2 5021.01,-365.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1288,-892.85 1278.01,-896.38 1288.02,-899.85 1288,-892.85"/>
 </g>
 <!-- Node52 -->
 <g id="node52" class="node">
 <title>Node52</title>
 <g id="a_node52"><a xlink:href="feature__extractor_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3475.5,-402.5 3475.5,-432.5 3636.5,-432.5 3636.5,-402.5 3475.5,-402.5"/>
-<text text-anchor="start" x="3483.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/meta</text>
-<text text-anchor="middle" x="3556" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_schedule/feature_extractor.h</text>
+<polygon fill="white" stroke="black" points="3476.5,-402.5 3476.5,-432.5 3637.5,-432.5 3637.5,-402.5 3476.5,-402.5"/>
+<text text-anchor="start" x="3484.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/meta</text>
+<text text-anchor="middle" x="3557" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_schedule/feature_extractor.h</text>
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node52 -->
-<g id="edge75" class="edge">
-<title>Node3&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M1288.29,-896.09C1642.32,-893.26 3258.28,-871.63 3405,-712 3414.32,-701.86 3413.09,-692.16 3405,-681 3374.81,-639.35 3325.19,-686.65 3295,-645 3286.91,-633.84 3291.46,-627.31 3295,-614 3314.09,-542.24 3319.51,-514.74 3378,-469 3405.71,-447.33 3442.28,-434.96 3475.06,-427.9"/>
+<!-- Node2&#45;&gt;Node52 -->
+<g id="edge74" class="edge">
+<title>Node2&#45;&gt;Node52</title>
+<path fill="none" stroke="midnightblue" d="M1288.29,-896.09C1642.32,-893.26 3258.28,-871.63 3405,-712 3414.32,-701.86 3413.09,-692.16 3405,-681 3374.81,-639.35 3325.19,-686.65 3295,-645 3286.91,-633.84 3291.46,-627.31 3295,-614 3314.09,-542.24 3319.47,-514.7 3378,-469 3406,-447.14 3442.98,-434.74 3476.06,-427.71"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1288.15,-892.59 1278.18,-896.17 1288.21,-899.59 1288.15,-892.59"/>
 </g>
 <!-- Node53 -->
@@ -209,9 +209,9 @@
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node53 -->
-<g id="edge76" class="edge">
-<title>Node3&#45;&gt;Node53</title>
+<!-- Node2&#45;&gt;Node53 -->
+<g id="edge75" class="edge">
+<title>Node2&#45;&gt;Node53</title>
 <path fill="none" stroke="midnightblue" d="M1288.4,-896.06C1560.29,-894.08 2590.84,-884.33 3438,-846 3484.87,-843.88 3537.45,-840.33 3578.75,-837.28"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1288.27,-892.56 1278.29,-896.13 1288.32,-899.56 1288.27,-892.56"/>
 </g>
@@ -225,747 +225,747 @@
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node94 -->
-<g id="edge162" class="edge">
-<title>Node3&#45;&gt;Node94</title>
+<!-- Node2&#45;&gt;Node94 -->
+<g id="edge161" class="edge">
+<title>Node2&#45;&gt;Node94</title>
 <path fill="none" stroke="midnightblue" d="M1151.66,-895.16C996.76,-890.54 626.43,-870 550,-779 521.99,-745.65 520.99,-713.49 550,-681 574.99,-653 815.87,-638.48 932,-633.05"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1151.9,-898.67 1161.99,-895.46 1152.1,-891.67 1151.9,-898.67"/>
 </g>
-<!-- Node5 -->
-<g id="node5" class="node">
-<title>Node5</title>
-<g id="a_node5"><a xlink:href="relax_2analysis_8h.html" target="_top" xlink:title="The set of Relax specific analysis on IR.">
-<polygon fill="white" stroke="black" points="974.5,-408 974.5,-427 1129.5,-427 1129.5,-408 974.5,-408"/>
-<text text-anchor="middle" x="1052" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/analysis.h</text>
+<!-- Node4 -->
+<g id="node4" class="node">
+<title>Node4</title>
+<g id="a_node4"><a xlink:href="relax_2analysis_8h.html" target="_top" xlink:title="The set of Relax specific analysis on IR.">
+<polygon fill="white" stroke="black" points="973.5,-408 973.5,-427 1128.5,-427 1128.5,-408 973.5,-408"/>
+<text text-anchor="middle" x="1051" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/analysis.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node5 -->
-<g id="edge4" class="edge">
-<title>Node4&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1810.97,-761.11C1549.07,-756.2 714.86,-738.53 664,-712 623.65,-690.95 602,-676.01 602,-630.5 602,-630.5 602,-630.5 602,-561.5 602,-484.29 845.66,-443.28 974.39,-427"/>
+<!-- Node3&#45;&gt;Node4 -->
+<g id="edge3" class="edge">
+<title>Node3&#45;&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M1810.97,-761.11C1549.07,-756.2 714.86,-738.53 664,-712 623.65,-690.95 602,-676.01 602,-630.5 602,-630.5 602,-630.5 602,-561.5 602,-484.39 845.44,-443.31 973.81,-427"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.1,-764.61 1821.16,-761.3 1811.23,-757.61 1811.1,-764.61"/>
 </g>
-<!-- Node6 -->
-<g id="node6" class="node">
-<title>Node6</title>
-<g id="a_node6"><a xlink:href="binding__rewrite_8h.html" target="_top" xlink:title="An IR rewriter to easily add/remove/replace bindings (statements).">
-<polygon fill="white" stroke="black" points="697.5,-335.5 697.5,-365.5 838.5,-365.5 838.5,-335.5 697.5,-335.5"/>
-<text text-anchor="start" x="705.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/binding</text>
-<text text-anchor="middle" x="768" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">_rewrite.h</text>
+<!-- Node5 -->
+<g id="node5" class="node">
+<title>Node5</title>
+<g id="a_node5"><a xlink:href="binding__rewrite_8h.html" target="_top" xlink:title="An IR rewriter to easily add/remove/replace bindings (statements).">
+<polygon fill="white" stroke="black" points="739.5,-335.5 739.5,-365.5 880.5,-365.5 880.5,-335.5 739.5,-335.5"/>
+<text text-anchor="start" x="747.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/binding</text>
+<text text-anchor="middle" x="810" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">_rewrite.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node6 -->
-<g id="edge23" class="edge">
-<title>Node4&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1811.25,-762.52C1551.7,-762.14 725.21,-757.37 615,-712 565.4,-691.58 526,-684.13 526,-630.5 526,-630.5 526,-630.5 526,-489 526,-409.51 625.92,-375.4 697.35,-361.18"/>
+<!-- Node3&#45;&gt;Node5 -->
+<g id="edge22" class="edge">
+<title>Node3&#45;&gt;Node5</title>
+<path fill="none" stroke="midnightblue" d="M1811.25,-762.52C1551.7,-762.14 725.21,-757.37 615,-712 565.4,-691.58 526,-684.13 526,-630.5 526,-630.5 526,-630.5 526,-489 526,-394.37 655.32,-364.84 739.43,-355.64"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.34,-766.02 1821.35,-762.53 1811.35,-759.02 1811.34,-766.02"/>
 </g>
-<!-- Node7 -->
-<g id="node7" class="node">
-<title>Node7</title>
-<g id="a_node7"><a xlink:href="ccl_8h.html" target="_top" xlink:title="Attributes for ccl operators.">
+<!-- Node6 -->
+<g id="node6" class="node">
+<title>Node6</title>
+<g id="a_node6"><a xlink:href="ccl_8h.html" target="_top" xlink:title="Attributes for ccl operators.">
 <polygon fill="white" stroke="black" points="858,-681.5 858,-711.5 986,-711.5 986,-681.5 858,-681.5"/>
 <text text-anchor="start" x="866" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="922" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ccl.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node7 -->
-<g id="edge6" class="edge">
-<title>Node4&#45;&gt;Node7</title>
+<!-- Node3&#45;&gt;Node6 -->
+<g id="edge5" class="edge">
+<title>Node3&#45;&gt;Node6</title>
 <path fill="none" stroke="midnightblue" d="M1811.01,-761.75C1655.29,-759.45 1295,-750.08 995,-712 992.05,-711.63 989.04,-711.2 986.01,-710.74"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.37,-765.26 1821.42,-761.9 1811.47,-758.26 1811.37,-765.26"/>
 </g>
-<!-- Node8 -->
-<g id="node8" class="node">
-<title>Node8</title>
-<g id="a_node8"><a xlink:href="create_8h.html" target="_top" xlink:title="Attributes for tensor creation operators.">
+<!-- Node7 -->
+<g id="node7" class="node">
+<title>Node7</title>
+<g id="a_node7"><a xlink:href="create_8h.html" target="_top" xlink:title="Attributes for tensor creation operators.">
 <polygon fill="white" stroke="black" points="1004,-681.5 1004,-711.5 1132,-711.5 1132,-681.5 1004,-681.5"/>
 <text text-anchor="start" x="1012" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="1068" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/create.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node8 -->
-<g id="edge7" class="edge">
-<title>Node4&#45;&gt;Node8</title>
+<!-- Node3&#45;&gt;Node7 -->
+<g id="edge6" class="edge">
+<title>Node3&#45;&gt;Node7</title>
 <path fill="none" stroke="midnightblue" d="M1811.07,-760.54C1674.7,-756.37 1384.17,-744.22 1141,-712 1138.05,-711.61 1135.05,-711.17 1132.02,-710.7"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.31,-764.05 1821.41,-760.85 1811.52,-757.05 1811.31,-764.05"/>
 </g>
-<!-- Node9 -->
-<g id="node9" class="node">
-<title>Node9</title>
-<g id="a_node9"><a xlink:href="datatype_8h.html" target="_top" xlink:title="Attributes for datatype operators.">
+<!-- Node8 -->
+<g id="node8" class="node">
+<title>Node8</title>
+<g id="a_node8"><a xlink:href="datatype_8h.html" target="_top" xlink:title="Attributes for datatype operators.">
 <polygon fill="white" stroke="black" points="1150,-681.5 1150,-711.5 1278,-711.5 1278,-681.5 1150,-681.5"/>
 <text text-anchor="start" x="1158" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="1214" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/datatype.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node9 -->
-<g id="edge8" class="edge">
-<title>Node4&#45;&gt;Node9</title>
+<!-- Node3&#45;&gt;Node8 -->
+<g id="edge7" class="edge">
+<title>Node3&#45;&gt;Node8</title>
 <path fill="none" stroke="midnightblue" d="M1811.35,-758.78C1696.38,-752.64 1474.26,-738.37 1287,-712 1284.06,-711.59 1281.05,-711.13 1278.02,-710.64"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.29,-762.28 1821.46,-759.32 1811.66,-755.29 1811.29,-762.28"/>
 </g>
-<!-- Node10 -->
-<g id="node10" class="node">
-<title>Node10</title>
-<g id="a_node10"><a xlink:href="distributed_8h.html" target="_top" xlink:title="Attributes for redistribute and annotate_sharding operators.">
+<!-- Node9 -->
+<g id="node9" class="node">
+<title>Node9</title>
+<g id="a_node9"><a xlink:href="distributed_8h.html" target="_top" xlink:title="Attributes for redistribute and annotate_sharding operators.">
 <polygon fill="white" stroke="black" points="2998,-402.5 2998,-432.5 3126,-432.5 3126,-402.5 2998,-402.5"/>
 <text text-anchor="start" x="3006" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="3062" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">/distributed.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node10 -->
-<g id="edge9" class="edge">
-<title>Node4&#45;&gt;Node10</title>
+<!-- Node3&#45;&gt;Node9 -->
+<g id="edge8" class="edge">
+<title>Node3&#45;&gt;Node9</title>
 <path fill="none" stroke="midnightblue" d="M1966.89,-763.24C2168.53,-764.44 2695.98,-762.64 2755,-712 2838.82,-640.08 2728.31,-546.5 2807,-469 2820.55,-455.66 2926.73,-438 2997.74,-427.49"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.7,-759.74 1956.68,-763.18 1966.65,-766.74 1966.7,-759.74"/>
 </g>
-<!-- Node11 -->
-<g id="node11" class="node">
-<title>Node11</title>
-<g id="a_node11"><a xlink:href="image_8h.html" target="_top" xlink:title="Attributes for image operators.">
+<!-- Node10 -->
+<g id="node10" class="node">
+<title>Node10</title>
+<g id="a_node10"><a xlink:href="image_8h.html" target="_top" xlink:title="Attributes for image operators.">
 <polygon fill="white" stroke="black" points="1296,-681.5 1296,-711.5 1424,-711.5 1424,-681.5 1296,-681.5"/>
 <text text-anchor="start" x="1304" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="1360" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/image.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node11 -->
-<g id="edge10" class="edge">
-<title>Node4&#45;&gt;Node11</title>
+<!-- Node3&#45;&gt;Node10 -->
+<g id="edge9" class="edge">
+<title>Node3&#45;&gt;Node10</title>
 <path fill="none" stroke="midnightblue" d="M1810.92,-755.91C1719.9,-747.75 1565.08,-732.39 1433,-712 1430.06,-711.55 1427.06,-711.06 1424.04,-710.54"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1810.89,-759.42 1821.16,-756.82 1811.51,-752.45 1810.89,-759.42"/>
 </g>
-<!-- Node12 -->
-<g id="node12" class="node">
-<title>Node12</title>
-<g id="a_node12"><a xlink:href="index_8h.html" target="_top" xlink:title="Attributes for indexing operators.">
+<!-- Node11 -->
+<g id="node11" class="node">
+<title>Node11</title>
+<g id="a_node11"><a xlink:href="index_8h.html" target="_top" xlink:title="Attributes for indexing operators.">
 <polygon fill="white" stroke="black" points="1442,-681.5 1442,-711.5 1570,-711.5 1570,-681.5 1442,-681.5"/>
 <text text-anchor="start" x="1450" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="1506" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/index.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node12 -->
-<g id="edge11" class="edge">
-<title>Node4&#45;&gt;Node12</title>
+<!-- Node3&#45;&gt;Node11 -->
+<g id="edge10" class="edge">
+<title>Node3&#45;&gt;Node11</title>
 <path fill="none" stroke="midnightblue" d="M1822.73,-752.38C1759.88,-742.63 1662.87,-727.16 1579,-712 1576.08,-711.47 1573.09,-710.92 1570.07,-710.36"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1822.48,-755.89 1832.9,-753.96 1823.55,-748.97 1822.48,-755.89"/>
 </g>
-<!-- Node13 -->
-<g id="node13" class="node">
-<title>Node13</title>
-<g id="a_node13"><a xlink:href="linear__algebra_8h.html" target="_top" xlink:title="Attributes for linear algebra operators.">
+<!-- Node12 -->
+<g id="node12" class="node">
+<title>Node12</title>
+<g id="a_node12"><a xlink:href="linear__algebra_8h.html" target="_top" xlink:title="Attributes for linear algebra operators.">
 <polygon fill="white" stroke="black" points="1588,-681.5 1588,-711.5 1716,-711.5 1716,-681.5 1588,-681.5"/>
 <text text-anchor="start" x="1596" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="1652" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/linear_algebra.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node13 -->
-<g id="edge12" class="edge">
-<title>Node4&#45;&gt;Node13</title>
+<!-- Node3&#45;&gt;Node12 -->
+<g id="edge11" class="edge">
+<title>Node3&#45;&gt;Node12</title>
 <path fill="none" stroke="midnightblue" d="M1847.79,-751.2C1807.62,-740.18 1746.41,-723.39 1703.15,-711.53"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1846.96,-754.6 1857.53,-753.87 1848.81,-747.85 1846.96,-754.6"/>
 </g>
-<!-- Node14 -->
-<g id="node14" class="node">
-<title>Node14</title>
-<g id="a_node14"><a xlink:href="manipulate_8h.html" target="_top" xlink:title="Attributes for tensor manipulation operators.">
+<!-- Node13 -->
+<g id="node13" class="node">
+<title>Node13</title>
+<g id="a_node13"><a xlink:href="manipulate_8h.html" target="_top" xlink:title="Attributes for tensor manipulation operators.">
 <polygon fill="white" stroke="black" points="706,-547.5 706,-577.5 834,-577.5 834,-547.5 706,-547.5"/>
 <text text-anchor="start" x="714" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="770" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">/manipulate.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node14 -->
-<g id="edge13" class="edge">
-<title>Node4&#45;&gt;Node14</title>
+<!-- Node3&#45;&gt;Node13 -->
+<g id="edge12" class="edge">
+<title>Node3&#45;&gt;Node13</title>
 <path fill="none" stroke="midnightblue" d="M1811.42,-761.93C1562.54,-759.73 798.23,-749.89 762,-712 726.85,-675.24 750.53,-607.12 763.32,-577.67"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.44,-765.43 1821.47,-762.02 1811.5,-758.43 1811.44,-765.43"/>
 </g>
-<!-- Node15 -->
-<g id="node15" class="node">
-<title>Node15</title>
-<g id="a_node15"><a xlink:href="relax_2attrs_2nn_8h.html" target="_top" xlink:title="Attributes for neural network operators.">
+<!-- Node14 -->
+<g id="node14" class="node">
+<title>Node14</title>
+<g id="a_node14"><a xlink:href="relax_2attrs_2nn_8h.html" target="_top" xlink:title="Attributes for neural network operators.">
 <polygon fill="white" stroke="black" points="1734,-687 1734,-706 1886,-706 1886,-687 1734,-687"/>
 <text text-anchor="middle" x="1810" y="-694" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs/nn.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node15 -->
-<g id="edge14" class="edge">
-<title>Node4&#45;&gt;Node15</title>
+<!-- Node3&#45;&gt;Node14 -->
+<g id="edge13" class="edge">
+<title>Node3&#45;&gt;Node14</title>
 <path fill="none" stroke="midnightblue" d="M1870.42,-747.21C1854.86,-734.41 1833.2,-716.59 1820.49,-706.13"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1868.4,-750.08 1878.35,-753.73 1872.85,-744.68 1868.4,-750.08"/>
 </g>
-<!-- Node16 -->
-<g id="node16" class="node">
-<title>Node16</title>
-<g id="a_node16"><a xlink:href="relax_2attrs_2op_8h.html" target="_top" xlink:title="Attributes for relax specific operators.">
+<!-- Node15 -->
+<g id="node15" class="node">
+<title>Node15</title>
+<g id="a_node15"><a xlink:href="relax_2attrs_2op_8h.html" target="_top" xlink:title="Attributes for relax specific operators.">
 <polygon fill="white" stroke="black" points="3014,-687 3014,-706 3166,-706 3166,-687 3014,-687"/>
 <text text-anchor="middle" x="3090" y="-694" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs/op.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node16 -->
-<g id="edge15" class="edge">
-<title>Node4&#45;&gt;Node16</title>
+<!-- Node3&#45;&gt;Node15 -->
+<g id="edge14" class="edge">
+<title>Node3&#45;&gt;Node15</title>
 <path fill="none" stroke="midnightblue" d="M1966.76,-762.02C2148.21,-760.23 2613.53,-751.78 3000,-712 3014.17,-710.54 3029.5,-708.32 3043.42,-706.04"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.48,-758.52 1956.51,-762.11 1966.55,-765.52 1966.48,-758.52"/>
 </g>
-<!-- Node17 -->
-<g id="node17" class="node">
-<title>Node17</title>
-<g id="a_node17"><a xlink:href="qdq_8h.html" target="_top" xlink:title="Attributes for quantize/dequantize operators.">
+<!-- Node16 -->
+<g id="node16" class="node">
+<title>Node16</title>
+<g id="a_node16"><a xlink:href="qdq_8h.html" target="_top" xlink:title="Attributes for quantize/dequantize operators.">
 <polygon fill="white" stroke="black" points="1904,-681.5 1904,-711.5 2032,-711.5 2032,-681.5 1904,-681.5"/>
 <text text-anchor="start" x="1912" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="1968" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/qdq.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node17 -->
-<g id="edge16" class="edge">
-<title>Node4&#45;&gt;Node17</title>
+<!-- Node3&#45;&gt;Node16 -->
+<g id="edge15" class="edge">
+<title>Node3&#45;&gt;Node16</title>
 <path fill="none" stroke="midnightblue" d="M1907.55,-747.24C1920.66,-736.45 1938.1,-722.1 1950.88,-711.59"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1905.15,-744.68 1899.65,-753.73 1909.6,-750.08 1905.15,-744.68"/>
 </g>
-<!-- Node18 -->
-<g id="node18" class="node">
-<title>Node18</title>
-<g id="a_node18"><a xlink:href="sampling_8h.html" target="_top" xlink:title="Attributes for sampling operators.">
+<!-- Node17 -->
+<g id="node17" class="node">
+<title>Node17</title>
+<g id="a_node17"><a xlink:href="sampling_8h.html" target="_top" xlink:title="Attributes for sampling operators.">
 <polygon fill="white" stroke="black" points="2050,-681.5 2050,-711.5 2178,-711.5 2178,-681.5 2050,-681.5"/>
 <text text-anchor="start" x="2058" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="2114" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/sampling.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node18 -->
-<g id="edge17" class="edge">
-<title>Node4&#45;&gt;Node18</title>
+<!-- Node3&#45;&gt;Node17 -->
+<g id="edge16" class="edge">
+<title>Node3&#45;&gt;Node17</title>
 <path fill="none" stroke="midnightblue" d="M1928.61,-751.06C1966.76,-740.04 2024.54,-723.34 2065.44,-711.53"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1927.51,-747.73 1918.88,-753.87 1929.46,-754.46 1927.51,-747.73"/>
 </g>
-<!-- Node19 -->
-<g id="node19" class="node">
-<title>Node19</title>
-<g id="a_node19"><a xlink:href="search_8h.html" target="_top" xlink:title="Attributes for search operators.">
+<!-- Node18 -->
+<g id="node18" class="node">
+<title>Node18</title>
+<g id="a_node18"><a xlink:href="search_8h.html" target="_top" xlink:title="Attributes for search operators.">
 <polygon fill="white" stroke="black" points="2196,-681.5 2196,-711.5 2324,-711.5 2324,-681.5 2196,-681.5"/>
 <text text-anchor="start" x="2204" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="2260" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/search.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node19 -->
-<g id="edge18" class="edge">
-<title>Node4&#45;&gt;Node19</title>
+<!-- Node3&#45;&gt;Node18 -->
+<g id="edge17" class="edge">
+<title>Node3&#45;&gt;Node18</title>
 <path fill="none" stroke="midnightblue" d="M1952.24,-752.31C2012.63,-742.46 2106.14,-726.88 2187,-712 2189.92,-711.46 2192.91,-710.9 2195.93,-710.33"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1951.41,-748.9 1942.1,-753.96 1952.54,-755.81 1951.41,-748.9"/>
 </g>
-<!-- Node20 -->
-<g id="node20" class="node">
-<title>Node20</title>
-<g id="a_node20"><a xlink:href="sorting_8h.html" target="_top" xlink:title="Attributes for sorting operators.">
+<!-- Node19 -->
+<g id="node19" class="node">
+<title>Node19</title>
+<g id="a_node19"><a xlink:href="sorting_8h.html" target="_top" xlink:title="Attributes for sorting operators.">
 <polygon fill="white" stroke="black" points="852,-547.5 852,-577.5 980,-577.5 980,-547.5 852,-547.5"/>
 <text text-anchor="start" x="860" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="916" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">/sorting.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node20 -->
-<g id="edge19" class="edge">
-<title>Node4&#45;&gt;Node20</title>
+<!-- Node3&#45;&gt;Node19 -->
+<g id="edge18" class="edge">
+<title>Node3&#45;&gt;Node19</title>
 <path fill="none" stroke="midnightblue" d="M1810.88,-761.87C1563.82,-759.51 813.63,-749.29 778,-712 731.32,-663.15 832.28,-604.04 885.68,-577.54"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.18,-765.38 1821.21,-761.97 1811.24,-758.38 1811.18,-765.38"/>
 </g>
-<!-- Node21 -->
-<g id="node21" class="node">
-<title>Node21</title>
-<g id="a_node21"><a xlink:href="statistical_8h.html" target="_top" xlink:title="Attributes for statistical operators.">
+<!-- Node20 -->
+<g id="node20" class="node">
+<title>Node20</title>
+<g id="a_node20"><a xlink:href="statistical_8h.html" target="_top" xlink:title="Attributes for statistical operators.">
 <polygon fill="white" stroke="black" points="2380,-681.5 2380,-711.5 2508,-711.5 2508,-681.5 2380,-681.5"/>
 <text text-anchor="start" x="2388" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="2444" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/statistical.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node21 -->
-<g id="edge20" class="edge">
-<title>Node4&#45;&gt;Node21</title>
+<!-- Node3&#45;&gt;Node20 -->
+<g id="edge19" class="edge">
+<title>Node3&#45;&gt;Node20</title>
 <path fill="none" stroke="midnightblue" d="M1966.81,-756.15C2061.43,-747.99 2225.87,-732.41 2366,-712 2370.5,-711.34 2375.13,-710.62 2379.79,-709.85"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.41,-752.67 1956.75,-757.01 1967.01,-759.64 1966.41,-752.67"/>
 </g>
-<!-- Node22 -->
-<g id="node22" class="node">
-<title>Node22</title>
-<g id="a_node22"><a xlink:href="vision_8h.html" target="_top" xlink:title="Auxiliary attributes for vision operators.">
+<!-- Node21 -->
+<g id="node21" class="node">
+<title>Node21</title>
+<g id="a_node21"><a xlink:href="vision_8h.html" target="_top" xlink:title="Auxiliary attributes for vision operators.">
 <polygon fill="white" stroke="black" points="2526,-681.5 2526,-711.5 2654,-711.5 2654,-681.5 2526,-681.5"/>
 <text text-anchor="start" x="2534" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/attrs</text>
 <text text-anchor="middle" x="2590" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vision.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node22 -->
-<g id="edge21" class="edge">
-<title>Node4&#45;&gt;Node22</title>
+<!-- Node3&#45;&gt;Node21 -->
+<g id="edge20" class="edge">
+<title>Node3&#45;&gt;Node21</title>
 <path fill="none" stroke="midnightblue" d="M1966.76,-759.15C2085.73,-753.37 2319.88,-739.41 2517,-712 2519.94,-711.59 2522.95,-711.14 2525.98,-710.65"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.48,-755.66 1956.66,-759.63 1966.81,-762.65 1966.48,-755.66"/>
 </g>
-<!-- Node23 -->
-<g id="node23" class="node">
-<title>Node23</title>
-<g id="a_node23"><a xlink:href="relax_2backend_2adreno_2transform_8h.html" target="_top" xlink:title="Adreno GPU specific transformation passes.">
+<!-- Node22 -->
+<g id="node22" class="node">
+<title>Node22</title>
+<g id="a_node22"><a xlink:href="relax_2backend_2adreno_2transform_8h.html" target="_top" xlink:title="Adreno GPU specific transformation passes.">
 <polygon fill="white" stroke="black" points="2191,-475 2191,-505 2337,-505 2337,-475 2191,-475"/>
 <text text-anchor="start" x="2199" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/backend</text>
 <text text-anchor="middle" x="2264" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00">/adreno/transform.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node23 -->
-<g id="edge22" class="edge">
-<title>Node4&#45;&gt;Node23</title>
+<!-- Node3&#45;&gt;Node22 -->
+<g id="edge21" class="edge">
+<title>Node3&#45;&gt;Node22</title>
 <path fill="none" stroke="midnightblue" d="M1966.7,-763.3C2153.56,-764.42 2616.1,-762.06 2663,-712 2672.42,-701.95 2670.36,-692.65 2663,-681 2641.73,-647.31 2392.21,-543.17 2298.91,-505.11"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.7,-759.8 1956.67,-763.24 1966.65,-766.8 1966.7,-759.8"/>
 </g>
-<!-- Node24 -->
-<g id="node24" class="node">
-<title>Node24</title>
-<g id="a_node24"><a xlink:href="block__builder_8h.html" target="_top" xlink:title="The utility for constructing Relax binding blocks.">
+<!-- Node23 -->
+<g id="node23" class="node">
+<title>Node23</title>
+<g id="a_node23"><a xlink:href="block__builder_8h.html" target="_top" xlink:title="The utility for constructing Relax binding blocks.">
 <polygon fill="white" stroke="black" points="2976.5,-614.5 2976.5,-644.5 3107.5,-644.5 3107.5,-614.5 2976.5,-614.5"/>
 <text text-anchor="start" x="2984.5" y="-632.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/block</text>
 <text text-anchor="middle" x="3042" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00">_builder.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node24 -->
-<g id="edge24" class="edge">
-<title>Node4&#45;&gt;Node24</title>
+<!-- Node3&#45;&gt;Node23 -->
+<g id="edge23" class="edge">
+<title>Node3&#45;&gt;Node23</title>
 <path fill="none" stroke="midnightblue" d="M1966.88,-761.84C2164.41,-759.63 2681.06,-750.24 2848,-712 2880.67,-704.52 2966.18,-665.89 3012,-644.61"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.55,-758.35 1956.59,-761.96 1966.63,-765.35 1966.55,-758.35"/>
 </g>
-<!-- Node25 -->
-<g id="node25" class="node">
-<title>Node25</title>
-<g id="a_node25"><a xlink:href="relax_2expr__functor_8h.html" target="_top" xlink:title="A more powerful visitor which enables defining arbitrary function signatures with type based dispatch...">
+<!-- Node24 -->
+<g id="node24" class="node">
+<title>Node24</title>
+<g id="a_node24"><a xlink:href="relax_2expr__functor_8h.html" target="_top" xlink:title="A more powerful visitor which enables defining arbitrary function signatures with type based dispatch...">
 <polygon fill="white" stroke="black" points="2685.5,-335.5 2685.5,-365.5 2812.5,-365.5 2812.5,-335.5 2685.5,-335.5"/>
 <text text-anchor="start" x="2693.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/expr</text>
 <text text-anchor="middle" x="2749" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">_functor.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node25 -->
-<g id="edge51" class="edge">
-<title>Node4&#45;&gt;Node25</title>
+<!-- Node3&#45;&gt;Node24 -->
+<g id="edge50" class="edge">
+<title>Node3&#45;&gt;Node24</title>
 <path fill="none" stroke="midnightblue" d="M1966.87,-760.37C2161.59,-754.68 2655.84,-737.76 2680,-712 2732.79,-655.73 2604.62,-621.14 2626,-547 2647.89,-471.1 2708.93,-396.24 2735.9,-365.77"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.6,-756.88 1956.71,-760.67 1966.81,-763.88 1966.6,-756.88"/>
 </g>
-<!-- Node26 -->
-<g id="node26" class="node">
-<title>Node26</title>
-<g id="a_node26"><a xlink:href="struct__info_8h.html" target="_top" xlink:title=" ">
+<!-- Node25 -->
+<g id="node25" class="node">
+<title>Node25</title>
+<g id="a_node25"><a xlink:href="struct__info_8h.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="2634.5,-547.5 2634.5,-577.5 2767.5,-577.5 2767.5,-547.5 2634.5,-547.5"/>
 <text text-anchor="start" x="2642.5" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/struct</text>
 <text text-anchor="middle" x="2701" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">_info.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node26 -->
-<g id="edge54" class="edge">
-<title>Node4&#45;&gt;Node26</title>
+<!-- Node3&#45;&gt;Node25 -->
+<g id="edge53" class="edge">
+<title>Node3&#45;&gt;Node25</title>
 <path fill="none" stroke="midnightblue" d="M1966.78,-760.71C2170.87,-755.63 2707.91,-739.7 2734,-712 2763.87,-680.3 2746.43,-655.74 2734,-614 2729.99,-600.55 2721.14,-587.34 2713.61,-577.81"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.64,-757.21 1956.73,-760.96 1966.81,-764.21 1966.64,-757.21"/>
 </g>
-<!-- Node28 -->
-<g id="node28" class="node">
-<title>Node28</title>
-<g id="a_node28"><a xlink:href="axis__group__graph_8h.html" target="_top" xlink:title=" ">
+<!-- Node27 -->
+<g id="node27" class="node">
+<title>Node27</title>
+<g id="a_node27"><a xlink:href="axis__group__graph_8h.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="3166,-402.5 3166,-432.5 3324,-432.5 3324,-402.5 3166,-402.5"/>
 <text text-anchor="start" x="3174" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/distributed</text>
 <text text-anchor="middle" x="3245" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">/axis_group_graph.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node28 -->
-<g id="edge49" class="edge">
-<title>Node4&#45;&gt;Node28</title>
+<!-- Node3&#45;&gt;Node27 -->
+<g id="edge48" class="edge">
+<title>Node3&#45;&gt;Node27</title>
 <path fill="none" stroke="midnightblue" d="M1966.82,-760.91C2195.87,-755.93 2857.48,-739.33 2951,-712 2977.56,-704.24 2979.47,-691.69 3005,-681 3116.6,-634.26 3195.21,-682.03 3257,-578 3272.41,-552.06 3250.62,-540.82 3246,-511 3241.75,-483.54 3242.79,-450.95 3243.91,-432.71"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.49,-757.41 1956.57,-761.13 1966.64,-764.41 1966.49,-757.41"/>
 </g>
-<!-- Node30 -->
-<g id="node30" class="node">
-<title>Node30</title>
-<g id="a_node30"><a xlink:href="nested__msg_8h.html" target="_top" xlink:title="Helper container to store nested message for robust tuple&#45;aware analysis.">
+<!-- Node29 -->
+<g id="node29" class="node">
+<title>Node29</title>
+<g id="a_node29"><a xlink:href="nested__msg_8h.html" target="_top" xlink:title="Helper container to store nested message for robust tuple&#45;aware analysis.">
 <polygon fill="white" stroke="black" points="2393,-475 2393,-505 2531,-505 2531,-475 2393,-475"/>
 <text text-anchor="start" x="2401" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/nested</text>
 <text text-anchor="middle" x="2462" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00">_msg.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node30 -->
-<g id="edge52" class="edge">
-<title>Node4&#45;&gt;Node30</title>
+<!-- Node3&#45;&gt;Node29 -->
+<g id="edge51" class="edge">
+<title>Node3&#45;&gt;Node29</title>
 <path fill="none" stroke="midnightblue" d="M1810.94,-761.47C1559.51,-757.85 784.65,-744.11 742,-712 681.28,-666.28 643.84,-601.33 697,-547 729.04,-514.25 2300.4,-515.4 2346,-511 2361.26,-509.53 2377.53,-507.2 2392.91,-504.65"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.04,-764.97 1821.09,-761.62 1811.14,-757.97 1811.04,-764.97"/>
 </g>
-<!-- Node31 -->
-<g id="node31" class="node">
-<title>Node31</title>
-<g id="a_node31"><a xlink:href="relax_2op__attr__types_8h.html" target="_top" xlink:title="Data structures that can appear in operator attributes.">
+<!-- Node30 -->
+<g id="node30" class="node">
+<title>Node30</title>
+<g id="a_node30"><a xlink:href="relax_2op__attr__types_8h.html" target="_top" xlink:title="Data structures that can appear in operator attributes.">
 <polygon fill="white" stroke="black" points="1036.5,-475 1036.5,-505 1153.5,-505 1153.5,-475 1036.5,-475"/>
 <text text-anchor="start" x="1044.5" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/op</text>
 <text text-anchor="middle" x="1095" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00">_attr_types.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node31 -->
-<g id="edge53" class="edge">
-<title>Node4&#45;&gt;Node31</title>
+<!-- Node3&#45;&gt;Node30 -->
+<g id="edge52" class="edge">
+<title>Node3&#45;&gt;Node30</title>
 <path fill="none" stroke="midnightblue" d="M1810.79,-761.29C1554.07,-757.02 750.86,-741.39 704,-712 640.72,-672.31 621.11,-601.69 672,-547 696.44,-520.73 926.18,-502.15 1036.47,-494.66"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.09,-764.79 1821.14,-761.46 1811.2,-757.79 1811.09,-764.79"/>
 </g>
-<!-- Node32 -->
-<g id="node32" class="node">
-<title>Node32</title>
-<g id="a_node32"><a xlink:href="relax_2ir_8h.html" target="_top" xlink:title=" ">
+<!-- Node31 -->
+<g id="node31" class="node">
+<title>Node31</title>
+<g id="a_node31"><a xlink:href="relax_2ir_8h.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="2815.5,-475 2815.5,-505 2926.5,-505 2926.5,-475 2815.5,-475"/>
 <text text-anchor="start" x="2823.5" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
 <text text-anchor="middle" x="2871" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/relax/ir.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node32 -->
-<g id="edge59" class="edge">
-<title>Node4&#45;&gt;Node32</title>
+<!-- Node3&#45;&gt;Node31 -->
+<g id="edge58" class="edge">
+<title>Node3&#45;&gt;Node31</title>
 <path fill="none" stroke="midnightblue" d="M1966.82,-760.69C2183.04,-755.33 2777.39,-738.27 2810,-712 2874.94,-659.69 2874.44,-544.99 2872.12,-505.05"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.42,-757.2 1956.51,-760.94 1966.59,-764.19 1966.42,-757.2"/>
 </g>
-<!-- Node33 -->
-<g id="node33" class="node">
-<title>Node33</title>
-<g id="a_node33"><a xlink:href="relax_2frame_8h.html" target="_top" xlink:title=" ">
+<!-- Node32 -->
+<g id="node32" class="node">
+<title>Node32</title>
+<g id="a_node32"><a xlink:href="relax_2frame_8h.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="2938,-547.5 2938,-577.5 3072,-577.5 3072,-547.5 2938,-547.5"/>
 <text text-anchor="start" x="2946" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
 <text text-anchor="middle" x="3005" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/relax/frame.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node33 -->
-<g id="edge58" class="edge">
-<title>Node4&#45;&gt;Node33</title>
+<!-- Node3&#45;&gt;Node32 -->
+<g id="edge57" class="edge">
+<title>Node3&#45;&gt;Node32</title>
 <path fill="none" stroke="midnightblue" d="M1966.72,-762.35C2172.09,-761.35 2725.62,-754.66 2903,-712 2935.69,-704.14 2940.23,-691.98 2972,-681 3034.76,-659.31 3076.09,-697.3 3117,-645 3140.11,-615.45 3093.47,-591.65 3053.5,-577.57"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.6,-758.85 1956.62,-762.39 1966.63,-765.85 1966.6,-758.85"/>
 </g>
-<!-- Node34 -->
-<g id="node34" class="node">
-<title>Node34</title>
-<g id="a_node34"><a xlink:href="dataflow__pattern_8h.html" target="_top" xlink:title="A pattern language for matching dataflow properties.">
+<!-- Node33 -->
+<g id="node33" class="node">
+<title>Node33</title>
+<g id="a_node33"><a xlink:href="dataflow__pattern_8h.html" target="_top" xlink:title="A pattern language for matching dataflow properties.">
 <polygon fill="white" stroke="black" points="1150.5,-614.5 1150.5,-644.5 1297.5,-644.5 1297.5,-614.5 1150.5,-614.5"/>
 <text text-anchor="start" x="1158.5" y="-632.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/dataflow</text>
 <text text-anchor="middle" x="1224" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00">_pattern.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node34 -->
-<g id="edge41" class="edge">
-<title>Node4&#45;&gt;Node34</title>
+<!-- Node3&#45;&gt;Node33 -->
+<g id="edge40" class="edge">
+<title>Node3&#45;&gt;Node33</title>
 <path fill="none" stroke="midnightblue" d="M1811.06,-761.62C1575.02,-758.58 882.08,-746.72 849,-712 839.5,-702.02 839.93,-691.37 849,-681 853.93,-675.36 1042.41,-652.1 1150.23,-639.2"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.23,-765.12 1821.28,-761.75 1811.32,-758.12 1811.23,-765.12"/>
 </g>
-<!-- Node37 -->
-<g id="node37" class="node">
-<title>Node37</title>
-<g id="a_node37"><a xlink:href="relax_2distributed_2transform_8h.html" target="_top" xlink:title="Relax distributed specific transformation passes.">
+<!-- Node36 -->
+<g id="node36" class="node">
+<title>Node36</title>
+<g id="a_node36"><a xlink:href="relax_2distributed_2transform_8h.html" target="_top" xlink:title="Relax distributed specific transformation passes.">
 <polygon fill="white" stroke="black" points="1292,-475 1292,-505 1450,-505 1450,-475 1292,-475"/>
 <text text-anchor="start" x="1300" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/distributed</text>
 <text text-anchor="middle" x="1371" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00">/transform.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node37 -->
-<g id="edge50" class="edge">
-<title>Node4&#45;&gt;Node37</title>
+<!-- Node3&#45;&gt;Node36 -->
+<g id="edge49" class="edge">
+<title>Node3&#45;&gt;Node36</title>
 <path fill="none" stroke="midnightblue" d="M1811.06,-761.66C1573.33,-758.73 871.47,-747.12 838,-712 828.49,-702.03 829.05,-691.48 838,-681 904.33,-603.32 978.68,-699.62 1065,-645 1109.58,-616.79 1088.47,-576.82 1132,-547 1179.11,-514.73 1242.39,-500.89 1291.99,-495.04"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1811.31,-765.17 1821.35,-761.79 1811.4,-758.17 1811.31,-765.17"/>
 </g>
-<!-- Node38 -->
-<g id="node38" class="node">
-<title>Node38</title>
-<g id="a_node38"><a xlink:href="relax_2transform_8h.html" target="_top" xlink:title="Relax specific transformation passes.">
-<polygon fill="white" stroke="black" points="2098,-553 2098,-572 2260,-572 2260,-553 2098,-553"/>
-<text text-anchor="middle" x="2179" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/transform.h</text>
+<!-- Node37 -->
+<g id="node37" class="node">
+<title>Node37</title>
+<g id="a_node37"><a xlink:href="relax_2transform_8h.html" target="_top" xlink:title="Relax specific transformation passes.">
+<polygon fill="white" stroke="black" points="2099,-553 2099,-572 2261,-572 2261,-553 2099,-553"/>
+<text text-anchor="middle" x="2180" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/transform.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node38 -->
-<g id="edge55" class="edge">
-<title>Node4&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M1967.27,-759.16C2088.2,-753.2 2309.12,-738.75 2333,-712 2383.71,-655.2 2254.45,-594.14 2200.94,-572.07"/>
+<!-- Node3&#45;&gt;Node37 -->
+<g id="edge54" class="edge">
+<title>Node3&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M1967.27,-759.16C2088.2,-753.2 2309.12,-738.75 2333,-712 2383.54,-655.39 2255.02,-594.22 2201.81,-572.09"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.78,-755.68 1956.96,-759.66 1967.12,-762.68 1966.78,-755.68"/>
 </g>
-<!-- Node40 -->
-<g id="node40" class="node">
-<title>Node40</title>
-<g id="a_node40"><a xlink:href="relax_2utils_8h.html" target="_top" xlink:title="Utility classes and functions for working with the Relax IR.">
+<!-- Node39 -->
+<g id="node39" class="node">
+<title>Node39</title>
+<g id="a_node39"><a xlink:href="relax_2utils_8h.html" target="_top" xlink:title="Utility classes and functions for working with the Relax IR.">
 <polygon fill="white" stroke="black" points="3260.5,-687 3260.5,-706 3395.5,-706 3395.5,-687 3260.5,-687"/>
 <text text-anchor="middle" x="3328" y="-694" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/utils.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node40 -->
-<g id="edge56" class="edge">
-<title>Node4&#45;&gt;Node40</title>
+<!-- Node3&#45;&gt;Node39 -->
+<g id="edge55" class="edge">
+<title>Node3&#45;&gt;Node39</title>
 <path fill="none" stroke="midnightblue" d="M1966.83,-760.94C2167.28,-756.6 2717.57,-742.63 3175,-712 3202.95,-710.13 3233.71,-707.35 3260.28,-704.73"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1966.62,-757.45 1956.69,-761.16 1966.77,-764.44 1966.62,-757.45"/>
 </g>
-<!-- Node5&#45;&gt;Node6 -->
-<g id="edge5" class="edge">
-<title>Node5&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1004.75,-405.69C956.7,-394.69 882.04,-377.6 829.43,-365.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1004.05,-409.12 1014.58,-407.94 1005.61,-402.29 1004.05,-409.12"/>
+<!-- Node4&#45;&gt;Node5 -->
+<g id="edge4" class="edge">
+<title>Node4&#45;&gt;Node5</title>
+<path fill="none" stroke="midnightblue" d="M1009.1,-405.2C968.24,-394.18 906.01,-377.39 862.01,-365.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1008.43,-408.64 1019,-407.87 1010.25,-401.89 1008.43,-408.64"/>
 </g>
-<!-- Node24&#45;&gt;Node25 -->
-<g id="edge25" class="edge">
-<title>Node24&#45;&gt;Node25</title>
+<!-- Node23&#45;&gt;Node24 -->
+<g id="edge24" class="edge">
+<title>Node23&#45;&gt;Node24</title>
 <path fill="none" stroke="midnightblue" d="M2969.1,-610.46C2953.29,-603.04 2938.48,-592.62 2929,-578 2912.71,-552.88 2933.13,-540.8 2936,-511 2940.69,-462.26 2953.7,-437.52 2920,-402 2892.41,-372.92 2848.98,-360.33 2812.79,-355"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2967.93,-613.77 2978.5,-614.5 2970.69,-607.34 2967.93,-613.77"/>
 </g>
-<!-- Node24&#45;&gt;Node26 -->
-<g id="edge26" class="edge">
-<title>Node24&#45;&gt;Node26</title>
+<!-- Node23&#45;&gt;Node25 -->
+<g id="edge25" class="edge">
+<title>Node23&#45;&gt;Node25</title>
 <path fill="none" stroke="midnightblue" d="M2966.16,-614.04C2906.69,-602.71 2824.71,-587.08 2767.71,-576.22"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2965.77,-617.53 2976.25,-615.97 2967.08,-610.66 2965.77,-617.53"/>
 </g>
-<!-- Node24&#45;&gt;Node33 -->
-<g id="edge39" class="edge">
-<title>Node24&#45;&gt;Node33</title>
+<!-- Node23&#45;&gt;Node32 -->
+<g id="edge38" class="edge">
+<title>Node23&#45;&gt;Node32</title>
 <path fill="none" stroke="midnightblue" d="M3028.95,-605.58C3023.64,-596.24 3017.66,-585.75 3013.01,-577.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3025.98,-607.44 3033.97,-614.4 3032.07,-603.97 3025.98,-607.44"/>
 </g>
-<!-- Node26&#45;&gt;Node5 -->
-<g id="edge27" class="edge">
-<title>Node26&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2682.85,-539.32C2661.96,-514.47 2628.31,-476.64 2611,-469 2542.72,-438.86 1435.46,-423.17 1129.68,-419.4"/>
+<!-- Node25&#45;&gt;Node4 -->
+<g id="edge26" class="edge">
+<title>Node25&#45;&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M2682.85,-539.32C2661.96,-514.47 2628.31,-476.64 2611,-469 2542.67,-438.84 1434.71,-423.17 1128.73,-419.4"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2680.31,-541.74 2689.4,-547.19 2685.69,-537.26 2680.31,-541.74"/>
 </g>
-<!-- Node26&#45;&gt;Node25 -->
-<g id="edge33" class="edge">
-<title>Node26&#45;&gt;Node25</title>
+<!-- Node25&#45;&gt;Node24 -->
+<g id="edge32" class="edge">
+<title>Node25&#45;&gt;Node24</title>
 <path fill="none" stroke="midnightblue" d="M2705.67,-537.37C2711.84,-506.04 2723.31,-449.72 2735,-402 2738.03,-389.63 2741.93,-375.69 2744.85,-365.59"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2702.2,-536.87 2703.72,-547.35 2709.07,-538.21 2702.2,-536.87"/>
 </g>
-<!-- Node27 -->
-<g id="node27" class="node">
-<title>Node27</title>
-<g id="a_node27"><a xlink:href="distributed_2struct__info_8h.html" target="_top" xlink:title="Struct info for DTensor (Distributed Tensor)">
+<!-- Node26 -->
+<g id="node26" class="node">
+<title>Node26</title>
+<g id="a_node26"><a xlink:href="distributed_2struct__info_8h.html" target="_top" xlink:title="Struct info for DTensor (Distributed Tensor)">
 <polygon fill="white" stroke="black" points="2983,-475 2983,-505 3141,-505 3141,-475 2983,-475"/>
 <text text-anchor="start" x="2991" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/distributed</text>
 <text text-anchor="middle" x="3062" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00">/struct_info.h</text>
 </a>
 </g>
 </g>
-<!-- Node26&#45;&gt;Node27 -->
-<g id="edge28" class="edge">
-<title>Node26&#45;&gt;Node27</title>
+<!-- Node25&#45;&gt;Node26 -->
+<g id="edge27" class="edge">
+<title>Node25&#45;&gt;Node26</title>
 <path fill="none" stroke="midnightblue" d="M2777.49,-546.56C2840.32,-534.29 2928.67,-517.04 2990.19,-505.02"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2776.78,-543.14 2767.63,-548.49 2778.12,-550.01 2776.78,-543.14"/>
 </g>
-<!-- Node29 -->
-<g id="node29" class="node">
-<title>Node29</title>
-<g id="a_node29"><a xlink:href="struct__info__functor_8h.html" target="_top" xlink:title="Functors and visitors for struct info.">
+<!-- Node28 -->
+<g id="node28" class="node">
+<title>Node28</title>
+<g id="a_node28"><a xlink:href="struct__info__functor_8h.html" target="_top" xlink:title="Functors and visitors for struct info.">
 <polygon fill="white" stroke="black" points="2777.5,-402.5 2777.5,-432.5 2910.5,-432.5 2910.5,-402.5 2777.5,-402.5"/>
 <text text-anchor="start" x="2785.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/struct</text>
 <text text-anchor="middle" x="2844" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_info_functor.h</text>
 </a>
 </g>
 </g>
-<!-- Node26&#45;&gt;Node29 -->
-<g id="edge37" class="edge">
-<title>Node26&#45;&gt;Node29</title>
+<!-- Node25&#45;&gt;Node28 -->
+<g id="edge36" class="edge">
+<title>Node25&#45;&gt;Node28</title>
 <path fill="none" stroke="midnightblue" d="M2715.77,-538.94C2729.29,-519.23 2750.57,-490.48 2773,-469 2787.53,-455.08 2806.13,-442 2820.64,-432.63"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2712.82,-537.06 2710.12,-547.3 2718.62,-540.97 2712.82,-537.06"/>
 </g>
-<!-- Node26&#45;&gt;Node30 -->
-<g id="edge34" class="edge">
-<title>Node26&#45;&gt;Node30</title>
+<!-- Node25&#45;&gt;Node29 -->
+<g id="edge33" class="edge">
+<title>Node25&#45;&gt;Node29</title>
 <path fill="none" stroke="midnightblue" d="M2643.67,-544.59C2602.77,-532.52 2548.39,-516.48 2509.82,-505.11"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2642.91,-548.01 2653.5,-547.49 2644.89,-541.3 2642.91,-548.01"/>
 </g>
-<!-- Node26&#45;&gt;Node31 -->
-<g id="edge35" class="edge">
-<title>Node26&#45;&gt;Node31</title>
+<!-- Node25&#45;&gt;Node30 -->
+<g id="edge34" class="edge">
+<title>Node25&#45;&gt;Node30</title>
 <path fill="none" stroke="midnightblue" d="M2624.12,-558.91C2338.33,-549.27 1350.2,-515.77 1283,-511 1239.62,-507.92 1190.78,-502.67 1153.76,-498.33"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2624.28,-562.42 2634.39,-559.26 2624.51,-555.42 2624.28,-562.42"/>
 </g>
-<!-- Node26&#45;&gt;Node32 -->
-<g id="edge38" class="edge">
-<title>Node26&#45;&gt;Node32</title>
+<!-- Node25&#45;&gt;Node31 -->
+<g id="edge37" class="edge">
+<title>Node25&#45;&gt;Node31</title>
 <path fill="none" stroke="midnightblue" d="M2744.41,-543.5C2773.2,-531.56 2810.44,-516.11 2837.07,-505.07"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2742.89,-540.34 2734.99,-547.4 2745.57,-546.8 2742.89,-540.34"/>
 </g>
-<!-- Node27&#45;&gt;Node10 -->
-<g id="edge29" class="edge">
-<title>Node27&#45;&gt;Node10</title>
+<!-- Node26&#45;&gt;Node9 -->
+<g id="edge28" class="edge">
+<title>Node26&#45;&gt;Node9</title>
 <path fill="none" stroke="midnightblue" d="M3062,-464.73C3062,-454.07 3062,-441.91 3062,-432.75"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3058.5,-464.73 3062,-474.73 3065.5,-464.73 3058.5,-464.73"/>
 </g>
-<!-- Node27&#45;&gt;Node28 -->
-<g id="edge30" class="edge">
-<title>Node27&#45;&gt;Node28</title>
+<!-- Node26&#45;&gt;Node27 -->
+<g id="edge29" class="edge">
+<title>Node26&#45;&gt;Node27</title>
 <path fill="none" stroke="midnightblue" d="M3108.32,-471.15C3139.37,-459.19 3179.69,-443.66 3208.47,-432.57"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3106.67,-468.04 3098.59,-474.9 3109.18,-474.57 3106.67,-468.04"/>
 </g>
-<!-- Node27&#45;&gt;Node29 -->
-<g id="edge31" class="edge">
-<title>Node27&#45;&gt;Node29</title>
+<!-- Node26&#45;&gt;Node28 -->
+<g id="edge30" class="edge">
+<title>Node26&#45;&gt;Node28</title>
 <path fill="none" stroke="midnightblue" d="M3008.99,-471.86C2971.77,-459.82 2922.58,-443.91 2887.62,-432.61"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3008.08,-475.24 3018.67,-474.99 3010.23,-468.58 3008.08,-475.24"/>
 </g>
-<!-- Node29&#45;&gt;Node25 -->
-<g id="edge32" class="edge">
-<title>Node29&#45;&gt;Node25</title>
+<!-- Node28&#45;&gt;Node24 -->
+<g id="edge31" class="edge">
+<title>Node28&#45;&gt;Node24</title>
 <path fill="none" stroke="midnightblue" d="M2815.11,-396.73C2800.41,-386.68 2782.89,-374.68 2769.57,-365.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2813.16,-399.64 2823.39,-402.4 2817.11,-393.86 2813.16,-399.64"/>
 </g>
-<!-- Node31&#45;&gt;Node5 -->
-<g id="edge36" class="edge">
-<title>Node31&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1081.05,-466.13C1073,-452.92 1063.33,-437.07 1057.42,-427.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1078.1,-468.02 1086.3,-474.73 1084.08,-464.37 1078.1,-468.02"/>
+<!-- Node30&#45;&gt;Node4 -->
+<g id="edge35" class="edge">
+<title>Node30&#45;&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M1080.72,-466.13C1072.48,-452.92 1062.59,-437.07 1056.55,-427.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1077.83,-468.1 1086.1,-474.73 1083.77,-464.4 1077.83,-468.1"/>
 </g>
-<!-- Node33&#45;&gt;Node32 -->
-<g id="edge40" class="edge">
-<title>Node33&#45;&gt;Node32</title>
+<!-- Node32&#45;&gt;Node31 -->
+<g id="edge39" class="edge">
+<title>Node32&#45;&gt;Node31</title>
 <path fill="none" stroke="midnightblue" d="M2969.3,-542.72C2946.82,-530.89 2918.28,-515.87 2897.75,-505.07"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2967.73,-545.84 2978.21,-547.4 2970.98,-539.65 2967.73,-545.84"/>
 </g>
-<!-- Node35 -->
-<g id="node35" class="node">
-<title>Node35</title>
-<g id="a_node35"><a xlink:href="dataflow__matcher_8h.html" target="_top" xlink:title="A pattern matcher for matching dataflow properties.">
+<!-- Node34 -->
+<g id="node34" class="node">
+<title>Node34</title>
+<g id="a_node34"><a xlink:href="dataflow__matcher_8h.html" target="_top" xlink:title="A pattern matcher for matching dataflow properties.">
 <polygon fill="white" stroke="black" points="1150.5,-547.5 1150.5,-577.5 1297.5,-577.5 1297.5,-547.5 1150.5,-547.5"/>
 <text text-anchor="start" x="1158.5" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/dataflow</text>
 <text text-anchor="middle" x="1224" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">_matcher.h</text>
 </a>
 </g>
 </g>
-<!-- Node34&#45;&gt;Node35 -->
-<g id="edge42" class="edge">
-<title>Node34&#45;&gt;Node35</title>
+<!-- Node33&#45;&gt;Node34 -->
+<g id="edge41" class="edge">
+<title>Node33&#45;&gt;Node34</title>
 <path fill="none" stroke="midnightblue" d="M1224,-604.11C1224,-595.15 1224,-585.32 1224,-577.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1220.5,-604.4 1224,-614.4 1227.5,-604.4 1220.5,-604.4"/>
-</g>
-<!-- Node36 -->
-<g id="node36" class="node">
-<title>Node36</title>
-<g id="a_node36"><a xlink:href="dataflow__pattern__functor_8h.html" target="_top" xlink:title="Functors and visitors for dataflow patterns.">
+</g>
+<!-- Node35 -->
+<g id="node35" class="node">
+<title>Node35</title>
+<g id="a_node35"><a xlink:href="dataflow__pattern__functor_8h.html" target="_top" xlink:title="Functors and visitors for dataflow patterns.">
 <polygon fill="white" stroke="black" points="1315.5,-547.5 1315.5,-577.5 1462.5,-577.5 1462.5,-547.5 1315.5,-547.5"/>
 <text text-anchor="start" x="1323.5" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/dataflow</text>
 <text text-anchor="middle" x="1389" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">_pattern_functor.h</text>
 </a>
 </g>
 </g>
-<!-- Node34&#45;&gt;Node36 -->
-<g id="edge43" class="edge">
-<title>Node34&#45;&gt;Node36</title>
+<!-- Node33&#45;&gt;Node35 -->
+<g id="edge42" class="edge">
+<title>Node33&#45;&gt;Node35</title>
 <path fill="none" stroke="midnightblue" d="M1269.23,-610.68C1295.69,-600.26 1328.63,-587.28 1353.27,-577.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1267.82,-607.47 1259.8,-614.4 1270.39,-613.99 1267.82,-607.47"/>
 </g>
-<!-- Node34&#45;&gt;Node37 -->
-<g id="edge44" class="edge">
-<title>Node34&#45;&gt;Node37</title>
+<!-- Node33&#45;&gt;Node36 -->
+<g id="edge43" class="edge">
+<title>Node33&#45;&gt;Node36</title>
 <path fill="none" stroke="midnightblue" d="M1176.05,-609.79C1162.62,-602.07 1149.62,-591.65 1142,-578 1135.28,-565.97 1133.49,-557.84 1142,-547 1160.57,-523.34 1233.32,-508.38 1291.91,-499.94"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1174.41,-612.88 1184.88,-614.48 1177.69,-606.7 1174.41,-612.88"/>
 </g>
-<!-- Node34&#45;&gt;Node38 -->
-<g id="edge45" class="edge">
-<title>Node34&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M1307.79,-622.8C1489.6,-610.42 1918.33,-581.24 2097.78,-569.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1307.49,-619.31 1297.75,-623.48 1307.96,-626.29 1307.49,-619.31"/>
+<!-- Node33&#45;&gt;Node37 -->
+<g id="edge44" class="edge">
+<title>Node33&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M1307.88,-622.8C1489.87,-610.42 1919.05,-581.24 2098.69,-569.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1307.56,-619.31 1297.82,-623.48 1308.04,-626.29 1307.56,-619.31"/>
 </g>
-<!-- Node38&#45;&gt;Node23 -->
-<g id="edge46" class="edge">
-<title>Node38&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2197.35,-546.28C2212.09,-534.05 2232.66,-517 2247.03,-505.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2194.89,-543.78 2189.42,-552.86 2199.35,-549.17 2194.89,-543.78"/>
+<!-- Node37&#45;&gt;Node22 -->
+<g id="edge45" class="edge">
+<title>Node37&#45;&gt;Node22</title>
+<path fill="none" stroke="midnightblue" d="M2198.13,-546.28C2212.71,-534.05 2233.02,-517 2247.23,-505.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2195.71,-543.75 2190.3,-552.86 2200.21,-549.11 2195.71,-543.75"/>
 </g>
-<!-- Node38&#45;&gt;Node37 -->
-<g id="edge48" class="edge">
-<title>Node38&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M2087.55,-553.52C1927.8,-539.58 1600.6,-511.03 1450.03,-497.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2087.56,-557.03 2097.83,-554.42 2088.17,-550.06 2087.56,-557.03"/>
+<!-- Node37&#45;&gt;Node36 -->
+<g id="edge47" class="edge">
+<title>Node37&#45;&gt;Node36</title>
+<path fill="none" stroke="midnightblue" d="M2088.44,-553.52C1928.49,-539.58 1600.89,-511.03 1450.13,-497.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2088.46,-557.04 2098.73,-554.42 2089.07,-550.06 2088.46,-557.04"/>
 </g>
-<!-- Node39 -->
-<g id="node39" class="node">
-<title>Node39</title>
-<g id="a_node39"><a xlink:href="backend_8h.html" target="_top" xlink:title="Relax backend specific transformation passes.">
+<!-- Node38 -->
+<g id="node38" class="node">
+<title>Node38</title>
+<g id="a_node38"><a xlink:href="backend_8h.html" target="_top" xlink:title="Relax backend specific transformation passes.">
 <polygon fill="white" stroke="black" points="2017.5,-480.5 2017.5,-499.5 2172.5,-499.5 2172.5,-480.5 2017.5,-480.5"/>
 <text text-anchor="middle" x="2095" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/backend.h</text>
 </a>
 </g>
 </g>
-<!-- Node38&#45;&gt;Node39 -->
-<g id="edge47" class="edge">
-<title>Node38&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M2160.63,-546.08C2143.7,-531.87 2119.16,-511.27 2105.38,-499.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2158.79,-549.11 2168.7,-552.86 2163.29,-543.75 2158.79,-549.11"/>
+<!-- Node37&#45;&gt;Node38 -->
+<g id="edge46" class="edge">
+<title>Node37&#45;&gt;Node38</title>
+<path fill="none" stroke="midnightblue" d="M2161.41,-546.08C2144.28,-531.87 2119.44,-511.27 2105.51,-499.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2159.65,-549.17 2169.58,-552.86 2164.11,-543.78 2159.65,-549.17"/>
 </g>
-<!-- Node40&#45;&gt;Node24 -->
-<g id="edge57" class="edge">
-<title>Node40&#45;&gt;Node24</title>
+<!-- Node39&#45;&gt;Node23 -->
+<g id="edge56" class="edge">
+<title>Node39&#45;&gt;Node23</title>
 <path fill="none" stroke="midnightblue" d="M3280.42,-684.69C3232.03,-673.69 3156.84,-656.6 3103.86,-644.56"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3279.79,-688.13 3290.32,-686.94 3281.34,-681.31 3279.79,-688.13"/>
 </g>
-<!-- Node43 -->
-<g id="node43" class="node">
-<title>Node43</title>
-<g id="a_node43"><a xlink:href="disco__worker_8h.html" target="_top" xlink:title="This file defines a worker in Disco. A worker can be launched in a separate thread or process as long...">
+<!-- Node42 -->
+<g id="node42" class="node">
+<title>Node42</title>
+<g id="a_node42"><a xlink:href="disco__worker_8h.html" target="_top" xlink:title="This file defines a worker in Disco. A worker can be launched in a separate thread or process as long...">
 <polygon fill="white" stroke="black" points="4,-748.5 4,-778.5 124,-778.5 124,-748.5 4,-748.5"/>
 <text text-anchor="start" x="12" y="-766.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
 <text text-anchor="middle" x="64" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">/disco/disco_worker.h</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node43 -->
-<g id="edge62" class="edge">
-<title>Node42&#45;&gt;Node43</title>
+<!-- Node41&#45;&gt;Node42 -->
+<g id="edge61" class="edge">
+<title>Node41&#45;&gt;Node42</title>
 <path fill="none" stroke="midnightblue" d="M155.28,-810.85C135.04,-800.58 110.33,-788.03 91.72,-778.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="153.72,-813.99 164.23,-815.4 156.89,-807.75 153.72,-813.99"/>
 </g>
-<!-- Node45 -->
-<g id="node45" class="node">
-<title>Node45</title>
-<g id="a_node45"><a xlink:href="cuda__ipc__memory_8h.html" target="_top" xlink:title=" ">
+<!-- Node44 -->
+<g id="node44" class="node">
+<title>Node44</title>
+<g id="a_node44"><a xlink:href="cuda__ipc__memory_8h.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="276.5,-748.5 276.5,-778.5 421.5,-778.5 421.5,-748.5 276.5,-748.5"/>
 <text text-anchor="start" x="284.5" y="-766.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
 <text text-anchor="middle" x="349" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">/disco/cuda_ipc_memory.h</text>
 </a>
 </g>
 </g>
-<!-- Node44&#45;&gt;Node45 -->
-<g id="edge64" class="edge">
-<title>Node44&#45;&gt;Node45</title>
+<!-- Node43&#45;&gt;Node44 -->
+<g id="edge63" class="edge">
+<title>Node43&#45;&gt;Node44</title>
 <path fill="none" stroke="midnightblue" d="M349,-805.11C349,-796.15 349,-786.32 349,-778.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="345.5,-805.4 349,-815.4 352.5,-805.4 345.5,-805.4"/>
 </g>
-<!-- Node46 -->
-<g id="node46" class="node">
-<title>Node46</title>
-<g id="a_node46"><a xlink:href="vm_8h.html" target="_top" xlink:title=" ">
+<!-- Node45 -->
+<g id="node45" class="node">
+<title>Node45</title>
+<g id="a_node45"><a xlink:href="vm_8h.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="142,-748.5 142,-778.5 258,-778.5 258,-748.5 142,-748.5"/>
 <text text-anchor="start" x="150" y="-766.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/runtime</text>
 <text text-anchor="middle" x="200" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">/vm/vm.h</text>
 </a>
 </g>
 </g>
-<!-- Node44&#45;&gt;Node46 -->
-<g id="edge65" class="edge">
-<title>Node44&#45;&gt;Node46</title>
+<!-- Node43&#45;&gt;Node45 -->
+<g id="edge64" class="edge">
+<title>Node43&#45;&gt;Node45</title>
 <path fill="none" stroke="midnightblue" d="M307.21,-811.27C283.48,-800.92 254.22,-788.15 232.27,-778.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="306.1,-814.61 316.67,-815.4 308.9,-808.19 306.1,-814.61"/>
 </g>
@@ -980,7 +980,7 @@
 </g>
 </g>
 <!-- Node48&#45;&gt;Node49 -->
-<g id="edge69" class="edge">
+<g id="edge68" class="edge">
 <title>Node48&#45;&gt;Node49</title>
 <path fill="none" stroke="midnightblue" d="M4988.49,-330.14C4959.06,-312.12 4912.8,-285.48 4870,-268 4832.49,-252.68 4788.73,-240.24 4753.88,-231.54"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4986.71,-333.16 4997.06,-335.44 4990.39,-327.2 4986.71,-333.16"/>
@@ -996,7 +996,7 @@
 </g>
 </g>
 <!-- Node48&#45;&gt;Node50 -->
-<g id="edge71" class="edge">
+<g id="edge70" class="edge">
 <title>Node48&#45;&gt;Node50</title>
 <path fill="none" stroke="midnightblue" d="M5005.39,-326.13C4985.99,-294.44 4947.75,-237.61 4903,-201 4884.18,-185.61 4859.9,-173.28 4839.86,-164.66"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="5002.64,-328.34 5010.79,-335.1 5008.63,-324.73 5002.64,-328.34"/>
@@ -1012,104 +1012,104 @@
 </g>
 </g>
 <!-- Node48&#45;&gt;Node51 -->
-<g id="edge72" class="edge">
+<g id="edge71" class="edge">
 <title>Node48&#45;&gt;Node51</title>
 <path fill="none" stroke="midnightblue" d="M4959.86,-332.71C4922.6,-322.14 4875.03,-308.63 4839.71,-298.61"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4959.02,-336.11 4969.59,-335.48 4960.93,-329.38 4959.02,-336.11"/>
 </g>
 <!-- Node49&#45;&gt;Node50 -->
-<g id="edge70" class="edge">
+<g id="edge69" class="edge">
 <title>Node49&#45;&gt;Node50</title>
 <path fill="none" stroke="midnightblue" d="M4723.8,-196.3C4741.16,-186.12 4762.12,-173.85 4777.96,-164.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4721.95,-193.32 4715.09,-201.4 4725.48,-199.36 4721.95,-193.32"/>
 </g>
 <!-- Node51&#45;&gt;Node49 -->
-<g id="edge73" class="edge">
+<g id="edge72" class="edge">
 <title>Node51&#45;&gt;Node49</title>
 <path fill="none" stroke="midnightblue" d="M4759.89,-262.73C4744.58,-252.68 4726.31,-240.68 4712.44,-231.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4758.24,-265.83 4768.52,-268.4 4762.08,-259.98 4758.24,-265.83"/>
 </g>
 <!-- Node51&#45;&gt;Node50 -->
-<g id="edge74" class="edge">
+<g id="edge73" class="edge">
 <title>Node51&#45;&gt;Node50</title>
 <path fill="none" stroke="midnightblue" d="M4792.19,-258.39C4794.69,-230.9 4798.69,-186.89 4800.73,-164.52"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4788.7,-258.1 4791.28,-268.37 4795.68,-258.73 4788.7,-258.1"/>
 </g>
-<!-- Node53&#45;&gt;Node5 -->
-<g id="edge77" class="edge">
-<title>Node53&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M3568.79,-829.35C3177.37,-828.4 1516.87,-821.88 1000,-779 885.18,-769.47 488,-812.71 488,-697.5 488,-697.5 488,-697.5 488,-628.5 488,-529.34 555.14,-513.01 644,-469 700.37,-441.09 872.51,-427.67 974.29,-422.02"/>
+<!-- Node53&#45;&gt;Node4 -->
+<g id="edge76" class="edge">
+<title>Node53&#45;&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M3568.79,-829.35C3177.37,-828.4 1516.87,-821.88 1000,-779 885.18,-769.47 488,-812.71 488,-697.5 488,-697.5 488,-697.5 488,-628.5 488,-529.34 555.15,-513.02 644,-469 700.22,-441.15 871.95,-427.71 973.48,-422.04"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3568.89,-832.85 3578.9,-829.37 3568.91,-825.85 3568.89,-832.85"/>
 </g>
-<!-- Node53&#45;&gt;Node25 -->
-<g id="edge80" class="edge">
-<title>Node53&#45;&gt;Node25</title>
+<!-- Node53&#45;&gt;Node24 -->
+<g id="edge79" class="edge">
+<title>Node53&#45;&gt;Node24</title>
 <path fill="none" stroke="midnightblue" d="M3609.15,-818.38C3535.47,-798.93 3380.32,-756.56 3252,-712 3217.15,-699.9 3210.48,-691.11 3175,-681 3085.19,-655.42 3052.76,-684.2 2968,-645 2850.71,-590.76 2812.95,-554.53 2769,-433 2760.68,-409.98 2754.66,-382.08 2751.51,-365.61"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3608.43,-821.81 3618.99,-820.97 3610.21,-815.04 3608.43,-821.81"/>
 </g>
-<!-- Node53&#45;&gt;Node28 -->
-<g id="edge78" class="edge">
-<title>Node53&#45;&gt;Node28</title>
+<!-- Node53&#45;&gt;Node27 -->
+<g id="edge77" class="edge">
+<title>Node53&#45;&gt;Node27</title>
 <path fill="none" stroke="midnightblue" d="M3655.1,-810.56C3660.73,-769 3667.71,-669.13 3616,-614 3567.92,-562.73 3528.77,-599.95 3462,-578 3390.32,-554.43 3363.87,-559.42 3306,-511 3279.59,-488.9 3260.29,-452.48 3251.07,-432.57"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3651.61,-810.25 3653.59,-820.65 3658.53,-811.28 3651.61,-810.25"/>
 </g>
-<!-- Node53&#45;&gt;Node37 -->
-<g id="edge79" class="edge">
-<title>Node53&#45;&gt;Node37</title>
+<!-- Node53&#45;&gt;Node36 -->
+<g id="edge78" class="edge">
+<title>Node53&#45;&gt;Node36</title>
 <path fill="none" stroke="midnightblue" d="M3568.6,-829.26C3113.23,-827.53 944.13,-813.97 849,-712 839.6,-701.93 839.65,-691.12 849,-681 883.65,-643.52 1257.32,-656.74 1307,-645 1384.03,-626.8 1427.8,-643.66 1472,-578 1492.87,-547 1447.21,-520.49 1410.66,-505.14"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3568.71,-832.76 3578.72,-829.3 3568.73,-825.76 3568.71,-832.76"/>
 </g>
-<!-- Node53&#45;&gt;Node38 -->
-<g id="edge82" class="edge">
-<title>Node53&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M3568.83,-823.27C3474.27,-815.57 3315.43,-800.76 3180,-779 2796.5,-717.38 2338.43,-603.96 2212.46,-572.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3568.66,-826.77 3578.91,-824.09 3569.22,-819.79 3568.66,-826.77"/>
+<!-- Node53&#45;&gt;Node37 -->
+<g id="edge81" class="edge">
+<title>Node53&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M3568.83,-823.28C3474.26,-815.58 3315.42,-800.77 3180,-779 2796.87,-717.4 2339.27,-603.96 2213.42,-572.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3568.66,-826.77 3578.91,-824.09 3569.22,-819.8 3568.66,-826.77"/>
 </g>
 <!-- Node54 -->
 <g id="node54" class="node">
 <title>Node54</title>
 <g id="a_node54"><a xlink:href="tir__pattern_8h.html" target="_top" xlink:title="Data Structure of TIR Pattern used for matching.">
-<polygon fill="white" stroke="black" points="3814,-748.5 3814,-778.5 3930,-778.5 3930,-748.5 3814,-748.5"/>
-<text text-anchor="start" x="3822" y="-766.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/tir</text>
-<text text-anchor="middle" x="3872" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">_pattern.h</text>
+<polygon fill="white" stroke="black" points="3815,-748.5 3815,-778.5 3931,-778.5 3931,-748.5 3815,-748.5"/>
+<text text-anchor="start" x="3823" y="-766.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/tir</text>
+<text text-anchor="middle" x="3873" y="-755.5" font-family="Helvetica,sans-Serif" font-size="10.00">_pattern.h</text>
 </a>
 </g>
 </g>
 <!-- Node53&#45;&gt;Node54 -->
-<g id="edge81" class="edge">
+<g id="edge80" class="edge">
 <title>Node53&#45;&gt;Node54</title>
-<path fill="none" stroke="midnightblue" d="M3691.21,-817.92C3728.51,-806.9 3784.7,-790.29 3824.52,-778.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3689.81,-814.68 3681.21,-820.87 3691.8,-821.39 3689.81,-814.68"/>
+<path fill="none" stroke="midnightblue" d="M3691.38,-817.92C3728.86,-806.9 3785.3,-790.29 3825.3,-778.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3689.95,-814.69 3681.35,-820.87 3691.93,-821.4 3689.95,-814.69"/>
 </g>
 <!-- Node55 -->
 <g id="node55" class="node">
 <title>Node55</title>
 <g id="a_node55"><a xlink:href="s__tir_2analysis_8h.html" target="_top" xlink:title="Analysis utilities for Schedulable TensorIR (S&#45;TIR).">
-<polygon fill="white" stroke="black" points="5678.5,-553 5678.5,-572 5829.5,-572 5829.5,-553 5678.5,-553"/>
-<text text-anchor="middle" x="5754" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/analysis.h</text>
+<polygon fill="white" stroke="black" points="5679.5,-553 5679.5,-572 5830.5,-572 5830.5,-553 5679.5,-553"/>
+<text text-anchor="middle" x="5755" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/analysis.h</text>
 </a>
 </g>
 </g>
 <!-- Node53&#45;&gt;Node55 -->
-<g id="edge83" class="edge">
+<g id="edge82" class="edge">
 <title>Node53&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M3735.28,-827.03C4024.98,-818.38 4978.63,-789.41 5116,-779 5370.79,-759.69 5480.82,-862.93 5687,-712 5735.38,-676.58 5749.58,-597.99 5753.03,-572.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3735.15,-823.53 3725.25,-827.33 3735.35,-830.53 3735.15,-823.53"/>
+<path fill="none" stroke="midnightblue" d="M3735.12,-827.05C4025.42,-818.44 4983.99,-789.52 5122,-779 5374.58,-759.75 5483.67,-861.73 5688,-712 5736.37,-676.56 5750.57,-597.98 5754.03,-572.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3734.97,-823.55 3725.08,-827.35 3735.18,-830.55 3734.97,-823.55"/>
 </g>
 <!-- Node56 -->
 <g id="node56" class="node">
 <title>Node56</title>
 <g id="a_node56"><a xlink:href="tirx_2analysis_8h.html" target="_top" xlink:title="Analysis utilities and passes for TIR.">
-<polygon fill="white" stroke="black" points="5739,-480.5 5739,-499.5 5885,-499.5 5885,-480.5 5739,-480.5"/>
-<text text-anchor="middle" x="5812" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/tirx/analysis.h</text>
+<polygon fill="white" stroke="black" points="5741,-480.5 5741,-499.5 5887,-499.5 5887,-480.5 5741,-480.5"/>
+<text text-anchor="middle" x="5814" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/tirx/analysis.h</text>
 </a>
 </g>
 </g>
 <!-- Node53&#45;&gt;Node56 -->
-<g id="edge155" class="edge">
+<g id="edge154" class="edge">
 <title>Node53&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M3735.28,-827.03C4024.98,-818.38 4978.63,-789.41 5116,-779 5370.79,-759.69 5453.65,-816.11 5687,-712 5769.24,-675.3 5801.94,-660.08 5839,-578 5851.43,-550.47 5830.28,-515.59 5818.74,-499.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3735.15,-823.53 3725.25,-827.33 3735.35,-830.53 3735.15,-823.53"/>
+<path fill="none" stroke="midnightblue" d="M3735.12,-827.05C4025.42,-818.44 4983.99,-789.52 5122,-779 5374.58,-759.75 5456.72,-815.33 5688,-712 5770.23,-675.26 5802.94,-660.08 5840,-578 5852.39,-550.56 5831.82,-515.64 5820.57,-499.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3734.97,-823.55 3725.08,-827.35 3735.18,-830.55 3734.97,-823.55"/>
 </g>
 <!-- Node73 -->
 <g id="node73" class="node">
@@ -1122,26 +1122,26 @@
 </g>
 </g>
 <!-- Node53&#45;&gt;Node73 -->
-<g id="edge114" class="edge">
+<g id="edge113" class="edge">
 <title>Node53&#45;&gt;Node73</title>
-<path fill="none" stroke="midnightblue" d="M3735.5,-827.16C3896.72,-822.13 4261.99,-808.31 4568,-779 4786.8,-758.04 4894.86,-859.3 5058,-712 5141.79,-636.34 5049.54,-546.11 5132,-469 5151.28,-450.98 5177.43,-439.3 5201.98,-431.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3735.06,-823.67 3725.17,-827.47 3735.28,-830.66 3735.06,-823.67"/>
+<path fill="none" stroke="midnightblue" d="M3735.59,-827.16C3896.99,-822.14 4262.66,-808.33 4569,-779 4787.8,-758.05 4896.28,-859.77 5059,-712 5142.48,-636.19 5049.63,-546.02 5132,-469 5151.28,-450.98 5177.43,-439.3 5201.98,-431.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3735.14,-823.67 3725.25,-827.48 3735.36,-830.67 3735.14,-823.67"/>
 </g>
 <!-- Node74 -->
 <g id="node74" class="node">
 <title>Node74</title>
 <g id="a_node74"><a xlink:href="arg__info_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4100.5,-547.5 4100.5,-577.5 4227.5,-577.5 4227.5,-547.5 4100.5,-547.5"/>
-<text text-anchor="start" x="4108.5" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/meta</text>
-<text text-anchor="middle" x="4164" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">_schedule/arg_info.h</text>
+<polygon fill="white" stroke="black" points="4101.5,-547.5 4101.5,-577.5 4228.5,-577.5 4228.5,-547.5 4101.5,-547.5"/>
+<text text-anchor="start" x="4109.5" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/meta</text>
+<text text-anchor="middle" x="4165" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">_schedule/arg_info.h</text>
 </a>
 </g>
 </g>
 <!-- Node53&#45;&gt;Node74 -->
-<g id="edge115" class="edge">
+<g id="edge114" class="edge">
 <title>Node53&#45;&gt;Node74</title>
-<path fill="none" stroke="midnightblue" d="M3735.32,-823.86C3808.71,-817.3 3908.52,-804.03 3939,-779 3975.1,-749.35 3957.22,-723.32 3977,-681 3991.4,-650.18 3987.88,-635.8 4014,-614 4038.47,-593.58 4071.56,-581.29 4100.44,-573.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3734.81,-820.39 3725.15,-824.74 3735.42,-827.36 3734.81,-820.39"/>
+<path fill="none" stroke="midnightblue" d="M3735.27,-823.92C3808.94,-817.4 3909.36,-804.14 3940,-779 3976.11,-749.36 3958.96,-723.66 3978,-681 3991.61,-650.51 3986.68,-635.77 4012,-614 4037.03,-592.48 4071.49,-580.07 4101.37,-572.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3734.73,-820.45 3725.07,-824.8 3735.33,-827.43 3734.73,-820.45"/>
 </g>
 <!-- Node80 -->
 <g id="node80" class="node">
@@ -1154,7 +1154,7 @@
 </g>
 </g>
 <!-- Node53&#45;&gt;Node80 -->
-<g id="edge135" class="edge">
+<g id="edge134" class="edge">
 <title>Node53&#45;&gt;Node80</title>
 <path fill="none" stroke="midnightblue" d="M3569.08,-822.15C3541.3,-815.26 3513.08,-802.48 3496,-779 3481.21,-758.67 3496.44,-729.14 3508.19,-711.76"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3568.35,-825.57 3578.87,-824.35 3569.88,-818.74 3568.35,-825.57"/>
@@ -1170,7 +1170,7 @@
 </g>
 </g>
 <!-- Node53&#45;&gt;Node82 -->
-<g id="edge154" class="edge">
+<g id="edge153" class="edge">
 <title>Node53&#45;&gt;Node82</title>
 <path fill="none" stroke="midnightblue" d="M3679.76,-816.24C3717.89,-797.07 3787.16,-758.76 3835,-712 3855.87,-691.6 3873.4,-662.09 3882.74,-644.74"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3677.74,-813.34 3670.33,-820.91 3680.84,-819.61 3677.74,-813.34"/>
@@ -1186,7 +1186,7 @@
 </g>
 </g>
 <!-- Node53&#45;&gt;Node91 -->
-<g id="edge156" class="edge">
+<g id="edge155" class="edge">
 <title>Node53&#45;&gt;Node91</title>
 <path fill="none" stroke="midnightblue" d="M3631.75,-814.54C3617.11,-803.73 3597.44,-789.2 3583.07,-778.59"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3630.01,-817.61 3640.13,-820.73 3634.17,-811.98 3630.01,-817.61"/>
@@ -1201,32 +1201,32 @@
 </g>
 </g>
 <!-- Node53&#45;&gt;Node92 -->
-<g id="edge159" class="edge">
+<g id="edge158" class="edge">
 <title>Node53&#45;&gt;Node92</title>
-<path fill="none" stroke="midnightblue" d="M3735.58,-826.86C4041.65,-817.17 5083.96,-783.81 5091,-779 5128.52,-753.37 5171.24,-608.87 5181.63,-572.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3735.32,-823.37 3725.43,-827.18 3735.54,-830.37 3735.32,-823.37"/>
+<path fill="none" stroke="midnightblue" d="M3735.63,-826.86C4041.92,-817.17 5084.96,-783.83 5092,-779 5165.8,-728.38 5180.7,-605.61 5183.43,-572.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3735.37,-823.37 3725.49,-827.18 3735.59,-830.37 3735.37,-823.37"/>
 </g>
 <!-- Node55&#45;&gt;Node56 -->
-<g id="edge84" class="edge">
+<g id="edge83" class="edge">
 <title>Node55&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M5767.66,-544.9C5779.3,-530.74 5795.58,-510.96 5804.83,-499.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5764.76,-542.91 5761.11,-552.86 5770.17,-547.36 5764.76,-542.91"/>
+<path fill="none" stroke="midnightblue" d="M5768.89,-544.9C5780.74,-530.74 5797.3,-510.96 5806.71,-499.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5765.97,-542.94 5762.23,-552.86 5771.34,-547.43 5765.97,-542.94"/>
 </g>
 <!-- Node57 -->
 <g id="node57" class="node">
 <title>Node57</title>
 <g id="a_node57"><a xlink:href="constant__utils_8h.html" target="_top" xlink:title="Utility functions for handling constants in TVM expressions.">
-<polygon fill="white" stroke="black" points="6076.5,-402.5 6076.5,-432.5 6203.5,-432.5 6203.5,-402.5 6076.5,-402.5"/>
-<text text-anchor="start" x="6084.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="6140" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">/constant_utils.h</text>
+<polygon fill="white" stroke="black" points="6077.5,-402.5 6077.5,-432.5 6204.5,-432.5 6204.5,-402.5 6077.5,-402.5"/>
+<text text-anchor="start" x="6085.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="6141" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">/constant_utils.h</text>
 </a>
 </g>
 </g>
 <!-- Node56&#45;&gt;Node57 -->
-<g id="edge85" class="edge">
+<g id="edge84" class="edge">
 <title>Node56&#45;&gt;Node57</title>
-<path fill="none" stroke="midnightblue" d="M5861.48,-478.36C5918.85,-466.03 6013.57,-445.68 6076.37,-432.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5860.61,-474.97 5851.56,-480.5 5862.08,-481.82 5860.61,-474.97"/>
+<path fill="none" stroke="midnightblue" d="M5863.31,-478.37C5920.42,-466.06 6014.64,-445.74 6077.26,-432.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5862.48,-474.97 5853.44,-480.5 5863.96,-481.81 5862.48,-474.97"/>
 </g>
 <!-- Node58 -->
 <g id="node58" class="node">
@@ -1238,87 +1238,87 @@
 </g>
 </g>
 <!-- Node57&#45;&gt;Node58 -->
-<g id="edge86" class="edge">
+<g id="edge85" class="edge">
 <title>Node57&#45;&gt;Node58</title>
-<path fill="none" stroke="midnightblue" d="M6213.98,-413.04C6247.4,-407.33 6284.01,-394.37 6305,-366 6313.19,-354.92 6311.51,-347.14 6305,-335 6294,-314.48 6270.57,-300.87 6252.62,-293.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6213.1,-409.64 6203.73,-414.6 6214.15,-416.56 6213.1,-409.64"/>
+<path fill="none" stroke="midnightblue" d="M6214.98,-413.04C6248.4,-407.33 6285.01,-394.37 6306,-366 6314.19,-354.92 6312.55,-347.12 6306,-335 6294.91,-314.46 6271.42,-300.93 6253.29,-293.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6214.1,-409.64 6204.73,-414.6 6215.15,-416.56 6214.1,-409.64"/>
 </g>
 <!-- Node60 -->
 <g id="node60" class="node">
 <title>Node60</title>
 <g id="a_node60"><a xlink:href="reduction_8h.html" target="_top" xlink:title="Reduction op constructors.">
-<polygon fill="white" stroke="black" points="6126,-140 6126,-159 6280,-159 6280,-140 6126,-140"/>
-<text text-anchor="middle" x="6203" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/reduction.h</text>
+<polygon fill="white" stroke="black" points="6127,-140 6127,-159 6281,-159 6281,-140 6127,-140"/>
+<text text-anchor="middle" x="6204" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/reduction.h</text>
 </a>
 </g>
 </g>
 <!-- Node57&#45;&gt;Node60 -->
-<g id="edge111" class="edge">
+<g id="edge110" class="edge">
 <title>Node57&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M6214.17,-413.96C6251.43,-408.7 6294.23,-395.87 6321,-366 6370.38,-310.91 6385.52,-261.54 6343,-201 6327.18,-178.48 6300.3,-165.96 6274.29,-159.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6213.31,-410.54 6203.82,-415.25 6214.18,-417.49 6213.31,-410.54"/>
+<path fill="none" stroke="midnightblue" d="M6215.17,-413.96C6252.43,-408.7 6295.23,-395.87 6322,-366 6371.38,-310.91 6386.52,-261.54 6344,-201 6328.18,-178.48 6301.3,-165.96 6275.29,-159.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6214.31,-410.54 6204.82,-415.25 6215.18,-417.49 6214.31,-410.54"/>
 </g>
 <!-- Node64 -->
 <g id="node64" class="node">
 <title>Node64</title>
 <g id="a_node64"><a xlink:href="topi_2nn_8h.html" target="_top" xlink:title="NN op constructions.">
-<polygon fill="white" stroke="black" points="6315,-73 6315,-92 6435,-92 6435,-73 6315,-73"/>
-<text text-anchor="middle" x="6375" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn.h</text>
+<polygon fill="white" stroke="black" points="6316,-73 6316,-92 6436,-92 6436,-73 6316,-73"/>
+<text text-anchor="middle" x="6376" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn.h</text>
 </a>
 </g>
 </g>
 <!-- Node57&#45;&gt;Node64 -->
-<g id="edge110" class="edge">
+<g id="edge109" class="edge">
 <title>Node57&#45;&gt;Node64</title>
-<path fill="none" stroke="midnightblue" d="M6213.75,-410.2C6290.62,-399.11 6400,-368.56 6400,-284.5 6400,-284.5 6400,-284.5 6400,-215.5 6400,-168.15 6384.28,-112.89 6377.77,-92.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6213.04,-406.76 6203.6,-411.57 6213.98,-413.7 6213.04,-406.76"/>
+<path fill="none" stroke="midnightblue" d="M6214.75,-410.2C6291.62,-399.11 6401,-368.56 6401,-284.5 6401,-284.5 6401,-284.5 6401,-215.5 6401,-168.15 6385.28,-112.89 6378.77,-92.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6214.04,-406.76 6204.6,-411.57 6214.98,-413.7 6214.04,-406.76"/>
 </g>
 <!-- Node65 -->
 <g id="node65" class="node">
 <title>Node65</title>
 <g id="a_node65"><a xlink:href="reorg_8h.html" target="_top" xlink:title="Reorg op constructions.">
-<polygon fill="white" stroke="black" points="5872,-67.5 5872,-97.5 6000,-97.5 6000,-67.5 5872,-67.5"/>
-<text text-anchor="start" x="5880" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/vision</text>
-<text text-anchor="middle" x="5936" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">/reorg.h</text>
+<polygon fill="white" stroke="black" points="5873,-67.5 5873,-97.5 6001,-97.5 6001,-67.5 5873,-67.5"/>
+<text text-anchor="start" x="5881" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/vision</text>
+<text text-anchor="middle" x="5937" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">/reorg.h</text>
 </a>
 </g>
 </g>
 <!-- Node57&#45;&gt;Node65 -->
-<g id="edge113" class="edge">
+<g id="edge112" class="edge">
 <title>Node57&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M6065.94,-402.57C6064.62,-402.37 6063.3,-402.18 6062,-402 6019.78,-396.1 5708.7,-397.53 5680,-366 5586.44,-263.21 5818.64,-138.96 5905.11,-97.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6065.81,-406.09 6076.23,-404.16 6066.88,-399.17 6065.81,-406.09"/>
+<path fill="none" stroke="midnightblue" d="M6066.94,-402.57C6065.62,-402.37 6064.3,-402.18 6063,-402 6020.78,-396.1 5709.7,-397.53 5681,-366 5587.44,-263.21 5819.64,-138.96 5906.11,-97.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6066.81,-406.09 6077.23,-404.16 6067.88,-399.17 6066.81,-406.09"/>
 </g>
 <!-- Node67 -->
 <g id="node67" class="node">
 <title>Node67</title>
 <g id="a_node67"><a xlink:href="topi_2transform_8h.html" target="_top" xlink:title="Transform op constructors.">
-<polygon fill="white" stroke="black" points="5928,-207 5928,-226 6084,-226 6084,-207 5928,-207"/>
-<text text-anchor="middle" x="6006" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/transform.h</text>
+<polygon fill="white" stroke="black" points="5929,-207 5929,-226 6085,-226 6085,-207 5929,-207"/>
+<text text-anchor="middle" x="6007" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node57&#45;&gt;Node67 -->
-<g id="edge112" class="edge">
+<g id="edge111" class="edge">
 <title>Node57&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M6065.94,-402.58C6064.62,-402.38 6063.3,-402.19 6062,-402 6021.98,-396.3 5727.13,-395.96 5700,-366 5625.59,-283.82 5824.91,-242.31 5936.48,-226.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6065.8,-406.1 6076.22,-404.19 6066.89,-399.18 6065.8,-406.1"/>
+<path fill="none" stroke="midnightblue" d="M6066.94,-402.58C6065.62,-402.38 6064.3,-402.19 6063,-402 6022.98,-396.3 5728.13,-395.96 5701,-366 5626.59,-283.82 5825.91,-242.31 5937.48,-226.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6066.8,-406.1 6077.22,-404.19 6067.89,-399.18 6066.8,-406.1"/>
 </g>
 <!-- Node68 -->
 <g id="node68" class="node">
 <title>Node68</title>
 <g id="a_node68"><a xlink:href="detail_2broadcast_8h.html" target="_top" xlink:title="Detail broadcast.">
-<polygon fill="white" stroke="black" points="6168.5,-335.5 6168.5,-365.5 6295.5,-365.5 6295.5,-335.5 6168.5,-335.5"/>
-<text text-anchor="start" x="6176.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="6232" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">/broadcast.h</text>
+<polygon fill="white" stroke="black" points="6169.5,-335.5 6169.5,-365.5 6296.5,-365.5 6296.5,-335.5 6169.5,-335.5"/>
+<text text-anchor="start" x="6177.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="6233" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">/broadcast.h</text>
 </a>
 </g>
 </g>
 <!-- Node57&#45;&gt;Node68 -->
-<g id="edge102" class="edge">
+<g id="edge101" class="edge">
 <title>Node57&#45;&gt;Node68</title>
-<path fill="none" stroke="midnightblue" d="M6168.38,-396.45C6182.53,-386.45 6199.31,-374.6 6212.08,-365.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6166.11,-393.77 6159.96,-402.4 6170.15,-399.48 6166.11,-393.77"/>
+<path fill="none" stroke="midnightblue" d="M6169.38,-396.45C6183.53,-386.45 6200.31,-374.6 6213.08,-365.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6167.11,-393.77 6160.96,-402.4 6171.15,-399.48 6167.11,-393.77"/>
 </g>
 <!-- Node69 -->
 <g id="node69" class="node">
@@ -1331,214 +1331,214 @@
 </g>
 </g>
 <!-- Node57&#45;&gt;Node69 -->
-<g id="edge105" class="edge">
+<g id="edge104" class="edge">
 <title>Node57&#45;&gt;Node69</title>
-<path fill="none" stroke="midnightblue" d="M6139.87,-392.37C6138.57,-374.7 6134.19,-351.1 6121,-335 6106.91,-317.8 6085.71,-306.22 6065.59,-298.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6136.38,-392.65 6140.33,-402.49 6143.37,-392.34 6136.38,-392.65"/>
+<path fill="none" stroke="midnightblue" d="M6140.88,-392.36C6139.59,-374.69 6135.22,-351.08 6122,-335 6107.84,-317.78 6086.58,-306.21 6066.38,-298.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6137.39,-392.64 6141.34,-402.48 6144.38,-392.33 6137.39,-392.64"/>
 </g>
 <!-- Node70 -->
 <g id="node70" class="node">
 <title>Node70</title>
 <g id="a_node70"><a xlink:href="einsum_8h.html" target="_top" xlink:title="Einstein summation op.">
-<polygon fill="white" stroke="black" points="5709,-341 5709,-360 5853,-360 5853,-341 5709,-341"/>
-<text text-anchor="middle" x="5781" y="-348" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/einsum.h</text>
+<polygon fill="white" stroke="black" points="5710,-341 5710,-360 5854,-360 5854,-341 5710,-341"/>
+<text text-anchor="middle" x="5782" y="-348" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/einsum.h</text>
 </a>
 </g>
 </g>
 <!-- Node57&#45;&gt;Node70 -->
-<g id="edge107" class="edge">
+<g id="edge106" class="edge">
 <title>Node57&#45;&gt;Node70</title>
-<path fill="none" stroke="midnightblue" d="M6065.92,-402.72C6064.6,-402.48 6063.3,-402.24 6062,-402 5980.21,-387.05 5884.95,-370.01 5829,-360.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6065.69,-406.23 6076.16,-404.6 6066.95,-399.35 6065.69,-406.23"/>
+<path fill="none" stroke="midnightblue" d="M6066.92,-402.72C6065.6,-402.48 6064.3,-402.24 6063,-402 5981.21,-387.05 5885.95,-370.01 5830,-360.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6066.69,-406.23 6077.16,-404.6 6067.95,-399.35 6066.69,-406.23"/>
 </g>
 <!-- Node71 -->
 <g id="node71" class="node">
 <title>Node71</title>
 <g id="a_node71"><a xlink:href="bnn_8h.html" target="_top" xlink:title="Binary op constructions.">
-<polygon fill="white" stroke="black" points="5871.5,-335.5 5871.5,-365.5 5982.5,-365.5 5982.5,-335.5 5871.5,-335.5"/>
-<text text-anchor="start" x="5879.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
-<text text-anchor="middle" x="5927" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">/bnn.h</text>
+<polygon fill="white" stroke="black" points="5872.5,-335.5 5872.5,-365.5 5983.5,-365.5 5983.5,-335.5 5872.5,-335.5"/>
+<text text-anchor="start" x="5880.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
+<text text-anchor="middle" x="5928" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">/bnn.h</text>
 </a>
 </g>
 </g>
 <!-- Node57&#45;&gt;Node71 -->
-<g id="edge108" class="edge">
+<g id="edge107" class="edge">
 <title>Node57&#45;&gt;Node71</title>
-<path fill="none" stroke="midnightblue" d="M6084.11,-399.44C6049.58,-388.91 6005.81,-375.55 5973.24,-365.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6083.46,-402.9 6094.04,-402.48 6085.5,-396.21 6083.46,-402.9"/>
+<path fill="none" stroke="midnightblue" d="M6085.11,-399.44C6050.58,-388.91 6006.81,-375.55 5974.24,-365.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6084.46,-402.9 6095.04,-402.48 6086.5,-396.21 6084.46,-402.9"/>
 </g>
 <!-- Node72 -->
 <g id="node72" class="node">
 <title>Node72</title>
 <g id="a_node72"><a xlink:href="flatten_8h.html" target="_top" xlink:title="Softmax op constructions.">
-<polygon fill="white" stroke="black" points="6000.5,-335.5 6000.5,-365.5 6111.5,-365.5 6111.5,-335.5 6000.5,-335.5"/>
-<text text-anchor="start" x="6008.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
-<text text-anchor="middle" x="6056" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">/flatten.h</text>
+<polygon fill="white" stroke="black" points="6001.5,-335.5 6001.5,-365.5 6112.5,-365.5 6112.5,-335.5 6001.5,-335.5"/>
+<text text-anchor="start" x="6009.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
+<text text-anchor="middle" x="6057" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">/flatten.h</text>
 </a>
 </g>
 </g>
 <!-- Node57&#45;&gt;Node72 -->
-<g id="edge109" class="edge">
+<g id="edge108" class="edge">
 <title>Node57&#45;&gt;Node72</title>
-<path fill="none" stroke="midnightblue" d="M6113.72,-396.17C6100.88,-386.23 6085.74,-374.51 6074.19,-365.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6111.72,-399.04 6121.77,-402.4 6116.01,-393.51 6111.72,-399.04"/>
+<path fill="none" stroke="midnightblue" d="M6114.72,-396.17C6101.88,-386.23 6086.74,-374.51 6075.19,-365.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6112.72,-399.04 6122.77,-402.4 6117.01,-393.51 6112.72,-399.04"/>
 </g>
 <!-- Node59 -->
 <g id="node59" class="node">
 <title>Node59</title>
 <g id="a_node59"><a xlink:href="elemwise_8h.html" target="_top" xlink:title="Elementwise op constructions.">
-<polygon fill="white" stroke="black" points="6178.5,-207 6178.5,-226 6333.5,-226 6333.5,-207 6178.5,-207"/>
-<text text-anchor="middle" x="6256" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/elemwise.h</text>
+<polygon fill="white" stroke="black" points="6179.5,-207 6179.5,-226 6334.5,-226 6334.5,-207 6179.5,-207"/>
+<text text-anchor="middle" x="6257" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/elemwise.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node59 -->
-<g id="edge87" class="edge">
+<g id="edge86" class="edge">
 <title>Node58&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M6236.56,-264.29C6241.75,-251.81 6248.39,-235.81 6252.42,-226.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6233.25,-263.16 6232.64,-273.73 6239.71,-265.84 6233.25,-263.16"/>
+<path fill="none" stroke="midnightblue" d="M6236.84,-264.29C6242.22,-251.81 6249.11,-235.81 6253.28,-226.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6233.52,-263.16 6232.78,-273.73 6239.95,-265.93 6233.52,-263.16"/>
 </g>
 <!-- Node58&#45;&gt;Node60 -->
-<g id="edge96" class="edge">
+<g id="edge95" class="edge">
 <title>Node58&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M6204.29,-268.58C6191.49,-259.89 6177.1,-247.42 6170,-232 6158,-205.93 6181.42,-174.2 6194.71,-159.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6202.46,-271.57 6212.78,-273.99 6206.22,-265.66 6202.46,-271.57"/>
+<path fill="none" stroke="midnightblue" d="M6204.33,-268.24C6191.84,-259.53 6177.9,-247.16 6171,-232 6159.11,-205.88 6182.48,-174.17 6195.73,-159.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6202.75,-271.39 6213.04,-273.92 6206.58,-265.52 6202.75,-271.39"/>
 </g>
 <!-- Node66 -->
 <g id="node66" class="node">
 <title>Node66</title>
 <g id="a_node66"><a xlink:href="bias__add_8h.html" target="_top" xlink:title="bias_add op constructions">
-<polygon fill="white" stroke="black" points="5988.5,-134.5 5988.5,-164.5 6099.5,-164.5 6099.5,-134.5 5988.5,-134.5"/>
-<text text-anchor="start" x="5996.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
-<text text-anchor="middle" x="6044" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00">/bias_add.h</text>
+<polygon fill="white" stroke="black" points="5989.5,-134.5 5989.5,-164.5 6100.5,-164.5 6100.5,-134.5 5989.5,-134.5"/>
+<text text-anchor="start" x="5997.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
+<text text-anchor="middle" x="6045" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00">/bias_add.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node66 -->
-<g id="edge95" class="edge">
+<g id="edge94" class="edge">
 <title>Node58&#45;&gt;Node66</title>
-<path fill="none" stroke="midnightblue" d="M6208.62,-267.96C6172.81,-242.41 6099.06,-189.79 6063.72,-164.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6206.69,-270.88 6216.86,-273.84 6210.75,-265.18 6206.69,-270.88"/>
+<path fill="none" stroke="midnightblue" d="M6208.73,-267.96C6173.12,-242.41 6099.76,-189.79 6064.61,-164.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6206.76,-270.85 6216.93,-273.84 6210.84,-265.17 6206.76,-270.85"/>
 </g>
 <!-- Node58&#45;&gt;Node67 -->
-<g id="edge97" class="edge">
+<g id="edge96" class="edge">
 <title>Node58&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M6189.58,-271.01C6145.45,-258.15 6074.94,-237.59 6035.38,-226.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6188.81,-274.43 6199.39,-273.87 6190.77,-267.71 6188.81,-274.43"/>
+<path fill="none" stroke="midnightblue" d="M6189.76,-271.01C6145.82,-258.15 6075.63,-237.59 6036.25,-226.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6188.94,-274.42 6199.52,-273.87 6190.91,-267.7 6188.94,-274.42"/>
 </g>
 <!-- Node59&#45;&gt;Node60 -->
-<g id="edge88" class="edge">
+<g id="edge87" class="edge">
 <title>Node59&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M6242.36,-198.77C6232.03,-186.1 6218.25,-169.2 6210.03,-159.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6239.82,-201.2 6248.85,-206.73 6245.25,-196.77 6239.82,-201.2"/>
+<path fill="none" stroke="midnightblue" d="M6243.36,-198.77C6233.03,-186.1 6219.25,-169.2 6211.03,-159.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6240.82,-201.2 6249.85,-206.73 6246.25,-196.77 6240.82,-201.2"/>
 </g>
 <!-- Node61 -->
 <g id="node61" class="node">
 <title>Node61</title>
 <g id="a_node61"><a xlink:href="pooling_8h.html" target="_top" xlink:title="Pooling op constructions.">
-<polygon fill="white" stroke="black" points="6275.5,-0.5 6275.5,-30.5 6386.5,-30.5 6386.5,-0.5 6275.5,-0.5"/>
-<text text-anchor="start" x="6283.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
-<text text-anchor="middle" x="6331" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">/pooling.h</text>
+<polygon fill="white" stroke="black" points="6276.5,-0.5 6276.5,-30.5 6387.5,-30.5 6387.5,-0.5 6276.5,-0.5"/>
+<text text-anchor="start" x="6284.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
+<text text-anchor="middle" x="6332" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">/pooling.h</text>
 </a>
 </g>
 </g>
 <!-- Node60&#45;&gt;Node61 -->
-<g id="edge89" class="edge">
+<g id="edge88" class="edge">
 <title>Node60&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M6224.47,-133.93C6237.7,-124.45 6254.63,-111.4 6268,-98 6289.47,-76.48 6310.21,-47.6 6321.72,-30.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6222.16,-131.27 6215.99,-139.88 6226.19,-137 6222.16,-131.27"/>
+<path fill="none" stroke="midnightblue" d="M6225.47,-133.93C6238.7,-124.45 6255.63,-111.4 6269,-98 6290.47,-76.48 6311.21,-47.6 6322.72,-30.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6223.16,-131.27 6216.99,-139.88 6227.19,-137 6223.16,-131.27"/>
 </g>
 <!-- Node62 -->
 <g id="node62" class="node">
 <title>Node62</title>
 <g id="a_node62"><a xlink:href="rms__norm_8h.html" target="_top" xlink:title="root mean square normalization op constructions">
-<polygon fill="white" stroke="black" points="6018.5,-67.5 6018.5,-97.5 6129.5,-97.5 6129.5,-67.5 6018.5,-67.5"/>
-<text text-anchor="start" x="6026.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
-<text text-anchor="middle" x="6074" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">/rms_norm.h</text>
+<polygon fill="white" stroke="black" points="6019.5,-67.5 6019.5,-97.5 6130.5,-97.5 6130.5,-67.5 6019.5,-67.5"/>
+<text text-anchor="start" x="6027.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
+<text text-anchor="middle" x="6075" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">/rms_norm.h</text>
 </a>
 </g>
 </g>
 <!-- Node60&#45;&gt;Node62 -->
-<g id="edge90" class="edge">
+<g id="edge89" class="edge">
 <title>Node60&#45;&gt;Node62</title>
-<path fill="none" stroke="midnightblue" d="M6176.89,-135.34C6155.17,-124.4 6124.33,-108.86 6102.09,-97.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6175.36,-138.49 6185.87,-139.87 6178.51,-132.24 6175.36,-138.49"/>
+<path fill="none" stroke="midnightblue" d="M6177.89,-135.34C6156.17,-124.4 6125.33,-108.86 6103.09,-97.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6176.36,-138.49 6186.87,-139.87 6179.51,-132.24 6176.36,-138.49"/>
 </g>
 <!-- Node63 -->
 <g id="node63" class="node">
 <title>Node63</title>
 <g id="a_node63"><a xlink:href="softmax_8h.html" target="_top" xlink:title="Softmax op constructions.">
-<polygon fill="white" stroke="black" points="6147.5,-67.5 6147.5,-97.5 6258.5,-97.5 6258.5,-67.5 6147.5,-67.5"/>
-<text text-anchor="start" x="6155.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
-<text text-anchor="middle" x="6203" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">/softmax.h</text>
+<polygon fill="white" stroke="black" points="6148.5,-67.5 6148.5,-97.5 6259.5,-97.5 6259.5,-67.5 6148.5,-67.5"/>
+<text text-anchor="start" x="6156.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/nn</text>
+<text text-anchor="middle" x="6204" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">/softmax.h</text>
 </a>
 </g>
 </g>
 <!-- Node60&#45;&gt;Node63 -->
-<g id="edge91" class="edge">
+<g id="edge90" class="edge">
 <title>Node60&#45;&gt;Node63</title>
-<path fill="none" stroke="midnightblue" d="M6203,-129.41C6203,-119.22 6203,-106.9 6203,-97.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6199.5,-129.73 6203,-139.73 6206.5,-129.73 6199.5,-129.73"/>
+<path fill="none" stroke="midnightblue" d="M6204,-129.41C6204,-119.22 6204,-106.9 6204,-97.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6200.5,-129.73 6204,-139.73 6207.5,-129.73 6200.5,-129.73"/>
 </g>
 <!-- Node60&#45;&gt;Node64 -->
-<g id="edge92" class="edge">
+<g id="edge91" class="edge">
 <title>Node60&#45;&gt;Node64</title>
-<path fill="none" stroke="midnightblue" d="M6235.36,-136.27C6269.5,-123.37 6322.41,-103.38 6352.34,-92.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6233.96,-133.06 6225.84,-139.87 6236.43,-139.61 6233.96,-133.06"/>
+<path fill="none" stroke="midnightblue" d="M6236.36,-136.27C6270.5,-123.37 6323.41,-103.38 6353.34,-92.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6234.96,-133.06 6226.84,-139.87 6237.43,-139.61 6234.96,-133.06"/>
 </g>
 <!-- Node60&#45;&gt;Node65 -->
-<g id="edge94" class="edge">
+<g id="edge93" class="edge">
 <title>Node60&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M6158.01,-137.55C6112.82,-126.55 6043,-109.55 5993.75,-97.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6157.28,-140.97 6167.82,-139.94 6158.93,-134.17 6157.28,-140.97"/>
+<path fill="none" stroke="midnightblue" d="M6159.01,-137.55C6113.82,-126.55 6044,-109.55 5994.75,-97.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6158.28,-140.97 6168.82,-139.94 6159.93,-134.17 6158.28,-140.97"/>
 </g>
 <!-- Node64&#45;&gt;Node61 -->
-<g id="edge93" class="edge">
+<g id="edge92" class="edge">
 <title>Node64&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M6363.39,-64.35C6356.27,-53.82 6347.25,-40.5 6340.54,-30.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6360.56,-66.41 6369.07,-72.73 6366.36,-62.49 6360.56,-66.41"/>
+<path fill="none" stroke="midnightblue" d="M6364.39,-64.35C6357.27,-53.82 6348.25,-40.5 6341.54,-30.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6361.56,-66.41 6370.07,-72.73 6367.36,-62.49 6361.56,-66.41"/>
 </g>
 <!-- Node67&#45;&gt;Node60 -->
-<g id="edge100" class="edge">
+<g id="edge99" class="edge">
 <title>Node67&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M6042.06,-203.6C6081.12,-190.71 6142.47,-170.47 6177.05,-159.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6040.56,-200.41 6032.16,-206.87 6042.75,-207.06 6040.56,-200.41"/>
+<path fill="none" stroke="midnightblue" d="M6043.06,-203.6C6082.12,-190.71 6143.47,-170.47 6178.05,-159.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6041.56,-200.41 6033.16,-206.87 6043.75,-207.06 6041.56,-200.41"/>
 </g>
 <!-- Node67&#45;&gt;Node64 -->
-<g id="edge99" class="edge">
+<g id="edge98" class="edge">
 <title>Node67&#45;&gt;Node64</title>
-<path fill="none" stroke="midnightblue" d="M6091.7,-205.69C6161.98,-196.65 6255.19,-182.07 6289,-165 6324.81,-146.92 6355.96,-109.1 6368.78,-92.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6090.99,-202.26 6081.51,-206.99 6091.87,-209.2 6090.99,-202.26"/>
+<path fill="none" stroke="midnightblue" d="M6092.7,-205.69C6162.98,-196.65 6256.19,-182.07 6290,-165 6325.81,-146.92 6356.96,-109.1 6369.78,-92.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6091.99,-202.26 6082.51,-206.99 6092.87,-209.2 6091.99,-202.26"/>
 </g>
 <!-- Node67&#45;&gt;Node65 -->
-<g id="edge101" class="edge">
+<g id="edge100" class="edge">
 <title>Node67&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M5996.69,-197.95C5982.69,-171.55 5956.48,-122.12 5943.57,-97.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5993.63,-199.64 6001.41,-206.84 5999.81,-196.36 5993.63,-199.64"/>
+<path fill="none" stroke="midnightblue" d="M5997.69,-197.95C5983.69,-171.55 5957.48,-122.12 5944.57,-97.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5994.63,-199.64 6002.41,-206.84 6000.81,-196.36 5994.63,-199.64"/>
 </g>
 <!-- Node67&#45;&gt;Node66 -->
-<g id="edge98" class="edge">
+<g id="edge97" class="edge">
 <title>Node67&#45;&gt;Node66</title>
-<path fill="none" stroke="midnightblue" d="M6016.21,-198.03C6022.34,-187.56 6030.03,-174.4 6035.76,-164.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6013.15,-196.33 6011.12,-206.73 6019.19,-199.87 6013.15,-196.33"/>
+<path fill="none" stroke="midnightblue" d="M6017.21,-198.03C6023.34,-187.56 6031.03,-174.4 6036.76,-164.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6014.15,-196.33 6012.12,-206.73 6020.19,-199.87 6014.15,-196.33"/>
 </g>
 <!-- Node68&#45;&gt;Node58 -->
-<g id="edge103" class="edge">
+<g id="edge102" class="edge">
 <title>Node68&#45;&gt;Node58</title>
-<path fill="none" stroke="midnightblue" d="M6230.88,-325.25C6230.36,-314.02 6229.78,-301.38 6229.4,-293.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6227.39,-325.57 6231.35,-335.4 6234.38,-325.25 6227.39,-325.57"/>
+<path fill="none" stroke="midnightblue" d="M6231.51,-325.25C6230.82,-314.02 6230.04,-301.38 6229.54,-293.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6228.02,-325.63 6232.13,-335.4 6235.01,-325.2 6228.02,-325.63"/>
 </g>
 <!-- Node68&#45;&gt;Node67 -->
-<g id="edge104" class="edge">
+<g id="edge103" class="edge">
 <title>Node68&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M6197.37,-330.37C6180.59,-321.02 6160.18,-309.54 6142,-299 6097.24,-273.04 6044.87,-241.25 6020.21,-226.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6195.84,-333.53 6206.29,-335.33 6199.25,-327.41 6195.84,-333.53"/>
+<path fill="none" stroke="midnightblue" d="M6197.95,-330.44C6180.97,-321.11 6160.34,-309.62 6142,-299 6097.46,-273.21 6045.53,-241.34 6021.09,-226.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6196.52,-333.65 6206.97,-335.38 6199.88,-327.51 6196.52,-333.65"/>
 </g>
 <!-- Node69&#45;&gt;Node67 -->
-<g id="edge106" class="edge">
+<g id="edge105" class="edge">
 <title>Node69&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M6008.51,-258.25C6007.82,-247.02 6007.04,-234.38 6006.54,-226.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6005.02,-258.63 6009.13,-268.4 6012.01,-258.2 6005.02,-258.63"/>
+<path fill="none" stroke="midnightblue" d="M6008.88,-258.25C6008.36,-247.02 6007.78,-234.38 6007.4,-226.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6005.39,-258.57 6009.35,-268.4 6012.38,-258.25 6005.39,-258.57"/>
 </g>
 <!-- Node75 -->
 <g id="node75" class="node">
@@ -1551,10 +1551,10 @@
 </g>
 </g>
 <!-- Node74&#45;&gt;Node75 -->
-<g id="edge116" class="edge">
+<g id="edge115" class="edge">
 <title>Node74&#45;&gt;Node75</title>
-<path fill="none" stroke="midnightblue" d="M4237.06,-544.63C4253.94,-537.16 4269.89,-526.42 4280,-511 4290.23,-495.39 4292.21,-483.12 4280,-469 4244.45,-427.91 4090.09,-419.55 3999.33,-418.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4235.58,-541.45 4227.62,-548.45 4238.2,-547.94 4235.58,-541.45"/>
+<path fill="none" stroke="midnightblue" d="M4237.95,-544.27C4254.5,-536.82 4270.09,-526.17 4280,-511 4290.21,-495.37 4292.21,-483.12 4280,-469 4244.45,-427.91 4090.09,-419.55 3999.33,-418.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4236.6,-541.05 4228.69,-548.1 4239.27,-547.52 4236.6,-541.05"/>
 </g>
 <!-- Node76 -->
 <g id="node76" class="node">
@@ -1567,10 +1567,10 @@
 </g>
 </g>
 <!-- Node74&#45;&gt;Node76 -->
-<g id="edge134" class="edge">
+<g id="edge133" class="edge">
 <title>Node74&#45;&gt;Node76</title>
-<path fill="none" stroke="midnightblue" d="M4237.81,-547.16C4310.44,-538.22 4458.61,-547.41 4502,-511 4546.54,-473.62 4552.61,-397.3 4553.14,-365.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4237.06,-543.73 4227.66,-548.62 4238.06,-550.66 4237.06,-543.73"/>
+<path fill="none" stroke="midnightblue" d="M4238.77,-547.16C4311.17,-538.23 4458.78,-547.29 4502,-511 4546.53,-473.61 4552.61,-397.29 4553.14,-365.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4238.06,-543.73 4228.66,-548.62 4239.06,-550.66 4238.06,-543.73"/>
 </g>
 <!-- Node77 -->
 <g id="node77" class="node">
@@ -1583,10 +1583,10 @@
 </g>
 </g>
 <!-- Node74&#45;&gt;Node77 -->
-<g id="edge121" class="edge">
+<g id="edge120" class="edge">
 <title>Node74&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M4237.8,-546.97C4370.52,-526.44 4407.09,-535.02 4535,-511 4543.79,-509.35 4553.07,-507.27 4562.03,-505.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4236.98,-543.55 4227.65,-548.56 4238.07,-550.46 4236.98,-543.55"/>
+<path fill="none" stroke="midnightblue" d="M4238.77,-546.97C4371.07,-526.48 4407.51,-534.97 4535,-511 4543.79,-509.35 4553.06,-507.27 4562.03,-505.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4237.98,-543.55 4228.65,-548.56 4239.07,-550.46 4237.98,-543.55"/>
 </g>
 <!-- Node78 -->
 <g id="node78" class="node">
@@ -1599,10 +1599,10 @@
 </g>
 </g>
 <!-- Node74&#45;&gt;Node78 -->
-<g id="edge123" class="edge">
+<g id="edge122" class="edge">
 <title>Node74&#45;&gt;Node78</title>
-<path fill="none" stroke="midnightblue" d="M4090.44,-547.29C4026.7,-534.98 3935,-517.27 3871.56,-505.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4089.94,-550.76 4100.42,-549.22 4091.27,-543.89 4089.94,-550.76"/>
+<path fill="none" stroke="midnightblue" d="M4091.24,-547.29C4027.33,-534.98 3935.37,-517.27 3871.75,-505.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4090.77,-550.77 4101.25,-549.22 4092.09,-543.89 4090.77,-550.77"/>
 </g>
 <!-- Node79 -->
 <g id="node79" class="node">
@@ -1615,91 +1615,91 @@
 </g>
 </g>
 <!-- Node74&#45;&gt;Node79 -->
-<g id="edge128" class="edge">
+<g id="edge127" class="edge">
 <title>Node74&#45;&gt;Node79</title>
-<path fill="none" stroke="midnightblue" d="M4237.55,-547.04C4436.99,-519.86 4490.15,-531.98 4686,-511 4714.03,-508 4744.93,-503.97 4771.28,-500.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4237.06,-543.58 4227.63,-548.41 4238.01,-550.51 4237.06,-543.58"/>
+<path fill="none" stroke="midnightblue" d="M4238.82,-547C4437.6,-519.91 4490.68,-531.94 4686,-511 4714.03,-508 4744.93,-503.97 4771.28,-500.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4238.06,-543.58 4228.63,-548.41 4239.01,-550.51 4238.06,-543.58"/>
 </g>
 <!-- Node75&#45;&gt;Node50 -->
-<g id="edge120" class="edge">
+<g id="edge119" class="edge">
 <title>Node75&#45;&gt;Node50</title>
 <path fill="none" stroke="midnightblue" d="M3981.85,-399.09C4092.28,-360.82 4366.15,-267.49 4599,-201 4646.32,-187.49 4700.42,-174.13 4740.86,-164.55"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3980.61,-395.82 3972.31,-402.41 3982.9,-402.43 3980.61,-395.82"/>
 </g>
 <!-- Node75&#45;&gt;Node76 -->
-<g id="edge117" class="edge">
+<g id="edge116" class="edge">
 <title>Node75&#45;&gt;Node76</title>
 <path fill="none" stroke="midnightblue" d="M4009.15,-402.54C4010.44,-402.35 4011.73,-402.17 4013,-402 4177.21,-379.66 4370.86,-364.17 4475.86,-356.67"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4008.49,-399.1 3999.12,-404.04 4009.52,-406.02 4008.49,-399.1"/>
 </g>
 <!-- Node76&#45;&gt;Node49 -->
-<g id="edge118" class="edge">
+<g id="edge117" class="edge">
 <title>Node76&#45;&gt;Node49</title>
 <path fill="none" stroke="midnightblue" d="M4575.22,-328.25C4603.66,-301.04 4652.13,-254.68 4676.34,-231.52"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4572.58,-325.93 4567.77,-335.37 4577.41,-330.99 4572.58,-325.93"/>
 </g>
 <!-- Node76&#45;&gt;Node51 -->
-<g id="edge119" class="edge">
+<g id="edge118" class="edge">
 <title>Node76&#45;&gt;Node51</title>
 <path fill="none" stroke="midnightblue" d="M4614.2,-332.71C4652.77,-322.14 4702,-308.63 4738.55,-298.61"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4612.85,-329.46 4604.13,-335.48 4614.7,-336.21 4612.85,-329.46"/>
 </g>
 <!-- Node77&#45;&gt;Node76 -->
-<g id="edge122" class="edge">
+<g id="edge121" class="edge">
 <title>Node77&#45;&gt;Node76</title>
 <path fill="none" stroke="midnightblue" d="M4602.76,-465.54C4590.28,-436.93 4569.57,-389.48 4559.25,-365.83"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4599.6,-467.04 4606.8,-474.8 4606.01,-464.24 4599.6,-467.04"/>
 </g>
 <!-- Node78&#45;&gt;Node49 -->
-<g id="edge126" class="edge">
+<g id="edge125" class="edge">
 <title>Node78&#45;&gt;Node49</title>
 <path fill="none" stroke="midnightblue" d="M3798.85,-464.66C3800.09,-445.01 3805.1,-418.09 3822,-402 3879.22,-347.53 4401.42,-262.08 4607.71,-230.12"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3795.35,-464.59 3798.5,-474.71 3802.35,-464.83 3795.35,-464.59"/>
 </g>
 <!-- Node78&#45;&gt;Node52 -->
-<g id="edge125" class="edge">
+<g id="edge124" class="edge">
 <title>Node78&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M3740.97,-472.16C3699.36,-460.09 3643.92,-444.01 3604.62,-432.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3740.12,-475.56 3750.7,-474.99 3742.07,-468.84 3740.12,-475.56"/>
+<path fill="none" stroke="midnightblue" d="M3741.21,-472.16C3699.77,-460.09 3644.56,-444.01 3605.42,-432.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3740.32,-475.55 3750.9,-474.99 3742.28,-468.83 3740.32,-475.55"/>
 </g>
 <!-- Node78&#45;&gt;Node75 -->
-<g id="edge124" class="edge">
+<g id="edge123" class="edge">
 <title>Node78&#45;&gt;Node75</title>
 <path fill="none" stroke="midnightblue" d="M3834.44,-470.22C3856.75,-458.39 3885.08,-443.37 3905.45,-432.57"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3832.79,-467.13 3825.59,-474.9 3836.07,-473.31 3832.79,-467.13"/>
 </g>
 <!-- Node78&#45;&gt;Node76 -->
-<g id="edge127" class="edge">
+<g id="edge126" class="edge">
 <title>Node78&#45;&gt;Node76</title>
 <path fill="none" stroke="midnightblue" d="M3807.4,-465.56C3816.13,-444.97 3831.92,-416.16 3856,-402 3908.39,-371.19 4305.78,-357.67 4476,-353.25"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3804.13,-464.32 3803.68,-474.91 3810.63,-466.91 3804.13,-464.32"/>
 </g>
 <!-- Node79&#45;&gt;Node49 -->
-<g id="edge130" class="edge">
+<g id="edge129" class="edge">
 <title>Node79&#45;&gt;Node49</title>
 <path fill="none" stroke="midnightblue" d="M4816.89,-466.82C4789.96,-432.76 4739.48,-364.62 4711,-299 4701.2,-276.41 4695.62,-248.13 4692.96,-231.51"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4814.22,-469.09 4823.2,-474.72 4819.69,-464.72 4814.22,-469.09"/>
 </g>
 <!-- Node79&#45;&gt;Node50 -->
-<g id="edge132" class="edge">
+<g id="edge131" class="edge">
 <title>Node79&#45;&gt;Node50</title>
 <path fill="none" stroke="midnightblue" d="M4849.96,-466.36C4865.94,-439.94 4889,-394.4 4889,-351.5 4889,-351.5 4889,-351.5 4889,-282.5 4889,-232.55 4845.03,-186.9 4819.61,-164.69"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4846.98,-464.53 4844.65,-474.87 4852.92,-468.24 4846.98,-464.53"/>
 </g>
 <!-- Node79&#45;&gt;Node51 -->
-<g id="edge133" class="edge">
+<g id="edge132" class="edge">
 <title>Node79&#45;&gt;Node51</title>
 <path fill="none" stroke="midnightblue" d="M4829.74,-465.08C4820.28,-422.12 4800.72,-333.2 4793.11,-298.65"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4826.34,-465.93 4831.91,-474.94 4833.18,-464.43 4826.34,-465.93"/>
 </g>
 <!-- Node79&#45;&gt;Node75 -->
-<g id="edge129" class="edge">
+<g id="edge128" class="edge">
 <title>Node79&#45;&gt;Node75</title>
 <path fill="none" stroke="midnightblue" d="M4761.22,-478.11C4737.27,-474.84 4710.54,-471.47 4686,-469 4433.08,-443.58 4131.11,-427.71 3999.2,-421.5"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4760.92,-481.6 4771.3,-479.5 4761.88,-474.67 4760.92,-481.6"/>
 </g>
 <!-- Node79&#45;&gt;Node76 -->
-<g id="edge131" class="edge">
+<g id="edge130" class="edge">
 <title>Node79&#45;&gt;Node76</title>
 <path fill="none" stroke="midnightblue" d="M4776.11,-471.86C4745.78,-462.11 4708.63,-448.71 4677,-433 4637.32,-413.29 4594.98,-383.27 4571.47,-365.7"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4775.11,-475.22 4785.7,-474.9 4777.22,-468.54 4775.11,-475.22"/>
@@ -1715,13 +1715,13 @@
 </g>
 </g>
 <!-- Node80&#45;&gt;Node81 -->
-<g id="edge136" class="edge">
+<g id="edge135" class="edge">
 <title>Node80&#45;&gt;Node81</title>
 <path fill="none" stroke="midnightblue" d="M3519,-671.11C3519,-662.15 3519,-652.32 3519,-644.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3515.5,-671.4 3519,-681.4 3522.5,-671.4 3515.5,-671.4"/>
 </g>
 <!-- Node80&#45;&gt;Node82 -->
-<g id="edge137" class="edge">
+<g id="edge136" class="edge">
 <title>Node80&#45;&gt;Node82</title>
 <path fill="none" stroke="midnightblue" d="M3595.43,-682.29C3653.92,-672.16 3736.57,-657.79 3809,-645 3811.67,-644.53 3814.4,-644.05 3817.15,-643.56"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3594.79,-678.85 3585.53,-684.01 3595.98,-685.75 3594.79,-678.85"/>
@@ -1736,7 +1736,7 @@
 </g>
 </g>
 <!-- Node80&#45;&gt;Node90 -->
-<g id="edge153" class="edge">
+<g id="edge152" class="edge">
 <title>Node80&#45;&gt;Node90</title>
 <path fill="none" stroke="midnightblue" d="M3476.99,-677.3C3448.06,-664.76 3410.96,-648.68 3388.63,-639.01"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3475.89,-680.63 3486.45,-681.4 3478.67,-674.21 3475.89,-680.63"/>
@@ -1752,31 +1752,31 @@
 </g>
 </g>
 <!-- Node82&#45;&gt;Node83 -->
-<g id="edge138" class="edge">
+<g id="edge137" class="edge">
 <title>Node82&#45;&gt;Node83</title>
 <path fill="none" stroke="midnightblue" d="M3904.97,-605.87C3911.2,-596.46 3918.23,-585.83 3923.69,-577.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3901.93,-604.12 3899.33,-614.4 3907.77,-607.99 3901.93,-604.12"/>
 </g>
 <!-- Node83&#45;&gt;Node75 -->
-<g id="edge139" class="edge">
+<g id="edge138" class="edge">
 <title>Node83&#45;&gt;Node75</title>
 <path fill="none" stroke="midnightblue" d="M3932.83,-537.19C3932.62,-507.16 3932.27,-457.05 3932.1,-432.68"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3929.33,-537.29 3932.9,-547.27 3936.33,-537.24 3929.33,-537.29"/>
 </g>
 <!-- Node83&#45;&gt;Node76 -->
-<g id="edge151" class="edge">
+<g id="edge150" class="edge">
 <title>Node83&#45;&gt;Node76</title>
 <path fill="none" stroke="midnightblue" d="M3936.67,-537.59C3941.23,-516.34 3951.11,-486.09 3972,-469 4048.32,-406.57 4335.92,-371.76 4475.74,-358.21"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3933.22,-537 3934.79,-547.48 3940.1,-538.31 3933.22,-537"/>
 </g>
 <!-- Node83&#45;&gt;Node77 -->
-<g id="edge140" class="edge">
+<g id="edge139" class="edge">
 <title>Node83&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M4015.81,-553.9C4040.34,-551.66 4067.25,-549.22 4092,-547 4274.2,-530.69 4320.69,-535.24 4502,-511 4517.43,-508.94 4533.98,-506.23 4549.47,-503.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4015.46,-550.41 4005.82,-554.81 4016.09,-557.38 4015.46,-550.41"/>
+<path fill="none" stroke="midnightblue" d="M4015.97,-553.94C4040.75,-551.69 4067.97,-549.24 4093,-547 4274.76,-530.77 4321.13,-535.2 4502,-511 4517.43,-508.94 4533.98,-506.22 4549.47,-503.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4015.52,-550.47 4005.88,-554.86 4016.15,-557.44 4015.52,-550.47"/>
 </g>
 <!-- Node83&#45;&gt;Node78 -->
-<g id="edge141" class="edge">
+<g id="edge140" class="edge">
 <title>Node83&#45;&gt;Node78</title>
 <path fill="none" stroke="midnightblue" d="M3897.3,-542.72C3874.82,-530.89 3846.28,-515.87 3825.75,-505.07"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3895.73,-545.84 3906.21,-547.4 3898.98,-539.65 3895.73,-545.84"/>
@@ -1792,7 +1792,7 @@
 </g>
 </g>
 <!-- Node83&#45;&gt;Node84 -->
-<g id="edge142" class="edge">
+<g id="edge141" class="edge">
 <title>Node83&#45;&gt;Node84</title>
 <path fill="none" stroke="midnightblue" d="M4000.74,-545.03C4040.01,-535.37 4090.37,-522.77 4135,-511 4142.15,-509.11 4149.69,-507.08 4157.08,-505.05"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3999.88,-541.64 3991.01,-547.42 4001.55,-548.44 3999.88,-541.64"/>
@@ -1808,7 +1808,7 @@
 </g>
 </g>
 <!-- Node83&#45;&gt;Node85 -->
-<g id="edge152" class="edge">
+<g id="edge151" class="edge">
 <title>Node83&#45;&gt;Node85</title>
 <path fill="none" stroke="midnightblue" d="M4015.7,-553.85C4102.67,-545.03 4233.26,-529.36 4280,-511 4327.89,-492.19 4375.41,-453.37 4398.89,-432.5"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4015.18,-550.38 4005.58,-554.87 4015.88,-557.35 4015.18,-550.38"/>
@@ -1824,7 +1824,7 @@
 </g>
 </g>
 <!-- Node83&#45;&gt;Node86 -->
-<g id="edge145" class="edge">
+<g id="edge144" class="edge">
 <title>Node83&#45;&gt;Node86</title>
 <path fill="none" stroke="midnightblue" d="M4015.74,-551.44C4092.81,-541.85 4210.84,-526.59 4313,-511 4329.97,-508.41 4348.29,-505.37 4365.25,-502.45"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4015.11,-547.99 4005.61,-552.7 4015.97,-554.94 4015.11,-547.99"/>
@@ -1841,7 +1841,7 @@
 </g>
 </g>
 <!-- Node83&#45;&gt;Node87 -->
-<g id="edge147" class="edge">
+<g id="edge146" class="edge">
 <title>Node83&#45;&gt;Node87</title>
 <path fill="none" stroke="midnightblue" d="M3850.21,-553.96C3769.38,-545.91 3643.12,-531.47 3535,-511 3531.8,-510.39 3528.54,-509.74 3525.26,-509.04"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3850.03,-557.46 3860.32,-554.96 3850.71,-550.5 3850.03,-557.46"/>
@@ -1858,7 +1858,7 @@
 </g>
 </g>
 <!-- Node83&#45;&gt;Node88 -->
-<g id="edge148" class="edge">
+<g id="edge147" class="edge">
 <title>Node83&#45;&gt;Node88</title>
 <path fill="none" stroke="midnightblue" d="M3858.37,-545.32C3813.57,-535.54 3755.48,-522.73 3704,-511 3700.9,-510.29 3697.73,-509.57 3694.53,-508.83"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3857.78,-548.77 3868.29,-547.48 3859.27,-541.93 3857.78,-548.77"/>
@@ -1874,43 +1874,43 @@
 </g>
 </g>
 <!-- Node83&#45;&gt;Node89 -->
-<g id="edge149" class="edge">
+<g id="edge148" class="edge">
 <title>Node83&#45;&gt;Node89</title>
 <path fill="none" stroke="midnightblue" d="M3965.78,-542.24C3985.78,-530.49 4010.91,-515.73 4029.05,-505.07"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3963.84,-539.32 3957,-547.4 3967.39,-545.35 3963.84,-539.32"/>
 </g>
 <!-- Node84&#45;&gt;Node85 -->
-<g id="edge143" class="edge">
+<g id="edge142" class="edge">
 <title>Node84&#45;&gt;Node85</title>
 <path fill="none" stroke="midnightblue" d="M4258.03,-471.62C4293.33,-459.6 4339.7,-443.81 4372.68,-432.57"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4256.73,-468.37 4248.39,-474.9 4258.99,-474.99 4256.73,-468.37"/>
 </g>
 <!-- Node85&#45;&gt;Node51 -->
-<g id="edge144" class="edge">
+<g id="edge143" class="edge">
 <title>Node85&#45;&gt;Node51</title>
 <path fill="none" stroke="midnightblue" d="M4503.05,-402.34C4545.07,-394.2 4595.43,-382.29 4639,-366 4687.55,-347.84 4739.86,-316.72 4768.39,-298.64"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4502.28,-398.93 4493.11,-404.23 4503.59,-405.8 4502.28,-398.93"/>
 </g>
 <!-- Node86&#45;&gt;Node85 -->
-<g id="edge146" class="edge">
+<g id="edge145" class="edge">
 <title>Node86&#45;&gt;Node85</title>
 <path fill="none" stroke="midnightblue" d="M4423.84,-464.73C4421.57,-454.07 4418.98,-441.91 4417.03,-432.75"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4420.46,-465.68 4425.96,-474.73 4427.31,-464.22 4420.46,-465.68"/>
 </g>
 <!-- Node89&#45;&gt;Node85 -->
-<g id="edge150" class="edge">
+<g id="edge149" class="edge">
 <title>Node89&#45;&gt;Node85</title>
 <path fill="none" stroke="midnightblue" d="M4118.49,-472.66C4124.06,-471.38 4129.62,-470.14 4135,-469 4202.17,-454.74 4278.98,-441.03 4334.98,-431.5"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4117.42,-469.31 4108.47,-474.99 4119.01,-476.13 4117.42,-469.31"/>
 </g>
-<!-- Node91&#45;&gt;Node28 -->
-<g id="edge157" class="edge">
-<title>Node91&#45;&gt;Node28</title>
+<!-- Node91&#45;&gt;Node27 -->
+<g id="edge156" class="edge">
+<title>Node91&#45;&gt;Node27</title>
 <path fill="none" stroke="midnightblue" d="M3581.41,-740.09C3586.88,-731.75 3592.21,-721.89 3595,-712 3606.84,-670.08 3623.19,-647.2 3595,-614 3531.16,-538.81 3468.28,-612.86 3376,-578 3323.51,-558.17 3302.17,-556.25 3269,-511 3251.64,-487.32 3246.81,-452.16 3245.49,-432.72"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3578.4,-738.29 3575.54,-748.49 3584.14,-742.3 3578.4,-738.29"/>
 </g>
 <!-- Node91&#45;&gt;Node80 -->
-<g id="edge158" class="edge">
+<g id="edge157" class="edge">
 <title>Node91&#45;&gt;Node80</title>
 <path fill="none" stroke="midnightblue" d="M3548.53,-740.16C3541.97,-730.68 3534.52,-719.92 3528.75,-711.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3545.67,-742.17 3554.24,-748.4 3551.42,-738.18 3545.67,-742.17"/>
@@ -1925,55 +1925,55 @@
 </g>
 </g>
 <!-- Node92&#45;&gt;Node93 -->
-<g id="edge160" class="edge">
+<g id="edge159" class="edge">
 <title>Node92&#45;&gt;Node93</title>
 <path fill="none" stroke="midnightblue" d="M5193.1,-543.68C5200.27,-529.63 5209.97,-510.64 5215.55,-499.72"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="5189.85,-542.36 5188.41,-552.86 5196.08,-545.54 5189.85,-542.36"/>
 </g>
 <!-- Node93&#45;&gt;Node73 -->
-<g id="edge161" class="edge">
+<g id="edge160" class="edge">
 <title>Node93&#45;&gt;Node73</title>
 <path fill="none" stroke="midnightblue" d="M5232.75,-472.04C5241.83,-459.97 5253.87,-443.94 5262.42,-432.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="5229.71,-470.26 5226.5,-480.36 5235.31,-474.47 5229.71,-470.26"/>
 </g>
-<!-- Node94&#45;&gt;Node5 -->
-<g id="edge163" class="edge">
-<title>Node94&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M997.4,-604C1002.21,-572.27 1012.23,-515.53 1028,-469 1033.17,-453.74 1041.73,-437.04 1047.1,-427.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="993.9,-603.72 995.91,-614.12 1000.83,-604.73 993.9,-603.72"/>
+<!-- Node94&#45;&gt;Node4 -->
+<g id="edge162" class="edge">
+<title>Node94&#45;&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M997.52,-604.04C1002.46,-572.35 1012.6,-515.66 1028,-469 1033.01,-453.81 1041.19,-437.09 1046.33,-427.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="994.02,-603.73 995.99,-614.14 1000.95,-604.78 994.02,-603.73"/>
 </g>
-<!-- Node94&#45;&gt;Node14 -->
-<g id="edge164" class="edge">
-<title>Node94&#45;&gt;Node14</title>
+<!-- Node94&#45;&gt;Node13 -->
+<g id="edge163" class="edge">
+<title>Node94&#45;&gt;Node13</title>
 <path fill="none" stroke="midnightblue" d="M935.69,-611.58C899.31,-601.02 853.03,-587.59 818.63,-577.61"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="935.09,-615.05 945.67,-614.48 937.04,-608.33 935.09,-615.05"/>
 </g>
-<!-- Node94&#45;&gt;Node20 -->
-<g id="edge165" class="edge">
-<title>Node94&#45;&gt;Node20</title>
+<!-- Node94&#45;&gt;Node19 -->
+<g id="edge164" class="edge">
+<title>Node94&#45;&gt;Node19</title>
 <path fill="none" stroke="midnightblue" d="M969.26,-607.88C957.41,-598.01 943.52,-586.43 932.89,-577.58"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="967.15,-610.68 977.08,-614.4 971.63,-605.31 967.15,-610.68"/>
 </g>
-<!-- Node94&#45;&gt;Node37 -->
-<g id="edge166" class="edge">
-<title>Node94&#45;&gt;Node37</title>
+<!-- Node94&#45;&gt;Node36 -->
+<g id="edge165" class="edge">
+<title>Node94&#45;&gt;Node36</title>
 <path fill="none" stroke="midnightblue" d="M1008.69,-606.06C1022.28,-587.21 1044.23,-561.15 1070,-547 1138.84,-509.2 1228.48,-496.38 1291.98,-492.3"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1005.73,-604.19 1002.88,-614.4 1011.47,-608.19 1005.73,-604.19"/>
 </g>
-<!-- Node94&#45;&gt;Node38 -->
-<g id="edge167" class="edge">
-<title>Node94&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M1066.35,-620.7C1090.39,-618.29 1117.33,-615.81 1142,-614 1497.71,-587.93 1923.09,-571.99 2097.91,-566.1"/>
+<!-- Node94&#45;&gt;Node37 -->
+<g id="edge166" class="edge">
+<title>Node94&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M1066.35,-620.7C1090.39,-618.29 1117.33,-615.81 1142,-614 1498.05,-587.91 1923.84,-571.98 2098.83,-566.09"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1065.83,-617.23 1056.23,-621.72 1066.53,-624.2 1065.83,-617.23"/>
 </g>
 <!-- Node94&#45;&gt;Node67 -->
-<g id="edge169" class="edge">
+<g id="edge168" class="edge">
 <title>Node94&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M1066.31,-620.15C1090.36,-617.72 1117.3,-615.35 1142,-614 2569.75,-536.22 2932.28,-672.75 4359,-578 4604.27,-561.71 4669.43,-570.23 4908,-511 5039.62,-478.32 5063.95,-443.67 5193,-402 5413.98,-330.65 5470.94,-316.62 5698,-268 5782.11,-249.99 5880.35,-234.9 5942.84,-226.03"/>
+<path fill="none" stroke="midnightblue" d="M1066.31,-620.15C1090.36,-617.72 1117.3,-615.35 1142,-614 2570.19,-536.2 2932.84,-672.94 4360,-578 4604.83,-561.71 4669.87,-570.15 4908,-511 5039.61,-478.31 5063.94,-443.64 5193,-402 5414.4,-330.57 5471.5,-316.65 5699,-268 5783.12,-250.01 5881.35,-234.91 5943.84,-226.04"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1065.78,-616.69 1056.2,-621.2 1066.51,-623.65 1065.78,-616.69"/>
 </g>
 <!-- Node94&#45;&gt;Node83 -->
-<g id="edge168" class="edge">
+<g id="edge167" class="edge">
 <title>Node94&#45;&gt;Node83</title>
 <path fill="none" stroke="midnightblue" d="M1066.32,-620.24C1090.36,-617.81 1117.3,-615.42 1142,-614 2080.59,-560.12 2317.04,-596.08 3257,-578 3476.77,-573.77 3736.71,-567.97 3860.47,-565.16"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1065.79,-616.77 1056.2,-621.28 1066.51,-623.74 1065.79,-616.77"/>
@@ -1982,87 +1982,87 @@
 <g id="node96" class="node">
 <title>Node96</title>
 <g id="a_node96"><a xlink:href="ir__docsifier_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3986,-681.5 3986,-711.5 4102,-711.5 4102,-681.5 3986,-681.5"/>
-<text text-anchor="start" x="3994" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
-<text text-anchor="middle" x="4044" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/printer/ir_docsifier.h</text>
+<polygon fill="white" stroke="black" points="3987,-681.5 3987,-711.5 4103,-711.5 4103,-681.5 3987,-681.5"/>
+<text text-anchor="start" x="3995" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
+<text text-anchor="middle" x="4045" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/printer/ir_docsifier.h</text>
 </a>
 </g>
 </g>
 <!-- Node95&#45;&gt;Node96 -->
 <g id="edge171" class="edge">
 <title>Node95&#45;&gt;Node96</title>
-<path fill="none" stroke="midnightblue" d="M3530.39,-894.8C3630.82,-889.39 3831.28,-867.38 3972,-779 3999.98,-761.43 4023.35,-729.79 4035.34,-711.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3529.93,-891.31 3520.11,-895.31 3530.28,-898.31 3529.93,-891.31"/>
+<path fill="none" stroke="midnightblue" d="M3524.17,-895.1C3625.63,-890.15 3829.86,-868.8 3973,-779 4000.99,-761.44 4024.36,-729.8 4036.34,-711.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3523.92,-891.61 3514.08,-895.56 3524.23,-898.6 3523.92,-891.61"/>
 </g>
 <!-- Node97&#45;&gt;Node48 -->
 <g id="edge220" class="edge">
 <title>Node97&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M5788.83,-894.19C5872.84,-887.34 6010,-861.34 6010,-764.5 6010,-764.5 6010,-764.5 6010,-489 6010,-395.04 5302.04,-361.68 5082.88,-353.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5788.32,-890.72 5778.61,-894.95 5788.84,-897.7 5788.32,-890.72"/>
+<path fill="none" stroke="midnightblue" d="M5789.83,-894.19C5873.84,-887.34 6011,-861.34 6011,-764.5 6011,-764.5 6011,-764.5 6011,-489 6011,-394.89 5301.51,-361.62 5082.56,-353.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5789.32,-890.72 5779.61,-894.95 5789.84,-897.7 5789.32,-890.72"/>
 </g>
 <!-- Node97&#45;&gt;Node51 -->
 <g id="edge225" class="edge">
 <title>Node97&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M5788.93,-890.17C5857.25,-882.41 5960.17,-867.59 5993,-846 6029.51,-821.99 6048,-808.2 6048,-764.5 6048,-764.5 6048,-764.5 6048,-489 6048,-434.82 6203.92,-487.25 5839,-402 5651.4,-358.17 5064.38,-307.08 4860.56,-290.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5788.25,-886.72 5778.7,-891.31 5789.02,-893.68 5788.25,-886.72"/>
+<path fill="none" stroke="midnightblue" d="M5789.93,-890.17C5858.25,-882.41 5961.17,-867.59 5994,-846 6030.51,-821.99 6049,-808.2 6049,-764.5 6049,-764.5 6049,-764.5 6049,-489 6049,-434.82 6204.92,-487.23 5840,-402 5652.22,-358.14 5064.64,-307.07 4860.63,-290.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5789.25,-886.72 5779.7,-891.31 5790.02,-893.68 5789.25,-886.72"/>
 </g>
 <!-- Node97&#45;&gt;Node55 -->
 <g id="edge218" class="edge">
 <title>Node97&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M5787.97,-881.3C5805.91,-873.74 5823.44,-862.54 5834,-846 5873.48,-784.2 5855.59,-751.08 5834,-681 5819.76,-634.77 5780.43,-590.46 5762.78,-572.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5786.65,-878.06 5778.58,-884.93 5789.17,-884.58 5786.65,-878.06"/>
+<path fill="none" stroke="midnightblue" d="M5788.97,-881.3C5806.91,-873.74 5824.44,-862.54 5835,-846 5874.48,-784.2 5856.59,-751.08 5835,-681 5820.76,-634.77 5781.43,-590.46 5763.78,-572.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5787.65,-878.06 5779.58,-884.93 5790.17,-884.58 5787.65,-878.06"/>
 </g>
 <!-- Node97&#45;&gt;Node56 -->
 <g id="edge230" class="edge">
 <title>Node97&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M5789.02,-894.33C5828.72,-889.66 5878.07,-877.3 5910,-846 5936.96,-819.57 5934,-802.26 5934,-764.5 5934,-764.5 5934,-764.5 5934,-628.5 5934,-565.63 5861.75,-518.1 5828.45,-499.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5788.47,-890.87 5778.89,-895.39 5789.2,-897.84 5788.47,-890.87"/>
+<path fill="none" stroke="midnightblue" d="M5790.02,-894.33C5829.72,-889.66 5879.07,-877.3 5911,-846 5937.96,-819.57 5935,-802.26 5935,-764.5 5935,-764.5 5935,-764.5 5935,-628.5 5935,-565.86 5863.35,-518.2 5830.32,-499.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5789.47,-890.87 5779.89,-895.39 5790.2,-897.84 5789.47,-890.87"/>
 </g>
 <!-- Node97&#45;&gt;Node73 -->
 <g id="edge219" class="edge">
 <title>Node97&#45;&gt;Node73</title>
-<path fill="none" stroke="midnightblue" d="M5788.96,-895.26C5833.99,-891.27 5893.26,-879.34 5934,-846 5964.93,-820.69 5972,-804.47 5972,-764.5 5972,-764.5 5972,-764.5 5972,-561.5 5972,-507.72 5941.81,-493.63 5894,-469 5846.13,-444.34 5497.01,-427.49 5344.25,-421.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5788.41,-891.8 5778.71,-896.06 5788.95,-898.77 5788.41,-891.8"/>
+<path fill="none" stroke="midnightblue" d="M5789.96,-895.26C5834.99,-891.27 5894.26,-879.34 5935,-846 5965.93,-820.69 5973,-804.47 5973,-764.5 5973,-764.5 5973,-764.5 5973,-561.5 5973,-508.01 5943.48,-493.64 5896,-469 5848.02,-444.1 5497.33,-427.37 5344.2,-421.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5789.41,-891.8 5779.71,-896.06 5789.95,-898.77 5789.41,-891.8"/>
 </g>
 <!-- Node97&#45;&gt;Node77 -->
 <g id="edge221" class="edge">
 <title>Node97&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M5661.01,-896.56C5397.69,-896.52 4409.48,-893.2 4364,-846 4313.12,-793.19 4333.82,-747.84 4364,-681 4405.62,-588.82 4518.21,-530.29 4576.67,-505.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5661.17,-900.06 5671.17,-896.56 5661.17,-893.06 5661.17,-900.06"/>
+<path fill="none" stroke="midnightblue" d="M5662.01,-896.56C5398.69,-896.52 4410.48,-893.2 4365,-846 4314.12,-793.19 4334.82,-747.84 4365,-681 4406.63,-588.81 4519.23,-530.1 4577.29,-505.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5662.17,-900.06 5672.17,-896.56 5662.17,-893.06 5662.17,-900.06"/>
 </g>
 <!-- Node97&#45;&gt;Node85 -->
 <g id="edge224" class="edge">
 <title>Node97&#45;&gt;Node85</title>
-<path fill="none" stroke="midnightblue" d="M5661.22,-895.7C5410.45,-891.89 4501.78,-871.74 4417,-779 4407.7,-768.83 4411.87,-760.79 4417,-748 4447.64,-671.55 4483.06,-668.28 4545,-614 4603.37,-562.85 4650.86,-580.19 4686,-511 4694.45,-494.36 4697.93,-483.35 4686,-469 4661.82,-439.92 4564.44,-427.5 4493.08,-422.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5661.21,-899.2 5671.27,-895.85 5661.32,-892.2 5661.21,-899.2"/>
+<path fill="none" stroke="midnightblue" d="M5662.22,-895.7C5411.45,-891.89 4502.78,-871.74 4418,-779 4408.7,-768.83 4412.87,-760.79 4418,-748 4448.64,-671.55 4484.15,-668.39 4546,-614 4604.01,-562.99 4651.14,-579.93 4686,-511 4694.42,-494.34 4697.93,-483.35 4686,-469 4661.82,-439.92 4564.44,-427.5 4493.08,-422.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5662.21,-899.2 5672.27,-895.85 5662.32,-892.2 5662.21,-899.2"/>
 </g>
 <!-- Node97&#45;&gt;Node92 -->
 <g id="edge231" class="edge">
 <title>Node97&#45;&gt;Node92</title>
-<path fill="none" stroke="midnightblue" d="M5661.11,-889C5608.83,-881.39 5540.85,-867.61 5524,-846 5460.61,-764.71 5757.09,-756.58 5687,-681 5614.72,-603.06 5293.41,-710.9 5210,-645 5187.28,-627.05 5184.08,-589.16 5183.85,-572.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5660.95,-892.51 5671.34,-890.44 5661.93,-885.58 5660.95,-892.51"/>
+<path fill="none" stroke="midnightblue" d="M5662.11,-889C5609.83,-881.39 5541.85,-867.61 5525,-846 5461.61,-764.71 5758.09,-756.58 5688,-681 5615.72,-603.06 5294.77,-710.44 5211,-645 5188.09,-627.11 5184.42,-589.19 5183.97,-572.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5661.95,-892.51 5672.34,-890.44 5662.93,-885.58 5661.95,-892.51"/>
 </g>
 <!-- Node97&#45;&gt;Node93 -->
 <g id="edge226" class="edge">
 <title>Node97&#45;&gt;Node93</title>
-<path fill="none" stroke="midnightblue" d="M5788.38,-885.31C5812.47,-877.98 5838.14,-865.89 5855,-846 5915.84,-774.23 5852.23,-559.48 5839,-547 5800.5,-510.67 5457.25,-497.13 5299.13,-492.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5787.22,-882 5778.54,-888.08 5789.11,-888.74 5787.22,-882"/>
+<path fill="none" stroke="midnightblue" d="M5789.38,-885.31C5813.47,-877.98 5839.14,-865.89 5856,-846 5916.84,-774.23 5853.23,-559.48 5840,-547 5801.43,-510.61 5457.64,-497.1 5299.25,-492.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5788.22,-882 5779.54,-888.08 5790.11,-888.74 5788.22,-882"/>
 </g>
 <!-- Node98 -->
 <g id="node98" class="node">
 <title>Node98</title>
 <g id="a_node98"><a xlink:href="ir_2global__info_8h.html" target="_top" xlink:title="GlobalInfo are globally static object that are referred by the IR itself.">
-<polygon fill="white" stroke="black" points="4156.5,-815.5 4156.5,-845.5 4273.5,-845.5 4273.5,-815.5 4156.5,-815.5"/>
-<text text-anchor="start" x="4164.5" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/global</text>
-<text text-anchor="middle" x="4215" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">_info.h</text>
+<polygon fill="white" stroke="black" points="4157.5,-815.5 4157.5,-845.5 4274.5,-845.5 4274.5,-815.5 4157.5,-815.5"/>
+<text text-anchor="start" x="4165.5" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/global</text>
+<text text-anchor="middle" x="4216" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">_info.h</text>
 </a>
 </g>
 </g>
 <!-- Node97&#45;&gt;Node98 -->
 <g id="edge173" class="edge">
 <title>Node97&#45;&gt;Node98</title>
-<path fill="none" stroke="midnightblue" d="M5661.39,-895.63C5419.9,-892.1 4559.8,-877.56 4288,-846 4283.38,-845.46 4278.61,-844.79 4273.84,-844.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5661.36,-899.13 5671.41,-895.77 5661.46,-892.13 5661.36,-899.13"/>
+<path fill="none" stroke="midnightblue" d="M5662.39,-895.63C5420.9,-892.1 4560.8,-877.56 4289,-846 4284.38,-845.46 4279.61,-844.79 4274.84,-844.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5662.36,-899.13 5672.41,-895.77 5662.46,-892.13 5662.36,-899.13"/>
 </g>
 <!-- Node104 -->
 <g id="node104" class="node">
@@ -2077,180 +2077,180 @@
 <!-- Node97&#45;&gt;Node104 -->
 <g id="edge229" class="edge">
 <title>Node97&#45;&gt;Node104</title>
-<path fill="none" stroke="midnightblue" d="M5738.21,-873.45C5760.46,-831.27 5799.13,-740.5 5758,-681 5699.83,-596.84 5573.12,-572.89 5500.67,-566.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5735.06,-871.93 5733.36,-882.39 5741.21,-875.27 5735.06,-871.93"/>
+<path fill="none" stroke="midnightblue" d="M5739.22,-873.45C5761.47,-831.26 5800.16,-740.48 5759,-681 5700.54,-596.52 5573.15,-572.7 5500.53,-566.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5736.06,-871.93 5734.36,-882.39 5742.21,-875.27 5736.06,-871.93"/>
 </g>
 <!-- Node108 -->
 <g id="node108" class="node">
 <title>Node108</title>
 <g id="a_node108"><a xlink:href="extracted__task_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5219,-681.5 5219,-711.5 5369,-711.5 5369,-681.5 5219,-681.5"/>
-<text text-anchor="start" x="5227" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/meta</text>
-<text text-anchor="middle" x="5294" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">_schedule/extracted_task.h</text>
+<polygon fill="white" stroke="black" points="5220,-681.5 5220,-711.5 5370,-711.5 5370,-681.5 5220,-681.5"/>
+<text text-anchor="start" x="5228" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/meta</text>
+<text text-anchor="middle" x="5295" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">_schedule/extracted_task.h</text>
 </a>
 </g>
 </g>
 <!-- Node97&#45;&gt;Node108 -->
 <g id="edge222" class="edge">
 <title>Node97&#45;&gt;Node108</title>
-<path fill="none" stroke="midnightblue" d="M5709.14,-874.04C5695.19,-855.79 5673.36,-830.61 5649,-815 5561.41,-758.86 5444.37,-726.96 5369.08,-710.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5706.55,-876.42 5715.33,-882.36 5712.17,-872.25 5706.55,-876.42"/>
+<path fill="none" stroke="midnightblue" d="M5710.14,-874.04C5696.19,-855.79 5674.36,-830.61 5650,-815 5562.41,-758.86 5445.37,-726.96 5370.08,-710.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5707.55,-876.42 5716.33,-882.36 5713.17,-872.25 5707.55,-876.42"/>
 </g>
 <!-- Node109 -->
 <g id="node109" class="node">
 <title>Node109</title>
 <g id="a_node109"><a xlink:href="profiler_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5425.5,-681.5 5425.5,-711.5 5552.5,-711.5 5552.5,-681.5 5425.5,-681.5"/>
-<text text-anchor="start" x="5433.5" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/meta</text>
-<text text-anchor="middle" x="5489" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">_schedule/profiler.h</text>
+<polygon fill="white" stroke="black" points="5426.5,-681.5 5426.5,-711.5 5553.5,-711.5 5553.5,-681.5 5426.5,-681.5"/>
+<text text-anchor="start" x="5434.5" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/s_tir/meta</text>
+<text text-anchor="middle" x="5490" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">_schedule/profiler.h</text>
 </a>
 </g>
 </g>
 <!-- Node97&#45;&gt;Node109 -->
 <g id="edge223" class="edge">
 <title>Node97&#45;&gt;Node109</title>
-<path fill="none" stroke="midnightblue" d="M5724.96,-872.27C5723.56,-839.45 5716.02,-781.15 5682,-748 5672.5,-738.74 5605.21,-722.47 5552.72,-710.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5721.47,-872.45 5725.24,-882.35 5728.46,-872.26 5721.47,-872.45"/>
+<path fill="none" stroke="midnightblue" d="M5725.96,-872.27C5724.56,-839.45 5717.02,-781.15 5683,-748 5673.5,-738.74 5606.21,-722.47 5553.72,-710.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5722.47,-872.45 5726.24,-882.35 5729.46,-872.26 5722.47,-872.45"/>
 </g>
 <!-- Node114 -->
 <g id="node114" class="node">
 <title>Node114</title>
 <g id="a_node114"><a xlink:href="codegen_8h.html" target="_top" xlink:title="Translates IRModule to runtime::Module.">
-<polygon fill="white" stroke="black" points="5570.5,-681.5 5570.5,-711.5 5677.5,-711.5 5677.5,-681.5 5570.5,-681.5"/>
-<text text-anchor="start" x="5578.5" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
-<text text-anchor="middle" x="5624" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/codegen.h</text>
+<polygon fill="white" stroke="black" points="5571.5,-681.5 5571.5,-711.5 5678.5,-711.5 5678.5,-681.5 5571.5,-681.5"/>
+<text text-anchor="start" x="5579.5" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
+<text text-anchor="middle" x="5625" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/codegen.h</text>
 </a>
 </g>
 </g>
 <!-- Node97&#45;&gt;Node114 -->
 <g id="edge227" class="edge">
 <title>Node97&#45;&gt;Node114</title>
-<path fill="none" stroke="midnightblue" d="M5731.08,-872.49C5737.55,-841.24 5743.91,-786.12 5720,-748 5709.29,-730.93 5690.77,-719.31 5672.83,-711.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5727.61,-871.96 5728.84,-882.48 5734.44,-873.49 5727.61,-871.96"/>
+<path fill="none" stroke="midnightblue" d="M5732.08,-872.49C5738.55,-841.24 5744.91,-786.12 5721,-748 5710.29,-730.93 5691.77,-719.31 5673.83,-711.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5728.61,-871.96 5729.84,-882.48 5735.44,-873.49 5728.61,-871.96"/>
 </g>
 <!-- Node115 -->
 <g id="node115" class="node">
 <title>Node115</title>
 <g id="a_node115"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry.">
-<polygon fill="white" stroke="black" points="5532.5,-815.5 5532.5,-845.5 5639.5,-845.5 5639.5,-815.5 5532.5,-815.5"/>
-<text text-anchor="start" x="5540.5" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
-<text text-anchor="middle" x="5586" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">/tag.h</text>
+<polygon fill="white" stroke="black" points="5533.5,-815.5 5533.5,-845.5 5640.5,-845.5 5640.5,-815.5 5533.5,-815.5"/>
+<text text-anchor="start" x="5541.5" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/target</text>
+<text text-anchor="middle" x="5587" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">/tag.h</text>
 </a>
 </g>
 </g>
 <!-- Node97&#45;&gt;Node115 -->
 <g id="edge228" class="edge">
 <title>Node97&#45;&gt;Node115</title>
-<path fill="none" stroke="midnightblue" d="M5685.72,-878.13C5663.63,-867.8 5636.49,-855.11 5616.1,-845.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5684.3,-881.33 5694.84,-882.4 5687.26,-874.99 5684.3,-881.33"/>
+<path fill="none" stroke="midnightblue" d="M5686.72,-878.13C5664.63,-867.8 5637.49,-855.11 5617.1,-845.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5685.3,-881.33 5695.84,-882.4 5688.26,-874.99 5685.3,-881.33"/>
 </g>
-<!-- Node98&#45;&gt;Node16 -->
+<!-- Node98&#45;&gt;Node15 -->
 <g id="edge217" class="edge">
-<title>Node98&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M4146.42,-827.6C4018.19,-823.41 3733.56,-811.05 3496,-779 3357.25,-760.28 3194.64,-722.88 3124.77,-706.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4146.39,-831.1 4156.49,-827.93 4146.61,-824.11 4146.39,-831.1"/>
+<title>Node98&#45;&gt;Node15</title>
+<path fill="none" stroke="midnightblue" d="M4147.33,-827.61C4018.91,-823.43 3733.89,-811.08 3496,-779 3357.25,-760.29 3194.64,-722.88 3124.77,-706.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4147.31,-831.11 4157.41,-827.93 4147.53,-824.12 4147.31,-831.11"/>
 </g>
 <!-- Node99 -->
 <g id="node99" class="node">
 <title>Node99</title>
 <g id="a_node99"><a xlink:href="module_8h.html" target="_top" xlink:title="IRModule that holds the functions and type definitions.">
-<polygon fill="white" stroke="black" points="4425.5,-754 4425.5,-773 4558.5,-773 4558.5,-754 4425.5,-754"/>
-<text text-anchor="middle" x="4492" y="-761" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/module.h</text>
+<polygon fill="white" stroke="black" points="4426.5,-754 4426.5,-773 4559.5,-773 4559.5,-754 4426.5,-754"/>
+<text text-anchor="middle" x="4493" y="-761" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/module.h</text>
 </a>
 </g>
 </g>
 <!-- Node98&#45;&gt;Node99 -->
 <g id="edge174" class="edge">
 <title>Node98&#45;&gt;Node99</title>
-<path fill="none" stroke="midnightblue" d="M4283.65,-813.39C4337.99,-800.64 4411.76,-783.33 4455.38,-773.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4282.68,-810.02 4273.74,-815.72 4284.28,-816.84 4282.68,-810.02"/>
+<path fill="none" stroke="midnightblue" d="M4284.65,-813.39C4338.99,-800.64 4412.76,-783.33 4456.38,-773.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4283.68,-810.02 4274.74,-815.72 4285.28,-816.84 4283.68,-810.02"/>
 </g>
-<!-- Node99&#45;&gt;Node5 -->
+<!-- Node99&#45;&gt;Node4 -->
 <g id="edge193" class="edge">
-<title>Node99&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M4415.22,-760.09C4153.43,-751.8 3308.9,-724.23 3252,-712 3215.93,-704.25 3210.71,-690.25 3175,-681 3049.69,-648.56 3013.5,-667.31 2886,-645 2772.27,-625.09 2480.9,-573.78 2384,-511 2362.87,-497.31 2368.81,-479.66 2346,-469 2236.14,-417.66 1392.37,-416.99 1129.76,-418.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4415.29,-763.6 4425.39,-760.42 4415.51,-756.6 4415.29,-763.6"/>
+<title>Node99&#45;&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M4416.15,-760.1C4154.15,-751.8 3308.95,-724.24 3252,-712 3215.93,-704.25 3210.71,-690.25 3175,-681 3049.69,-648.56 3013.5,-667.31 2886,-645 2772.27,-625.09 2480.9,-573.78 2384,-511 2362.87,-497.31 2368.81,-479.66 2346,-469 2236.06,-417.62 1391.63,-416.97 1128.82,-418.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4416.23,-763.6 4426.34,-760.42 4416.45,-756.6 4416.23,-763.6"/>
 </g>
-<!-- Node99&#45;&gt;Node40 -->
+<!-- Node99&#45;&gt;Node39 -->
 <g id="edge197" class="edge">
-<title>Node99&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M4415.32,-760.81C4241.98,-756.54 3806.76,-743.37 3444,-712 3426.11,-710.45 3406.72,-708.24 3389.01,-706.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4415.28,-764.31 4425.37,-761.05 4415.45,-757.31 4415.28,-764.31"/>
+<title>Node99&#45;&gt;Node39</title>
+<path fill="none" stroke="midnightblue" d="M4416.25,-760.81C4242.74,-756.55 3807.11,-743.39 3444,-712 3426.11,-710.45 3406.72,-708.24 3389.01,-706.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4416.22,-764.31 4426.3,-761.05 4416.39,-757.31 4416.22,-764.31"/>
 </g>
 <!-- Node99&#45;&gt;Node48 -->
 <g id="edge200" class="edge">
 <title>Node99&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M4508.32,-746.69C4530.73,-725.35 4570.26,-689.04 4588,-681 4687.44,-635.94 4732.29,-691.65 4831,-645 4911.23,-607.09 4933.35,-587.09 4979,-511 5007.79,-463.02 5015.94,-395.01 5018.18,-365.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4505.71,-744.35 4500.91,-753.8 4510.55,-749.41 4505.71,-744.35"/>
+<path fill="none" stroke="midnightblue" d="M4509.39,-746.83C4531.87,-725.64 4571.49,-689.52 4589,-681 4660.79,-646.07 4690.87,-674.66 4765,-645 4869.19,-603.31 4913.02,-601.77 4979,-511 5012.07,-465.51 5017.93,-395.58 5018.87,-365.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4506.8,-744.46 4501.95,-753.88 4511.61,-749.54 4506.8,-744.46"/>
 </g>
 <!-- Node99&#45;&gt;Node51 -->
 <g id="edge205" class="edge">
 <title>Node99&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M4499.73,-744.6C4508.31,-726.54 4523.65,-698.84 4544,-681 4678.25,-563.28 4812.11,-661.62 4908,-511 4956.82,-434.32 4851.78,-335.21 4808,-298.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4496.53,-743.2 4495.58,-753.75 4502.9,-746.09 4496.53,-743.2"/>
+<path fill="none" stroke="midnightblue" d="M4500.74,-744.61C4509.31,-726.55 4524.66,-698.85 4545,-681 4678.88,-563.47 4812.4,-661.33 4908,-511 4956.77,-434.3 4851.77,-335.2 4807.99,-298.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4497.53,-743.2 4496.58,-753.75 4503.91,-746.1 4497.53,-743.2"/>
 </g>
 <!-- Node99&#45;&gt;Node55 -->
 <g id="edge198" class="edge">
 <title>Node99&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M4568.79,-758.61C4677.97,-752.4 4884.11,-738.21 5058,-712 5091.29,-706.98 5572.59,-602.82 5714.75,-572.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4568.32,-755.13 4558.54,-759.18 4568.72,-762.12 4568.32,-755.13"/>
+<path fill="none" stroke="midnightblue" d="M4569.79,-758.61C4678.97,-752.4 4885.11,-738.21 5059,-712 5092.29,-706.98 5573.59,-602.82 5715.75,-572.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4569.32,-755.13 4559.54,-759.18 4569.72,-762.12 4569.32,-755.13"/>
 </g>
 <!-- Node99&#45;&gt;Node56 -->
 <g id="edge216" class="edge">
 <title>Node99&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M4568.79,-758.61C4677.97,-752.4 4884.11,-738.21 5058,-712 5075.64,-709.34 5354.83,-649.82 5372,-645 5536.03,-598.99 5727.8,-524.52 5790.79,-499.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4568.32,-755.13 4558.54,-759.18 4568.72,-762.12 4568.32,-755.13"/>
+<path fill="none" stroke="midnightblue" d="M4569.79,-758.61C4678.97,-752.4 4885.11,-738.21 5059,-712 5076.64,-709.34 5355.82,-649.81 5373,-645 5537.38,-598.96 5729.6,-524.51 5792.74,-499.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4569.32,-755.13 4559.54,-759.18 4569.72,-762.12 4569.32,-755.13"/>
 </g>
 <!-- Node99&#45;&gt;Node74 -->
 <g id="edge199" class="edge">
 <title>Node99&#45;&gt;Node74</title>
-<path fill="none" stroke="midnightblue" d="M4474.91,-746.8C4464.53,-737.05 4451.18,-724.11 4440,-712 4401.67,-670.48 4406.67,-644.34 4359,-614 4347.59,-606.74 4278.72,-589.8 4226.02,-577.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4472.79,-749.61 4482.49,-753.86 4477.55,-744.48 4472.79,-749.61"/>
+<path fill="none" stroke="midnightblue" d="M4475.91,-746.8C4465.53,-737.05 4452.18,-724.11 4441,-712 4402.67,-670.48 4407.67,-644.34 4360,-614 4348.59,-606.74 4279.72,-589.8 4227.02,-577.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4473.79,-749.61 4483.49,-753.86 4478.55,-744.48 4473.79,-749.61"/>
 </g>
 <!-- Node99&#45;&gt;Node77 -->
 <g id="edge201" class="edge">
 <title>Node99&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M4483.93,-744.1C4477.73,-727.35 4471.27,-702.09 4478,-681 4501.99,-605.83 4567.76,-534.93 4597.74,-505.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4480.84,-745.78 4487.82,-753.75 4487.33,-743.16 4480.84,-745.78"/>
+<path fill="none" stroke="midnightblue" d="M4484.95,-744.1C4478.76,-727.36 4472.31,-702.1 4479,-681 4502.8,-605.97 4568.09,-535 4597.85,-505.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4481.85,-745.78 4488.83,-753.75 4488.34,-743.17 4481.85,-745.78"/>
 </g>
 <!-- Node99&#45;&gt;Node80 -->
 <g id="edge206" class="edge">
 <title>Node99&#45;&gt;Node80</title>
-<path fill="none" stroke="midnightblue" d="M4415.29,-758.65C4269.95,-751.15 3944.54,-733.45 3671,-712 3642.99,-709.8 3612.11,-706.94 3585.55,-704.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4415.27,-762.15 4425.44,-759.17 4415.63,-755.16 4415.27,-762.15"/>
+<path fill="none" stroke="midnightblue" d="M4416.19,-758.65C4270.68,-751.16 3944.87,-733.47 3671,-712 3642.99,-709.8 3612.11,-706.94 3585.55,-704.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4416.19,-762.15 4426.35,-759.17 4416.55,-755.16 4416.19,-762.15"/>
 </g>
 <!-- Node99&#45;&gt;Node82 -->
 <g id="edge207" class="edge">
 <title>Node99&#45;&gt;Node82</title>
-<path fill="none" stroke="midnightblue" d="M4414.98,-762.73C4343.26,-760.32 4234.83,-749.84 4149,-712 4129.06,-703.21 4130.58,-690.57 4111,-681 4064.41,-658.24 4007.24,-645.53 3962.72,-638.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4415.19,-766.24 4425.29,-763.03 4415.39,-759.25 4415.19,-766.24"/>
+<path fill="none" stroke="midnightblue" d="M4415.98,-762.73C4344.26,-760.32 4235.83,-749.84 4150,-712 4130.06,-703.21 4131.59,-690.56 4112,-681 4065.02,-658.08 4007.33,-645.36 3962.54,-638.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4416.19,-766.24 4426.29,-763.03 4416.39,-759.25 4416.19,-766.24"/>
 </g>
 <!-- Node99&#45;&gt;Node85 -->
 <g id="edge204" class="edge">
 <title>Node99&#45;&gt;Node85</title>
-<path fill="none" stroke="midnightblue" d="M4494.32,-743.95C4497.18,-726.53 4503.33,-700.33 4516,-681 4587.49,-571.88 4803.37,-568.49 4719,-469 4704.49,-451.88 4578.75,-435.58 4493.32,-426.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4490.83,-743.57 4492.87,-753.96 4497.76,-744.57 4490.83,-743.57"/>
+<path fill="none" stroke="midnightblue" d="M4495.33,-743.95C4498.2,-726.54 4504.36,-700.35 4517,-681 4588.19,-572.05 4803.18,-568.26 4719,-469 4704.49,-451.88 4578.75,-435.58 4493.32,-426.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4491.85,-743.57 4493.88,-753.97 4498.77,-744.57 4491.85,-743.57"/>
 </g>
 <!-- Node99&#45;&gt;Node96 -->
 <g id="edge214" class="edge">
 <title>Node99&#45;&gt;Node96</title>
-<path fill="none" stroke="midnightblue" d="M4415.26,-753.68C4339.11,-744.58 4219.2,-729.3 4116,-712 4111.47,-711.24 4106.8,-710.41 4102.1,-709.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4414.9,-757.16 4425.24,-754.87 4415.72,-750.21 4414.9,-757.16"/>
+<path fill="none" stroke="midnightblue" d="M4416.26,-753.68C4340.11,-744.58 4220.2,-729.3 4117,-712 4112.47,-711.24 4107.8,-710.41 4103.1,-709.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4415.9,-757.16 4426.24,-754.87 4416.72,-750.21 4415.9,-757.16"/>
 </g>
 <!-- Node100 -->
 <g id="node100" class="node">
 <title>Node100</title>
 <g id="a_node100"><a xlink:href="ir_2analysis_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4776.5,-687 4776.5,-706 4913.5,-706 4913.5,-687 4776.5,-687"/>
-<text text-anchor="middle" x="4845" y="-694" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/analysis.h</text>
+<polygon fill="white" stroke="black" points="4777.5,-687 4777.5,-706 4914.5,-706 4914.5,-687 4777.5,-687"/>
+<text text-anchor="middle" x="4846" y="-694" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/analysis.h</text>
 </a>
 </g>
 </g>
 <!-- Node99&#45;&gt;Node100 -->
 <g id="edge175" class="edge">
 <title>Node99&#45;&gt;Node100</title>
-<path fill="none" stroke="midnightblue" d="M4548.39,-752.12C4617.77,-739.34 4734.26,-717.89 4798.67,-706.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4547.71,-748.68 4538.51,-753.94 4548.98,-755.57 4547.71,-748.68"/>
+<path fill="none" stroke="midnightblue" d="M4549.39,-752.12C4618.77,-739.34 4735.26,-717.89 4799.67,-706.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4548.71,-748.68 4539.51,-753.94 4549.98,-755.57 4548.71,-748.68"/>
 </g>
 <!-- Node101 -->
 <g id="node101" class="node">
@@ -2264,55 +2264,55 @@
 <!-- Node99&#45;&gt;Node101 -->
 <g id="edge176" class="edge">
 <title>Node99&#45;&gt;Node101</title>
-<path fill="none" stroke="midnightblue" d="M4415.43,-755.77C4272.38,-743.18 3966.38,-716.27 3826.05,-703.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4415.17,-759.26 4425.44,-756.65 4415.79,-752.28 4415.17,-759.26"/>
+<path fill="none" stroke="midnightblue" d="M4416.33,-755.77C4273.08,-743.18 3966.67,-716.27 3826.15,-703.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4416.08,-759.26 4426.35,-756.65 4416.7,-752.28 4416.08,-759.26"/>
 </g>
 <!-- Node103 -->
 <g id="node103" class="node">
 <title>Node103</title>
 <g id="a_node103"><a xlink:href="ir_2transform_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5219,-620 5219,-639 5363,-639 5363,-620 5219,-620"/>
-<text text-anchor="middle" x="5291" y="-627" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/transform.h</text>
+<polygon fill="white" stroke="black" points="5220,-620 5220,-639 5364,-639 5364,-620 5220,-620"/>
+<text text-anchor="middle" x="5292" y="-627" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node99&#45;&gt;Node103 -->
 <g id="edge192" class="edge">
 <title>Node99&#45;&gt;Node103</title>
-<path fill="none" stroke="midnightblue" d="M4568.73,-755.23C4616.59,-748.53 4678.47,-735.84 4729,-712 4749.03,-702.55 4747.47,-689.29 4768,-681 4847.93,-648.71 5094.9,-636.57 5218.7,-632.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4568.18,-751.77 4558.74,-756.57 4569.11,-758.71 4568.18,-751.77"/>
+<path fill="none" stroke="midnightblue" d="M4569.73,-755.23C4617.59,-748.53 4679.47,-735.84 4730,-712 4750.03,-702.55 4748.47,-689.29 4769,-681 4848.93,-648.71 5095.9,-636.57 5219.7,-632.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4569.18,-751.77 4559.74,-756.57 4570.11,-758.71 4569.18,-751.77"/>
 </g>
 <!-- Node105 -->
 <g id="node105" class="node">
 <title>Node105</title>
 <g id="a_node105"><a xlink:href="global__var__supply_8h.html" target="_top" xlink:title="GlobalVarSupply that can be used to generate unique.">
-<polygon fill="white" stroke="black" points="4931.5,-681.5 4931.5,-711.5 5048.5,-711.5 5048.5,-681.5 4931.5,-681.5"/>
-<text text-anchor="start" x="4939.5" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/global</text>
-<text text-anchor="middle" x="4990" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">_var_supply.h</text>
+<polygon fill="white" stroke="black" points="4932.5,-681.5 4932.5,-711.5 5049.5,-711.5 5049.5,-681.5 4932.5,-681.5"/>
+<text text-anchor="start" x="4940.5" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/global</text>
+<text text-anchor="middle" x="4991" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">_var_supply.h</text>
 </a>
 </g>
 </g>
 <!-- Node99&#45;&gt;Node105 -->
 <g id="edge190" class="edge">
 <title>Node99&#45;&gt;Node105</title>
-<path fill="none" stroke="midnightblue" d="M4568.72,-755.76C4655.16,-747.65 4799.69,-732.52 4923,-712 4925.7,-711.55 4928.46,-711.07 4931.24,-710.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4568.36,-752.28 4558.73,-756.7 4569.01,-759.25 4568.36,-752.28"/>
+<path fill="none" stroke="midnightblue" d="M4569.72,-755.76C4656.16,-747.65 4800.69,-732.52 4924,-712 4926.7,-711.55 4929.46,-711.07 4932.24,-710.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4569.36,-752.28 4559.73,-756.7 4570.01,-759.25 4569.36,-752.28"/>
 </g>
 <!-- Node106 -->
 <g id="node106" class="node">
 <title>Node106</title>
 <g id="a_node106"><a xlink:href="replace__global__vars_8h.html" target="_top" xlink:title="A utility to replace GlobalVar instances across all TVM IR types in an IRMdoule.">
-<polygon fill="white" stroke="black" points="4596.5,-681.5 4596.5,-711.5 4719.5,-711.5 4719.5,-681.5 4596.5,-681.5"/>
-<text text-anchor="start" x="4604.5" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/replace</text>
-<text text-anchor="middle" x="4658" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">_global_vars.h</text>
+<polygon fill="white" stroke="black" points="4597.5,-681.5 4597.5,-711.5 4720.5,-711.5 4720.5,-681.5 4597.5,-681.5"/>
+<text text-anchor="start" x="4605.5" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/ir/replace</text>
+<text text-anchor="middle" x="4659" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">_global_vars.h</text>
 </a>
 </g>
 </g>
 <!-- Node99&#45;&gt;Node106 -->
 <g id="edge191" class="edge">
 <title>Node99&#45;&gt;Node106</title>
-<path fill="none" stroke="midnightblue" d="M4523.41,-750.2C4551.54,-739.19 4592.77,-723.04 4622.17,-711.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4522.08,-746.96 4514.04,-753.87 4524.63,-753.48 4522.08,-746.96"/>
+<path fill="none" stroke="midnightblue" d="M4524.41,-750.2C4552.54,-739.19 4593.77,-723.04 4623.17,-711.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4523.08,-746.96 4515.04,-753.87 4525.63,-753.48 4523.08,-746.96"/>
 </g>
 <!-- Node107 -->
 <g id="node107" class="node">
@@ -2327,52 +2327,52 @@
 <!-- Node99&#45;&gt;Node107 -->
 <g id="edge194" class="edge">
 <title>Node99&#45;&gt;Node107</title>
-<path fill="none" stroke="midnightblue" d="M4457.41,-750.53C4403.88,-731.42 4298.42,-691.39 4215,-645 4194.09,-633.37 4193.61,-621.8 4171,-614 4084.81,-584.28 3469.35,-569.39 3248.03,-564.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4456.5,-753.92 4467.1,-753.96 4458.84,-747.32 4456.5,-753.92"/>
+<path fill="none" stroke="midnightblue" d="M4459.4,-750.52C4406.36,-731.1 4300.56,-690.33 4216,-645 4193.95,-633.18 4192.78,-621.79 4169,-614 4082.59,-585.67 3469.32,-569.91 3248.22,-565.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4458.39,-753.87 4468.98,-754 4460.78,-747.29 4458.39,-753.87"/>
 </g>
 <!-- Node99&#45;&gt;Node108 -->
 <g id="edge202" class="edge">
 <title>Node99&#45;&gt;Node108</title>
-<path fill="none" stroke="midnightblue" d="M4568.86,-759.35C4699.77,-753.47 4974.28,-738.91 5205,-712 5209.51,-711.47 5214.14,-710.88 5218.8,-710.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4568.37,-755.87 4558.54,-759.81 4568.68,-762.86 4568.37,-755.87"/>
+<path fill="none" stroke="midnightblue" d="M4569.86,-759.35C4700.77,-753.47 4975.28,-738.91 5206,-712 5210.51,-711.47 5215.14,-710.88 5219.8,-710.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4569.37,-755.87 4559.54,-759.81 4569.68,-762.86 4569.37,-755.87"/>
 </g>
 <!-- Node99&#45;&gt;Node109 -->
 <g id="edge203" class="edge">
 <title>Node99&#45;&gt;Node109</title>
-<path fill="none" stroke="midnightblue" d="M4568.81,-760.01C4722.65,-754.6 5079.41,-739.97 5378,-712 5393.38,-710.56 5409.92,-708.61 5425.4,-706.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4568.41,-756.52 4558.53,-760.37 4568.65,-763.52 4568.41,-756.52"/>
+<path fill="none" stroke="midnightblue" d="M4569.81,-760.01C4723.65,-754.6 5080.41,-739.97 5379,-712 5394.38,-710.56 5410.92,-708.61 5426.4,-706.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4569.41,-756.52 4559.53,-760.37 4569.65,-763.52 4569.41,-756.52"/>
 </g>
 <!-- Node110 -->
 <g id="node110" class="node">
 <title>Node110</title>
 <g id="a_node110"><a xlink:href="ir_2frame_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4158,-681.5 4158,-711.5 4274,-711.5 4274,-681.5 4158,-681.5"/>
-<text text-anchor="start" x="4166" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
-<text text-anchor="middle" x="4216" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/ir/frame.h</text>
+<polygon fill="white" stroke="black" points="4159,-681.5 4159,-711.5 4275,-711.5 4275,-681.5 4159,-681.5"/>
+<text text-anchor="start" x="4167" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
+<text text-anchor="middle" x="4217" y="-688.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/ir/frame.h</text>
 </a>
 </g>
 </g>
 <!-- Node99&#45;&gt;Node110 -->
 <g id="edge208" class="edge">
 <title>Node99&#45;&gt;Node110</title>
-<path fill="none" stroke="midnightblue" d="M4445.69,-751.59C4398.5,-740.48 4325.19,-723.22 4274.13,-711.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4445.1,-755.05 4455.63,-753.94 4446.7,-748.24 4445.1,-755.05"/>
+<path fill="none" stroke="midnightblue" d="M4446.69,-751.59C4399.5,-740.48 4326.19,-723.22 4275.13,-711.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4446.1,-755.05 4456.63,-753.94 4447.7,-748.24 4446.1,-755.05"/>
 </g>
 <!-- Node99&#45;&gt;Node114 -->
 <g id="edge215" class="edge">
 <title>Node99&#45;&gt;Node114</title>
-<path fill="none" stroke="midnightblue" d="M4568.75,-760.7C4780.5,-755.44 5369.9,-738.77 5562,-712 5564.74,-711.62 5567.53,-711.17 5570.34,-710.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4568.57,-757.2 4558.66,-760.95 4568.74,-764.2 4568.57,-757.2"/>
+<path fill="none" stroke="midnightblue" d="M4569.75,-760.7C4781.5,-755.44 5370.9,-738.77 5563,-712 5565.74,-711.62 5568.53,-711.17 5571.34,-710.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4569.57,-757.2 4559.66,-760.95 4569.74,-764.2 4569.57,-757.2"/>
 </g>
-<!-- Node101&#45;&gt;Node5 -->
+<!-- Node101&#45;&gt;Node4 -->
 <g id="edge188" class="edge">
-<title>Node101&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M3669.71,-687.32C3645.62,-685.1 3619.28,-682.81 3595,-681 3316.65,-660.24 3241.03,-703.02 2968,-645 2929.89,-636.9 2923.76,-623.62 2886,-614 2772.95,-585.19 2727.23,-635.98 2626,-578 2572.46,-547.33 2595.06,-496.86 2540,-469 2476.66,-436.96 1426.23,-422.72 1129.5,-419.33"/>
+<title>Node101&#45;&gt;Node4</title>
+<path fill="none" stroke="midnightblue" d="M3669.71,-687.32C3645.62,-685.1 3619.28,-682.81 3595,-681 3316.65,-660.24 3241.03,-703.02 2968,-645 2929.89,-636.9 2923.76,-623.62 2886,-614 2772.95,-585.19 2727.23,-635.98 2626,-578 2572.46,-547.33 2595.06,-496.86 2540,-469 2476.62,-436.94 1425.48,-422.71 1128.55,-419.32"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3669.61,-690.82 3679.89,-688.27 3670.25,-683.85 3669.61,-690.82"/>
 </g>
-<!-- Node101&#45;&gt;Node24 -->
+<!-- Node101&#45;&gt;Node23 -->
 <g id="edge189" class="edge">
-<title>Node101&#45;&gt;Node24</title>
+<title>Node101&#45;&gt;Node23</title>
 <path fill="none" stroke="midnightblue" d="M3669.67,-687.85C3645.58,-685.63 3619.24,-683.22 3595,-681 3418.83,-664.87 3211.09,-645.92 3107.55,-636.48"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3669.57,-691.35 3679.84,-688.78 3670.21,-684.38 3669.57,-691.35"/>
 </g>
@@ -2395,134 +2395,134 @@
 <!-- Node101&#45;&gt;Node103 -->
 <g id="edge179" class="edge">
 <title>Node101&#45;&gt;Node103</title>
-<path fill="none" stroke="midnightblue" d="M3836.33,-689.58C3878.48,-686.72 3930.44,-683.4 3977,-681 4450.37,-656.59 5020.22,-638.56 5218.68,-632.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3835.85,-686.11 3826.11,-690.28 3836.33,-693.09 3835.85,-686.11"/>
+<path fill="none" stroke="midnightblue" d="M3836.19,-689.62C3878.61,-686.76 3931.04,-683.41 3978,-681 4451.37,-656.65 5021.22,-638.58 5219.68,-632.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3835.92,-686.13 3826.18,-690.3 3836.4,-693.12 3835.92,-686.13"/>
 </g>
-<!-- Node102&#45;&gt;Node28 -->
+<!-- Node102&#45;&gt;Node27 -->
 <g id="edge178" class="edge">
-<title>Node102&#45;&gt;Node28</title>
+<title>Node102&#45;&gt;Node27</title>
 <path fill="none" stroke="midnightblue" d="M3670.48,-612.43C3595.81,-593.71 3474.86,-559.08 3378,-511 3333.16,-488.74 3286.37,-452.72 3262.03,-432.83"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3669.7,-615.84 3680.25,-614.86 3671.39,-609.05 3669.7,-615.84"/>
 </g>
-<!-- Node103&#45;&gt;Node37 -->
+<!-- Node103&#45;&gt;Node36 -->
 <g id="edge180" class="edge">
-<title>Node103&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M5208.53,-627.27C4787.65,-620.95 2888.72,-591.88 2626,-578 2466.96,-569.6 2427.82,-558.85 2269,-547 1966.61,-524.45 1606.46,-503.9 1450.02,-495.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5208.74,-630.77 5218.79,-627.42 5208.84,-623.77 5208.74,-630.77"/>
+<title>Node103&#45;&gt;Node36</title>
+<path fill="none" stroke="midnightblue" d="M5209.5,-627.27C4788.46,-620.96 2888.82,-591.92 2626,-578 2467.4,-569.6 2428.38,-558.83 2270,-547 1967.27,-524.39 1606.72,-503.87 1450.11,-495.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5209.71,-630.78 5219.76,-627.43 5209.82,-623.78 5209.71,-630.78"/>
 </g>
-<!-- Node103&#45;&gt;Node38 -->
+<!-- Node103&#45;&gt;Node37 -->
 <g id="edge181" class="edge">
-<title>Node103&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M5208.65,-627.12C4777.62,-619.9 2790.55,-586.4 2516,-578 2428.49,-575.32 2328.26,-570.83 2260.01,-567.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5208.79,-630.63 5218.85,-627.29 5208.91,-623.63 5208.79,-630.63"/>
+<title>Node103&#45;&gt;Node37</title>
+<path fill="none" stroke="midnightblue" d="M5209.62,-627.12C4778.43,-619.91 2790.65,-586.42 2516,-578 2428.9,-575.33 2329.15,-570.84 2261.11,-567.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5209.76,-630.63 5219.82,-627.29 5209.88,-623.63 5209.76,-630.63"/>
 </g>
 <!-- Node103&#45;&gt;Node55 -->
 <g id="edge182" class="edge">
 <title>Node103&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M5361.91,-618.54C5452.51,-605.83 5607.79,-584.03 5693.23,-572.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5361.42,-615.08 5352.01,-619.94 5362.39,-622.01 5361.42,-615.08"/>
+<path fill="none" stroke="midnightblue" d="M5362.91,-618.54C5453.51,-605.83 5608.79,-584.03 5694.23,-572.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5362.42,-615.08 5353.01,-619.94 5363.39,-622.01 5362.42,-615.08"/>
 </g>
 <!-- Node103&#45;&gt;Node56 -->
 <g id="edge186" class="edge">
 <title>Node103&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M5306.93,-612.65C5328.82,-591.25 5367.45,-554.89 5385,-547 5446.63,-519.3 5634.1,-502.8 5738.98,-495.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5304.37,-610.27 5299.7,-619.78 5309.28,-615.25 5304.37,-610.27"/>
+<path fill="none" stroke="midnightblue" d="M5307.75,-612.65C5329.38,-591.25 5367.58,-554.88 5385,-547 5446.85,-519.03 5635.22,-502.64 5740.62,-495.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5305.21,-610.24 5300.6,-619.78 5310.15,-615.2 5305.21,-610.24"/>
 </g>
 <!-- Node103&#45;&gt;Node73 -->
 <g id="edge183" class="edge">
 <title>Node103&#45;&gt;Node73</title>
-<path fill="none" stroke="midnightblue" d="M5297.56,-610.4C5307.45,-580.33 5323.47,-518.47 5308,-469 5303.73,-455.36 5294.34,-442.16 5286.36,-432.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5294.22,-609.37 5294.26,-619.96 5300.83,-611.65 5294.22,-609.37"/>
+<path fill="none" stroke="midnightblue" d="M5298.38,-610.4C5307.98,-580.31 5323.46,-518.44 5308,-469 5303.73,-455.36 5294.34,-442.16 5286.36,-432.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5295.03,-609.37 5295.18,-619.96 5301.67,-611.59 5295.03,-609.37"/>
 </g>
 <!-- Node103&#45;&gt;Node92 -->
 <g id="edge187" class="edge">
 <title>Node103&#45;&gt;Node92</title>
-<path fill="none" stroke="midnightblue" d="M5267.86,-614.44C5246.67,-601.57 5215.98,-582.93 5198.2,-572.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5266.21,-617.53 5276.57,-619.73 5269.84,-611.55 5266.21,-617.53"/>
+<path fill="none" stroke="midnightblue" d="M5268.64,-614.44C5247.25,-601.57 5216.28,-582.93 5198.33,-572.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5267.06,-617.58 5277.43,-619.73 5270.67,-611.58 5267.06,-617.58"/>
 </g>
 <!-- Node103&#45;&gt;Node93 -->
 <g id="edge184" class="edge">
 <title>Node103&#45;&gt;Node93</title>
-<path fill="none" stroke="midnightblue" d="M5288.72,-609.57C5286.07,-592.43 5280.63,-566.9 5270,-547 5259.81,-527.92 5241.81,-510.03 5230.42,-499.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5285.32,-610.49 5290.14,-619.92 5292.25,-609.54 5285.32,-610.49"/>
+<path fill="none" stroke="midnightblue" d="M5289.44,-609.57C5286.55,-592.43 5280.77,-566.9 5270,-547 5259.7,-527.97 5241.73,-510.08 5230.37,-499.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5286.05,-610.56 5291.01,-619.92 5292.98,-609.51 5286.05,-610.56"/>
 </g>
 <!-- Node103&#45;&gt;Node104 -->
 <g id="edge185" class="edge">
 <title>Node103&#45;&gt;Node104</title>
-<path fill="none" stroke="midnightblue" d="M5321.21,-615.91C5347.63,-604.91 5385.94,-588.94 5413.33,-577.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5319.6,-612.79 5311.72,-619.87 5322.29,-619.25 5319.6,-612.79"/>
+<path fill="none" stroke="midnightblue" d="M5322.02,-615.91C5348.26,-604.91 5386.33,-588.94 5413.55,-577.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5320.45,-612.77 5312.58,-619.87 5323.16,-619.23 5320.45,-612.77"/>
 </g>
-<!-- Node107&#45;&gt;Node10 -->
+<!-- Node107&#45;&gt;Node9 -->
 <g id="edge195" class="edge">
-<title>Node107&#45;&gt;Node10</title>
+<title>Node107&#45;&gt;Node9</title>
 <path fill="none" stroke="midnightblue" d="M3169.33,-537.04C3168.42,-517.01 3164.35,-488.84 3150,-469 3138.13,-452.59 3119.16,-440.73 3101.88,-432.65"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3165.83,-537.31 3169.55,-547.23 3172.83,-537.15 3165.83,-537.31"/>
 </g>
-<!-- Node107&#45;&gt;Node27 -->
+<!-- Node107&#45;&gt;Node26 -->
 <g id="edge196" class="edge">
-<title>Node107&#45;&gt;Node27</title>
+<title>Node107&#45;&gt;Node26</title>
 <path fill="none" stroke="midnightblue" d="M3138.8,-541.6C3121.13,-529.96 3099.24,-515.54 3083.36,-505.07"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3137.33,-544.82 3147.6,-547.4 3141.18,-538.98 3137.33,-544.82"/>
 </g>
-<!-- Node110&#45;&gt;Node33 -->
+<!-- Node110&#45;&gt;Node32 -->
 <g id="edge211" class="edge">
-<title>Node110&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M4201.43,-672.99C4187.33,-653.42 4164.01,-626.32 4136,-614 4028.64,-566.77 3197.56,-591.03 3081,-578 3078.06,-577.67 3075.07,-577.29 3072.05,-576.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4198.67,-675.15 4207.24,-681.37 4204.42,-671.16 4198.67,-675.15"/>
+<title>Node110&#45;&gt;Node32</title>
+<path fill="none" stroke="midnightblue" d="M4201.89,-673.24C4187.14,-653.63 4162.78,-626.34 4134,-614 4026.41,-567.85 3197.34,-591.01 3081,-578 3078.06,-577.67 3075.07,-577.29 3072.05,-576.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4199.07,-675.32 4207.78,-681.36 4204.74,-671.21 4199.07,-675.32"/>
 </g>
 <!-- Node111 -->
 <g id="node111" class="node">
 <title>Node111</title>
 <g id="a_node111"><a xlink:href="ir_2ir_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4023,-614.5 4023,-644.5 4127,-644.5 4127,-614.5 4023,-614.5"/>
-<text text-anchor="start" x="4031" y="-632.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
-<text text-anchor="middle" x="4075" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/ir/ir.h</text>
+<polygon fill="white" stroke="black" points="4021,-614.5 4021,-644.5 4125,-644.5 4125,-614.5 4021,-614.5"/>
+<text text-anchor="start" x="4029" y="-632.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
+<text text-anchor="middle" x="4073" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/ir/ir.h</text>
 </a>
 </g>
 </g>
 <!-- Node110&#45;&gt;Node111 -->
 <g id="edge209" class="edge">
 <title>Node110&#45;&gt;Node111</title>
-<path fill="none" stroke="midnightblue" d="M4176.15,-677.13C4153.75,-666.8 4126.22,-654.11 4105.54,-644.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4174.86,-680.39 4185.41,-681.4 4177.79,-674.03 4174.86,-680.39"/>
+<path fill="none" stroke="midnightblue" d="M4176.61,-677.27C4153.68,-666.92 4125.4,-654.15 4104.18,-644.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4175.2,-680.47 4185.75,-681.4 4178.08,-674.09 4175.2,-680.47"/>
 </g>
 <!-- Node112 -->
 <g id="node112" class="node">
 <title>Node112</title>
 <g id="a_node112"><a xlink:href="tirx_2frame_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4224,-614.5 4224,-644.5 4350,-644.5 4350,-614.5 4224,-614.5"/>
-<text text-anchor="start" x="4232" y="-632.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
-<text text-anchor="middle" x="4287" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/tirx/frame.h</text>
+<polygon fill="white" stroke="black" points="4225,-614.5 4225,-644.5 4351,-644.5 4351,-614.5 4225,-614.5"/>
+<text text-anchor="start" x="4233" y="-632.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
+<text text-anchor="middle" x="4288" y="-621.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/tirx/frame.h</text>
 </a>
 </g>
 </g>
 <!-- Node110&#45;&gt;Node112 -->
 <g id="edge212" class="edge">
 <title>Node110&#45;&gt;Node112</title>
-<path fill="none" stroke="midnightblue" d="M4238.83,-674.6C4249.55,-664.78 4262.05,-653.34 4271.62,-644.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4236.42,-672.06 4231.41,-681.4 4241.15,-677.22 4236.42,-672.06"/>
+<path fill="none" stroke="midnightblue" d="M4239.83,-674.6C4250.55,-664.78 4263.05,-653.34 4272.62,-644.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4237.42,-672.06 4232.41,-681.4 4242.15,-677.22 4237.42,-672.06"/>
 </g>
-<!-- Node111&#45;&gt;Node33 -->
+<!-- Node111&#45;&gt;Node32 -->
 <g id="edge210" class="edge">
-<title>Node111&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M4012.87,-618.74C3999.42,-616.91 3985.26,-615.2 3972,-614 3577.29,-578.33 3474.73,-623.26 3081,-578 3078.06,-577.66 3075.07,-577.28 3072.05,-576.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4012.59,-622.23 4022.98,-620.15 4013.56,-615.3 4012.59,-622.23"/>
+<title>Node111&#45;&gt;Node32</title>
+<path fill="none" stroke="midnightblue" d="M4010.84,-618.56C3998.03,-616.79 3984.6,-615.16 3972,-614 3577.33,-577.79 3474.73,-623.26 3081,-578 3078.06,-577.66 3075.07,-577.28 3072.05,-576.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4010.57,-622.05 4020.96,-619.99 4011.55,-615.12 4010.57,-622.05"/>
 </g>
 <!-- Node113 -->
 <g id="node113" class="node">
 <title>Node113</title>
 <g id="a_node113"><a xlink:href="tirx_2ir_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4246,-547.5 4246,-577.5 4350,-577.5 4350,-547.5 4246,-547.5"/>
-<text text-anchor="start" x="4254" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
-<text text-anchor="middle" x="4298" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/tirx/ir.h</text>
+<polygon fill="white" stroke="black" points="4247,-547.5 4247,-577.5 4351,-577.5 4351,-547.5 4247,-547.5"/>
+<text text-anchor="start" x="4255" y="-565.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/script</text>
+<text text-anchor="middle" x="4299" y="-554.5" font-family="Helvetica,sans-Serif" font-size="10.00">/ir_builder/tirx/ir.h</text>
 </a>
 </g>
 </g>
 <!-- Node112&#45;&gt;Node113 -->
 <g id="edge213" class="edge">
 <title>Node112&#45;&gt;Node113</title>
-<path fill="none" stroke="midnightblue" d="M4291.08,-604.4C4292.61,-595.37 4294.29,-585.41 4295.62,-577.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4287.6,-603.95 4289.39,-614.4 4294.51,-605.12 4287.6,-603.95"/>
+<path fill="none" stroke="midnightblue" d="M4292.08,-604.4C4293.61,-595.37 4295.29,-585.41 4296.62,-577.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4288.6,-603.95 4290.39,-614.4 4295.51,-605.12 4288.6,-603.95"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/dir_404558507ed35459f0d7a6d81d8c508d.html b/docs/reference/api/doxygen/dir_404558507ed35459f0d7a6d81d8c508d.html
index a93f41691fd..6066913c568 100644
--- a/docs/reference/api/doxygen/dir_404558507ed35459f0d7a6d81d8c508d.html
+++ b/docs/reference/api/doxygen/dir_404558507ed35459f0d7a6d81d8c508d.html
@@ -108,15 +108,15 @@ Files</h2></td></tr>
 <tr class="memitem:object_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html">object.h</a> <a href="object_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:object_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">A managed object in the TVM runtime. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:profiling_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="profiling_8h.html">profiling.h</a> <a href="profiling_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:profiling_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime profiling including timers. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:runtime_2tensor_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="runtime_2tensor_8h.html">tensor.h</a> <a href="runtime_2tensor_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:runtime_2tensor_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">A device-independent managed Tensor abstraction. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:threading__backend_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="threading__backend_8h.html">threading_backend.h</a> <a href="threading__backend_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:threading__backend_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utilities for manipulating thread pool threads. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:timer_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html">timer.h</a> <a href="timer_8h_source.html">[code]</a></td></tr>
+<tr class="memdesc:timer_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime timer primitives: Timer, TimerNode, WrapTimeEvaluator. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
diff --git a/docs/reference/api/doxygen/executable_8h_source.html b/docs/reference/api/doxygen/executable_8h_source.html
index 89cdfe65598..c1f3dd779c7 100644
--- a/docs/reference/api/doxygen/executable_8h_source.html
+++ b/docs/reference/api/doxygen/executable_8h_source.html
@@ -145,50 +145,49 @@ $(function() {
 <div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ad8aba4af1475f81460b95cd5d0b42bbd">  134</a></span>&#160;  static ffi::Module LoadFromBytes(const ffi::Bytes&amp; bytes);</div>
 <div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0aa3f67d968d2d17eb4cb5b7697c2288">  140</a></span>&#160;  <span class="keywordtype">void</span> WriteToFile(const ffi::String&amp; file_name, const ffi::String&amp; format) const final;</div>
 <div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0e6b34e4870a5d22a0fb64567d47e424">  142</a></span>&#160;  ffi::Module VMLoadExecutable() const;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a4e3a2fefb597005f2de7b6d357b296db">  144</a></span>&#160;  ffi::Module VMProfilerLoadExecutable() const;</div>
-<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#acc43eb1d86590b9ea017734740ea2394">  146</a></span>&#160;  <span class="keywordtype">bool</span> HasFunction(const ffi::String&amp; name) const;</div>
-<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0e741c152e68a73ab2b157444f148001">  152</a></span>&#160;  static ffi::Module LoadFromFile(const ffi::String&amp; file_name);</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
-<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ade88045e1b261f06b1f70e676fbed39e">  155</a></span>&#160;  std::vector&lt;<a class="code" href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html">VMFuncInfo</a>&gt; func_table;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a9909556ba0103d41816f100561c6d1a0">  157</a></span>&#160;  std::unordered_map&lt;std::<span class="keywordtype">string</span>, <a class="code" href="namespacetvm_1_1runtime_1_1vm.html#a1227d803d3d8f11b3d32a1372358f694">Index</a>&gt; func_map;</div>
-<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a8db062d10acf0ed58cd2d00426a6106f">  159</a></span>&#160;  std::vector&lt;ffi::Any&gt; constants;</div>
-<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a846304073bf1ca29ccdf135972c6c53f">  161</a></span>&#160;  std::unordered_map&lt;<a class="code" href="namespacetvm_1_1runtime_1_1vm.html#a1227d803d3d8f11b3d32a1372358f694">Index</a>, std::<span class="keywordtype">string</span>&gt; memory_scopes;</div>
-<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a32b6d52635f323a79fe95c1a57621a90">  163</a></span>&#160;  std::vector&lt;<a class="code" href="namespacetvm_1_1runtime_1_1vm.html#a1227d803d3d8f11b3d32a1372358f694">Index</a>&gt; instr_offset;</div>
-<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ad8cb3b0d02afab5f331f548580004672">  165</a></span>&#160;  std::vector&lt;<a class="code" href="namespacetvm_1_1runtime_1_1vm.html#a686b3f7ba5f75e2b87ef66bd2783de77">ExecWord</a>&gt; instr_data;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#acc43eb1d86590b9ea017734740ea2394">  144</a></span>&#160;  <span class="keywordtype">bool</span> HasFunction(const ffi::String&amp; name) const;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a0e741c152e68a73ab2b157444f148001">  150</a></span>&#160;  static ffi::Module LoadFromFile(const ffi::String&amp; file_name);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ade88045e1b261f06b1f70e676fbed39e">  153</a></span>&#160;  std::vector&lt;<a class="code" href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html">VMFuncInfo</a>&gt; func_table;</div>
+<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a9909556ba0103d41816f100561c6d1a0">  155</a></span>&#160;  std::unordered_map&lt;std::<span class="keywordtype">string</span>, <a class="code" href="namespacetvm_1_1runtime_1_1vm.html#a1227d803d3d8f11b3d32a1372358f694">Index</a>&gt; func_map;</div>
+<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a8db062d10acf0ed58cd2d00426a6106f">  157</a></span>&#160;  std::vector&lt;ffi::Any&gt; constants;</div>
+<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a846304073bf1ca29ccdf135972c6c53f">  159</a></span>&#160;  std::unordered_map&lt;<a class="code" href="namespacetvm_1_1runtime_1_1vm.html#a1227d803d3d8f11b3d32a1372358f694">Index</a>, std::<span class="keywordtype">string</span>&gt; memory_scopes;</div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a32b6d52635f323a79fe95c1a57621a90">  161</a></span>&#160;  std::vector&lt;<a class="code" href="namespacetvm_1_1runtime_1_1vm.html#a1227d803d3d8f11b3d32a1372358f694">Index</a>&gt; instr_offset;</div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ad8cb3b0d02afab5f331f548580004672">  163</a></span>&#160;  std::vector&lt;<a class="code" href="namespacetvm_1_1runtime_1_1vm.html#a686b3f7ba5f75e2b87ef66bd2783de77">ExecWord</a>&gt; instr_data;</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
+<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ab78153eb592933e8e2ecc3d68c601354">  165</a></span>&#160;  virtual ~<a class="code" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">VMExecutable</a>() {}</div>
 <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160; </div>
-<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ab78153eb592933e8e2ecc3d68c601354">  167</a></span>&#160;  virtual ~<a class="code" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">VMExecutable</a>() {}</div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
-<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a3d765476b2f4291e3dcfcedd17189134">  170</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a3d765476b2f4291e3dcfcedd17189134">kind</a>() const final;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#aad77c149256049875d4c2ee66f3facb9">  176</a></span>&#160;  ffi::Optional&lt;ffi::<a class="code" href="namespacetvm_1_1relax_1_1backend_1_1adreno_1_1transform.html#a970369f0f520a0a6257ec14d95991962">Function</a>&gt; GetFunction(const ffi::String&amp; name) override;</div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; private:</div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  <span class="keywordtype">void</span> SaveGlobalSection(support::Stream* strm) const;</div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="keywordtype">void</span> SaveMemoryScopeSection(support::Stream* strm) const;</div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="keywordtype">void</span> SaveConstantSection(support::Stream* strm) const;</div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="keywordtype">void</span> SaveCodeSection(support::Stream* strm) const;</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="keywordtype">void</span> SavePackedFuncNames(support::Stream* strm) const;</div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keywordtype">void</span> LoadGlobalSection(support::Stream* strm);</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="keywordtype">void</span> LoadMemoryScopeSection(support::Stream* strm);</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  <span class="keywordtype">void</span> LoadConstantSection(support::Stream* strm);</div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keywordtype">void</span> LoadCodeSection(support::Stream* strm);</div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="keywordtype">void</span> LoadPackedFuncNames(support::Stream* strm);</div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;};</div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160; </div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;}  <span class="comment">// namespace vm</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;}  <span class="comment">// namespace runtime</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;}  <span class="comment">// namespace tvm</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160; </div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;namespace <a class="code" href="namespacetvm.html">tvm</a> {</div>
-<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="namespacetvm_1_1support.html">  236</a></span>&#160;<span class="keyword">namespace </span>support {</div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="keyword">template</span> &lt;&gt;</div>
-<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html">  238</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structtvm_1_1support_1_1Serializer.html">Serializer</a>&lt;::<a class="code" href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html">tvm::runtime::vm::VMFuncInfo</a>&gt; {</div>
-<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#aef64abd3eecfd3507af913ffb7c308dd">  239</a></span>&#160;  <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> enabled = <span class="keyword">true</span>;</div>
-<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#a764b954875c2944297aeb171b894ad44">  240</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#a764b954875c2944297aeb171b894ad44">Write</a>(<a class="code" href="classtvm_1_1suppor [...]
-<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#ac040427737dd8a1d4abec3a8165b8bcb">  241</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#ac040427737dd8a1d4abec3a8165b8bcb">Read</a>(<a class="code" href="classtvm_1_1support [...]
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;};</div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;}  <span class="comment">// namespace support</span></div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;}  <span class="comment">// namespace tvm</span></div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">// TVM_RUNTIME_VM_EXECUTABLE_H_</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a3d765476b2f4291e3dcfcedd17189134">  168</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a3d765476b2f4291e3dcfcedd17189134">kind</a>() const final;</div>
+<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#aad77c149256049875d4c2ee66f3facb9">  174</a></span>&#160;  ffi::Optional&lt;ffi::<a class="code" href="namespacetvm_1_1relax_1_1backend_1_1adreno_1_1transform.html#a970369f0f520a0a6257ec14d95991962">Function</a>&gt; GetFunction(const ffi::String&amp; name) override;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; private:</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="keywordtype">void</span> SaveGlobalSection(support::Stream* strm) const;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="keywordtype">void</span> SaveMemoryScopeSection(support::Stream* strm) const;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <span class="keywordtype">void</span> SaveConstantSection(support::Stream* strm) const;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="keywordtype">void</span> SaveCodeSection(support::Stream* strm) const;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="keywordtype">void</span> SavePackedFuncNames(support::Stream* strm) const;</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="keywordtype">void</span> LoadGlobalSection(support::Stream* strm);</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="keywordtype">void</span> LoadMemoryScopeSection(support::Stream* strm);</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="keywordtype">void</span> LoadConstantSection(support::Stream* strm);</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="keywordtype">void</span> LoadCodeSection(support::Stream* strm);</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="keywordtype">void</span> LoadPackedFuncNames(support::Stream* strm);</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;};</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;}  <span class="comment">// namespace vm</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;}  <span class="comment">// namespace runtime</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;}  <span class="comment">// namespace tvm</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;namespace <a class="code" href="namespacetvm.html">tvm</a> {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="namespacetvm_1_1support.html">  234</a></span>&#160;<span class="keyword">namespace </span>support {</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="keyword">template</span> &lt;&gt;</div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html">  236</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structtvm_1_1support_1_1Serializer.html">Serializer</a>&lt;::<a class="code" href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html">tvm::runtime::vm::VMFuncInfo</a>&gt; {</div>
+<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#aef64abd3eecfd3507af913ffb7c308dd">  237</a></span>&#160;  <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> enabled = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#a764b954875c2944297aeb171b894ad44">  238</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#a764b954875c2944297aeb171b894ad44">Write</a>(<a class="code" href="classtvm_1_1suppor [...]
+<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#ac040427737dd8a1d4abec3a8165b8bcb">  239</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#ac040427737dd8a1d4abec3a8165b8bcb">Read</a>(<a class="code" href="classtvm_1_1support [...]
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;};</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;}  <span class="comment">// namespace support</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;}  <span class="comment">// namespace tvm</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">// TVM_RUNTIME_VM_EXECUTABLE_H_</span></div>
 <div class="ttc" id="abytecode_8h_html"><div class="ttname"><a href="bytecode_8h.html">bytecode.h</a></div><div class="ttdoc">The bytecode for the virtual machine.</div></div>
 <div class="ttc" id="aclasstvm_1_1runtime_1_1vm_1_1VMExecutable_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html">tvm::runtime::vm::VMExecutable</a></div><div class="ttdoc">The virtual machine executable emitted by the VM compiler.</div><div class="ttdef"><b>Definition:</b> executable.h:90</div></div>
 <div class="ttc" id="aclasstvm_1_1runtime_1_1vm_1_1VMExecutable_html_a291639519f9e8824358edb2dba05f6be"><div class="ttname"><a href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#a291639519f9e8824358edb2dba05f6be">tvm::runtime::vm::VMExecutable::GetInstruction</a></div><div class="ttdeci">Instruction GetInstruction(Index i) const</div><div class="ttdoc">Get the i-th instruction from the executable.</div></div>
@@ -224,8 +223,8 @@ $(function() {
 <div class="ttc" id="astructtvm_1_1runtime_1_1vm_1_1VMFuncInfo_html_abd9ca278ed66aa63752c05b5c948f05b"><div class="ttname"><a href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html#abd9ca278ed66aa63752c05b5c948f05b">tvm::runtime::vm::VMFuncInfo::Load</a></div><div class="ttdeci">bool Load(support::Stream *reader)</div></div>
 <div class="ttc" id="astructtvm_1_1runtime_1_1vm_1_1VMFuncInfo_html_afaeeef27cbe2be62e74b15b1a363276e"><div class="ttname"><a href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html#afaeeef27cbe2be62e74b15b1a363276e">tvm::runtime::vm::VMFuncInfo::Save</a></div><div class="ttdeci">void Save(support::Stream *writer) const</div></div>
 <div class="ttc" id="astructtvm_1_1runtime_1_1vm_1_1VMFuncInfo_html_afbe2b34a864f12ed5f71663d1af27906"><div class="ttname"><a href="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html#afbe2b34a864f12ed5f71663d1af27906">tvm::runtime::vm::VMFuncInfo::end_instr</a></div><div class="ttdeci">Index end_instr</div><div class="ttdoc">The end instruction index of the function.</div><div class="ttdef"><b>Definition:</b> executable.h:71</div></div>
-<div class="ttc" id="astructtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4_html_a764b954875c2944297aeb171b894ad44"><div class="ttname"><a href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#a764b954875c2944297aeb171b894ad44">tvm::support::Serializer&lt;::tvm::runtime::vm::VMFuncInfo &gt;::Write</a></div><div class="ttdeci">static void Write(Stream *strm, const ::tvm::runtime::vm::VMFuncInfo &amp;data)</div><div class="ttde [...]
-<div class="ttc" id="astructtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4_html_ac040427737dd8a1d4abec3a8165b8bcb"><div class="ttname"><a href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#ac040427737dd8a1d4abec3a8165b8bcb">tvm::support::Serializer&lt;::tvm::runtime::vm::VMFuncInfo &gt;::Read</a></div><div class="ttdeci">static bool Read(Stream *strm, ::tvm::runtime::vm::VMFuncInfo *data)</div><div class="ttdef"><b>Defini [...]
+<div class="ttc" id="astructtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4_html_a764b954875c2944297aeb171b894ad44"><div class="ttname"><a href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#a764b954875c2944297aeb171b894ad44">tvm::support::Serializer&lt;::tvm::runtime::vm::VMFuncInfo &gt;::Write</a></div><div class="ttdeci">static void Write(Stream *strm, const ::tvm::runtime::vm::VMFuncInfo &amp;data)</div><div class="ttde [...]
+<div class="ttc" id="astructtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4_html_ac040427737dd8a1d4abec3a8165b8bcb"><div class="ttname"><a href="structtvm_1_1support_1_1Serializer_3_1_1tvm_1_1runtime_1_1vm_1_1VMFuncInfo_01_4.html#ac040427737dd8a1d4abec3a8165b8bcb">tvm::support::Serializer&lt;::tvm::runtime::vm::VMFuncInfo &gt;::Read</a></div><div class="ttdeci">static bool Read(Stream *strm, ::tvm::runtime::vm::VMFuncInfo *data)</div><div class="ttdef"><b>Defini [...]
 <div class="ttc" id="astructtvm_1_1support_1_1Serializer_html"><div class="ttname"><a href="structtvm_1_1support_1_1Serializer.html">tvm::support::Serializer</a></div><div class="ttdoc">Primary Serializer template. Specialize for each serializable type.</div><div class="ttdef"><b>Definition:</b> io.h:42</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
diff --git a/docs/reference/api/doxygen/files.html b/docs/reference/api/doxygen/files.html
index d48414363db..33bc932ad19 100644
--- a/docs/reference/api/doxygen/files.html
... 47100 lines suppressed ...