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 2022/04/08 01:12:23 UTC

[tvm-site] branch asf-site updated: deploying docs (apache/tvm@5f1f8f34212b462610881c030bacb0e6ba5802ec)

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 17b48ac74 deploying docs (apache/tvm@5f1f8f34212b462610881c030bacb0e6ba5802ec)
17b48ac74 is described below

commit 17b48ac7435d8186e8c9ad74b31ace5a567d99b8
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Fri Apr 8 01:12:16 2022 +0000

    deploying docs (apache/tvm@5f1f8f34212b462610881c030bacb0e6ba5802ec)
---
 .../how_to/compile_models/from_mxnet.rst.txt       |    2 +-
 .../how_to/compile_models/from_paddle.rst.txt      |    2 +-
 .../how_to/compile_models/from_pytorch.rst.txt     |    2 +-
 .../compile_models/sg_execution_times.rst.txt      |   20 +-
 .../deploy_models/deploy_model_on_android.rst.txt  |    2 +-
 .../deploy_object_detection_pytorch.rst.txt        |    4 +-
 .../deploy_models/deploy_prequantized.rst.txt      |    6 +-
 .../deploy_prequantized_tflite.rst.txt             |    4 +-
 .../how_to/deploy_models/deploy_quantized.rst.txt  |    2 +-
 .../deploy_models/deploy_ssd_gluoncv.rst.txt       |    4 +-
 .../deploy_models/sg_execution_times.rst.txt       |   18 +-
 .../extend_tvm/bring_your_own_datatypes.rst.txt    |    2 +-
 .../how_to/extend_tvm/sg_execution_times.rst.txt   |   10 +-
 .../how_to/extend_tvm/use_pass_instrument.rst.txt  |   16 +-
 .../optimize_operators/opt_conv_cuda.rst.txt       |    2 +-
 .../optimize_operators/opt_conv_tensorcore.rst.txt |    2 +-
 .../how_to/optimize_operators/opt_gemm.rst.txt     |   16 +-
 .../optimize_operators/sg_execution_times.rst.txt  |    8 +-
 .../sg_execution_times.rst.txt                     |   16 +-
 .../tune_conv2d_layer_cuda.rst.txt                 |  285 +-
 .../tune_network_cuda.rst.txt                      |    2 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |   38 +-
 .../tune_with_autotvm/sg_execution_times.rst.txt   |   12 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     |   34 +-
 .../work_with_microtvm/micro_autotune.rst.txt      |   16 +-
 .../work_with_microtvm/sg_execution_times.rst.txt  |   10 +-
 .../work_with_relay/sg_execution_times.rst.txt     |    8 +-
 .../work_with_schedules/sg_execution_times.rst.txt |   18 +-
 .../how_to/work_with_schedules/tensorize.rst.txt   |    4 +-
 .../tutorials/autotvm/sg_execution_times.rst.txt   |    6 +-
 .../frontend/deploy_classification.rst.txt         |    2 +-
 .../tutorials/frontend/deploy_detection.rst.txt    |    2 +-
 .../tutorials/frontend/sg_execution_times.rst.txt  |    6 +-
 .../tutorials/optimize/sg_execution_times.rst.txt  |    6 +-
 .../topic/vta/tutorials/sg_execution_times.rst.txt |    6 +-
 .../tutorial/auto_scheduler_matmul_x86.rst.txt     |    8 +-
 docs/_sources/tutorial/autotvm_relay_x86.rst.txt   |   59 +-
 .../tutorial/cross_compilation_and_rpc.rst.txt     |    2 +-
 docs/_sources/tutorial/intro_topi.rst.txt          |    2 +-
 docs/_sources/tutorial/sg_execution_times.rst.txt  |   26 +-
 .../tutorial/tensor_expr_get_started.rst.txt       |   45 +-
 docs/commit_hash                                   |    2 +-
 docs/how_to/compile_models/from_mxnet.html         |    2 +-
 docs/how_to/compile_models/from_paddle.html        |    2 +-
 docs/how_to/compile_models/from_pytorch.html       |    4 +-
 docs/how_to/compile_models/sg_execution_times.html |   20 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   17 +-
 docs/how_to/deploy_models/deploy_prequantized.html |    9 +-
 .../deploy_models/deploy_prequantized_tflite.html  |    4 +-
 docs/how_to/deploy_models/deploy_quantized.html    |    2 +-
 docs/how_to/deploy_models/deploy_ssd_gluoncv.html  |   35 +-
 docs/how_to/deploy_models/sg_execution_times.html  |   18 +-
 .../extend_tvm/bring_your_own_datatypes.html       |    2 +-
 docs/how_to/extend_tvm/sg_execution_times.html     |   10 +-
 docs/how_to/extend_tvm/use_pass_instrument.html    |   16 +-
 docs/how_to/optimize_operators/opt_conv_cuda.html  |    2 +-
 .../optimize_operators/opt_conv_tensorcore.html    |    2 +-
 docs/how_to/optimize_operators/opt_gemm.html       |   16 +-
 .../optimize_operators/sg_execution_times.html     |    8 +-
 .../sg_execution_times.html                        |   14 +-
 .../tune_conv2d_layer_cuda.html                    |  284 +-
 .../tune_with_autoscheduler/tune_network_cuda.html |    2 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |   38 +-
 .../tune_with_autotvm/sg_execution_times.html      |   12 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html |   34 +-
 docs/how_to/work_with_microtvm/micro_autotune.html |   16 +-
 .../work_with_microtvm/sg_execution_times.html     |   10 +-
 .../how_to/work_with_relay/sg_execution_times.html |    8 +-
 .../work_with_schedules/sg_execution_times.html    |   18 +-
 docs/how_to/work_with_schedules/tensorize.html     |    4 +-
 docs/reference/api/doxygen/annotated.html          |   86 +-
 ...ration_8h.html => apply__history__best_8h.html} |   24 +-
 .../api/doxygen/apply__history__best_8h__incl.svg  | 1574 +++++
 .../doxygen/apply__history__best_8h_source.html    |   98 +
 .../api/doxygen/arg__info_8h__dep__incl.svg        |    4 +-
 .../reference/api/doxygen/arg__info_8h_source.html |    2 +-
 docs/reference/api/doxygen/array_8h__dep__incl.svg |  660 +-
 .../api/doxygen/attr__registry__map_8h.html        |    2 +-
 .../doxygen/attr__registry__map_8h__dep__incl.svg  |  852 ++-
 .../api/doxygen/c__runtime__api_8h__dep__incl.svg  |  520 +-
 docs/reference/api/doxygen/classes.html            |  402 +-
 ...meta__schedule_1_1ApplyHistoryBest-members.html |   33 +-
 ...stvm_1_1meta__schedule_1_1ApplyHistoryBest.html |  175 +-
 ...__schedule_1_1ApplyHistoryBestNode-members.html |   20 +-
 ..._1_1meta__schedule_1_1ApplyHistoryBestNode.html |   58 +-
 ...hedule_1_1ApplyHistoryBestNode__coll__graph.svg |  296 +-
 ...ule_1_1ApplyHistoryBestNode__inherit__graph.svg |  110 +-
 ...__schedule_1_1ApplyHistoryBest__coll__graph.svg |  169 +-
 ...chedule_1_1ApplyHistoryBest__inherit__graph.svg |  109 +-
 ...lasstvm_1_1meta__schedule_1_1ExtractedTask.html |    8 +-
 ...tvm_1_1meta__schedule_1_1ExtractedTaskNode.html |    4 +-
 ...a__schedule_1_1MetaScheduleContext-members.html |  108 -
 ...m_1_1meta__schedule_1_1MetaScheduleContext.html |  482 --
 ...chedule_1_1MetaScheduleContextNode-members.html |  114 -
 ...1meta__schedule_1_1MetaScheduleContextNode.html |  345 --
 ...ule_1_1MetaScheduleContextNode__coll__graph.svg |   82 -
 ..._1_1MetaScheduleContextNode__inherit__graph.svg |   99 -
 ...chedule_1_1MetaScheduleContext__coll__graph.svg |   97 -
 ...dule_1_1MetaScheduleContext__inherit__graph.svg |   90 -
 .../api/doxygen/classtvm_1_1runtime_1_1Object.html |    2 +-
 .../doxygen/classtvm_1_1runtime_1_1ObjectRef.html  |    2 +-
 ...asstvm_1_1runtime_1_1ObjectRef__coll__graph.svg |   12 +-
 .../classtvm_1_1runtime_1_1Object__coll__graph.svg |    8 +-
 .../api/doxygen/data__type_8h__dep__incl.svg       |  660 +-
 .../api/doxygen/database_8h__dep__incl.svg         |    4 +-
 docs/reference/api/doxygen/diagnostic_8h.html      |    2 +-
 .../api/doxygen/diagnostic_8h__dep__incl.svg       | 1071 ++--
 docs/reference/api/doxygen/dir_000004_000013.html  |    2 +-
 docs/reference/api/doxygen/dir_000004_000024.html  |    2 +-
 .../dir_4378f18824ae7d4ad48f8d7785cd7ac8.html      |    6 +-
 .../dir_4378f18824ae7d4ad48f8d7785cd7ac8_dep.svg   |    8 +-
 .../dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg   |    8 +-
 docs/reference/api/doxygen/error_8h.html           |    2 +-
 docs/reference/api/doxygen/error_8h__dep__incl.svg | 1131 ++--
 ...gistry__map_8h.html => extracted__task_8h.html} |   39 +-
 .../api/doxygen/extracted__task_8h__incl.svg       | 1632 +++++
 .../api/doxygen/extracted__task_8h_source.html     |   97 +
 docs/reference/api/doxygen/files.html              |   31 +-
 docs/reference/api/doxygen/functions_0x7e.html     |    6 -
 docs/reference/api/doxygen/functions__.html        |    1 -
 docs/reference/api/doxygen/functions_a.html        |   13 +-
 docs/reference/api/doxygen/functions_c.html        |    2 +-
 docs/reference/api/doxygen/functions_e.html        |    4 +-
 .../reference/api/doxygen/functions_func_0x7e.html |    6 -
 docs/reference/api/doxygen/functions_func_c.html   |    2 +-
 docs/reference/api/doxygen/functions_func_e.html   |    4 +-
 docs/reference/api/doxygen/functions_func_m.html   |    3 -
 docs/reference/api/doxygen/functions_func_q.html   |    6 +-
 docs/reference/api/doxygen/functions_func_s.html   |    2 +-
 docs/reference/api/doxygen/functions_func_t.html   |   12 +-
 docs/reference/api/doxygen/functions_func_v.html   |    6 +-
 docs/reference/api/doxygen/functions_m.html        |    6 -
 docs/reference/api/doxygen/functions_q.html        |    6 +-
 docs/reference/api/doxygen/functions_rela.html     |    9 +-
 docs/reference/api/doxygen/functions_s.html        |    6 +-
 docs/reference/api/doxygen/functions_t.html        |   12 +-
 docs/reference/api/doxygen/functions_v.html        |    4 +-
 docs/reference/api/doxygen/functions_vars.html     |    1 -
 docs/reference/api/doxygen/functions_w.html        |    3 -
 .../api/doxygen/functor_8h__dep__incl.svg          |  572 +-
 docs/reference/api/doxygen/hierarchy.html          |   60 +-
 docs/reference/api/doxygen/inherit_graph_10.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_107.svg   | 6550 ++++++++++----------
 docs/reference/api/doxygen/inherit_graph_116.svg   | 2846 +++++----
 docs/reference/api/doxygen/inherit_graph_185.svg   |    8 +-
 docs/reference/api/doxygen/inherit_graph_199.svg   |   16 +-
 docs/reference/api/doxygen/inherit_graph_200.svg   |   16 +-
 docs/reference/api/doxygen/inherit_graph_39.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_43.svg    |    8 +-
 docs/reference/api/doxygen/inherits.html           |    2 +-
 .../api/doxygen/instruction_8h__dep__incl.svg      |    4 +-
 docs/reference/api/doxygen/instrument_8h.html      |    2 +-
 .../api/doxygen/instrument_8h__dep__incl.svg       | 1093 ++--
 .../reference/api/doxygen/integration_8h__incl.svg | 1586 -----
 .../api/doxygen/integration_8h_source.html         |  108 -
 docs/reference/api/doxygen/ir_2adt_8h.html         |    2 +-
 .../api/doxygen/ir_2adt_8h__dep__incl.svg          | 1322 ++--
 .../api/doxygen/ir_2attrs_8h__dep__incl.svg        |  508 +-
 .../api/doxygen/ir_2expr_8h__dep__incl.svg         |  392 +-
 .../api/doxygen/ir_2function_8h__dep__incl.svg     |  496 +-
 docs/reference/api/doxygen/ir_2module_8h.html      |    2 +-
 .../api/doxygen/ir_2module_8h__dep__incl.svg       | 1386 +++--
 .../api/doxygen/ir_2span_8h__dep__incl.svg         |  644 +-
 docs/reference/api/doxygen/ir_2transform_8h.html   |    2 +-
 .../api/doxygen/ir_2transform_8h__dep__incl.svg    | 1124 ++--
 .../api/doxygen/ir_2type_8h__dep__incl.svg         |  600 +-
 docs/reference/api/doxygen/map_8h__dep__incl.svg   |  548 +-
 .../doxygen/namespacetvm_1_1meta__schedule.html    |    6 -
 .../api/doxygen/ndarray_8h__dep__incl.svg          |  420 +-
 docs/reference/api/doxygen/node_8h__dep__incl.svg  |  580 +-
 .../reference/api/doxygen/object_8h__dep__incl.svg |  708 +--
 .../api/doxygen/optional_8h__dep__incl.svg         |  524 +-
 .../api/doxygen/packed__func_8h__dep__incl.svg     |  464 +-
 .../api/doxygen/reflection_8h__dep__incl.svg       |  444 +-
 .../api/doxygen/registry_8h__dep__incl.svg         |  160 +-
 .../api/doxygen/repr__printer_8h__dep__incl.svg    |  568 +-
 .../api/doxygen/runtime_2container_2adt_8h.html    |    2 +-
 .../runtime_2container_2adt_8h__dep__incl.svg      | 1222 ++--
 .../runtime_2container_2base_8h__dep__incl.svg     |  616 +-
 .../api/doxygen/runtime_2memory_8h__dep__incl.svg  |  584 +-
 .../api/doxygen/runtime_2module_8h__dep__incl.svg  |  444 +-
 docs/reference/api/doxygen/search/all_1.js         |    2 +-
 docs/reference/api/doxygen/search/all_10.js        |    2 +-
 docs/reference/api/doxygen/search/all_11.js        |    2 +-
 docs/reference/api/doxygen/search/all_12.js        |    3 +-
 docs/reference/api/doxygen/search/all_14.js        |   22 +-
 docs/reference/api/doxygen/search/all_15.js        |   12 +-
 docs/reference/api/doxygen/search/all_16.js        |    4 +-
 docs/reference/api/doxygen/search/all_17.js        |    6 +-
 docs/reference/api/doxygen/search/all_18.js        |    1 -
 docs/reference/api/doxygen/search/all_1b.js        |    2 -
 docs/reference/api/doxygen/search/all_2.js         |    2 +
 docs/reference/api/doxygen/search/all_4.js         |    2 +-
 docs/reference/api/doxygen/search/all_6.js         |    5 +-
 docs/reference/api/doxygen/search/all_a.js         |    1 -
 docs/reference/api/doxygen/search/all_e.js         |    5 +-
 docs/reference/api/doxygen/search/classes_10.js    |    8 +-
 docs/reference/api/doxygen/search/classes_11.js    |    2 +-
 docs/reference/api/doxygen/search/classes_13.js    |    4 +-
 docs/reference/api/doxygen/search/classes_a.js     |    2 -
 docs/reference/api/doxygen/search/files_0.js       |    1 +
 docs/reference/api/doxygen/search/files_4.js       |    3 +-
 docs/reference/api/doxygen/search/files_7.js       |    1 -
 docs/reference/api/doxygen/search/functions_10.js  |    2 +-
 docs/reference/api/doxygen/search/functions_11.js  |    3 +-
 docs/reference/api/doxygen/search/functions_13.js  |    6 +-
 docs/reference/api/doxygen/search/functions_14.js  |    8 +-
 docs/reference/api/doxygen/search/functions_15.js  |    4 +-
 docs/reference/api/doxygen/search/functions_16.js  |    2 +-
 docs/reference/api/doxygen/search/functions_19.js  |    2 -
 docs/reference/api/doxygen/search/functions_3.js   |    2 +-
 docs/reference/api/doxygen/search/functions_5.js   |    4 +-
 docs/reference/api/doxygen/search/functions_d.js   |    3 +-
 docs/reference/api/doxygen/search/functions_f.js   |    2 +-
 docs/reference/api/doxygen/search/related_1.js     |    1 +
 docs/reference/api/doxygen/search/related_10.js    |    1 -
 docs/reference/api/doxygen/search/related_9.js     |    1 -
 docs/reference/api/doxygen/search/variables_0.js   |    2 +-
 .../api/doxygen/serializer_8h__dep__incl.svg       |  408 +-
 .../api/doxygen/shape__tuple_8h__dep__incl.svg     |  312 +-
 docs/reference/api/doxygen/source__map_8h.html     |    2 +-
 .../api/doxygen/source__map_8h__dep__incl.svg      | 1262 ++--
 .../reference/api/doxygen/string_8h__dep__incl.svg |  572 +-
 .../doxygen/structural__equal_8h__dep__incl.svg    |  592 +-
 .../api/doxygen/structural__hash_8h__dep__incl.svg |  592 +-
 docs/reference/api/doxygen/target_8h.html          |    2 +-
 .../reference/api/doxygen/target_8h__dep__incl.svg | 1058 ++--
 docs/reference/api/doxygen/target__kind_8h.html    |    2 +-
 .../api/doxygen/target__kind_8h__dep__incl.svg     | 1058 ++--
 .../api/doxygen/tir_2function_8h__dep__incl.svg    |    4 +-
 docs/reference/api/doxygen/trace_8h__dep__incl.svg |    4 +-
 docs/reference/api/doxygen/with_8h.html            |    2 +-
 docs/reference/api/doxygen/with_8h__dep__incl.svg  |  978 ++-
 docs/reference/api/python/auto_scheduler.html      |    4 +-
 .../api/typedoc/classes/bytestreamreader.html      |   12 +-
 .../api/typedoc/classes/cachedcallstack.html       |   34 +-
 docs/reference/api/typedoc/classes/dldatatype.html |   12 +-
 docs/reference/api/typedoc/classes/dldevice.html   |   10 +-
 .../reference/api/typedoc/classes/environment.html |   12 +-
 docs/reference/api/typedoc/classes/ffilibrary.html |   20 +-
 .../api/typedoc/classes/graphexecutor.html         |   16 +-
 docs/reference/api/typedoc/classes/instance.html   |   40 +-
 docs/reference/api/typedoc/classes/memory.html     |   34 +-
 docs/reference/api/typedoc/classes/module.html     |   10 +-
 docs/reference/api/typedoc/classes/ndarray.html    |   22 +-
 .../api/typedoc/classes/packedfunccell.html        |    6 +-
 docs/reference/api/typedoc/classes/rpcserver.html  |   14 +-
 docs/reference/api/typedoc/classes/scalar.html     |    6 +-
 .../api/typedoc/classes/webgpucontext.html         |   12 +-
 docs/reference/api/typedoc/enums/argtypecode.html  |   30 +-
 .../api/typedoc/enums/aynccallbackcode.html        |    4 +-
 .../api/typedoc/enums/dldatatypecode.html          |    8 +-
 .../api/typedoc/enums/rpcserverstate.html          |   12 +-
 docs/reference/api/typedoc/enums/sizeof.html       |   18 +-
 docs/reference/api/typedoc/index.html              |  112 +-
 .../api/typedoc/interfaces/disposable.html         |    2 +-
 .../api/typedoc/interfaces/functioninfo.html       |    6 +-
 .../api/typedoc/interfaces/libraryprovider.html    |    4 +-
 docs/searchindex.js                                |    2 +-
 .../vta/tutorials/autotvm/sg_execution_times.html  |    6 +-
 .../tutorials/frontend/deploy_classification.html  |    2 +-
 .../vta/tutorials/frontend/deploy_detection.html   |    2 +-
 .../vta/tutorials/frontend/sg_execution_times.html |    6 +-
 .../vta/tutorials/optimize/sg_execution_times.html |    6 +-
 docs/topic/vta/tutorials/sg_execution_times.html   |    6 +-
 docs/tutorial/auto_scheduler_matmul_x86.html       |    7 +-
 docs/tutorial/autotvm_relay_x86.html               |  165 +-
 docs/tutorial/cross_compilation_and_rpc.html       |    2 +-
 docs/tutorial/intro_topi.html                      |    2 +-
 docs/tutorial/sg_execution_times.html              |   26 +-
 docs/tutorial/tensor_expr_get_started.html         |   41 +-
 274 files changed, 23716 insertions(+), 23483 deletions(-)

diff --git a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
index e0dcbe079..c6495f538 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -98,7 +98,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip67b27b19-6613-4739-9ab7-97a428d152b9 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip03490d01-3909-42df-8c00-031f35b2860a from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
     x (1, 3, 224, 224)
 
 
diff --git a/docs/_sources/how_to/compile_models/from_paddle.rst.txt b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
index c0da6fb25..34906f437 100644
--- a/docs/_sources/how_to/compile_models/from_paddle.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
@@ -201,7 +201,7 @@ Look up prediction top 1 index in 1000 class synset.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  4.317 seconds)
+   **Total running time of the script:** ( 1 minutes  4.742 seconds)
 
 
 .. _sphx_glr_download_how_to_compile_models_from_paddle.py:
diff --git a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
index 929aac69e..b0ca8608d 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -79,7 +79,7 @@ Load a pretrained PyTorch model
  .. 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]
     40%|###9      | 17.7M/44.7M [00:00<00:00, 186MB/s]
     99%|#########9| 44.4M/44.7M [00:00<00:00, 241MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 233MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     44%|####3     | 19.4M/44.7M [00:00<00:00, 204MB/s]
    100%|#########9| 44.6M/44.7M [00:00<00:00, 239MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 233MB/s]
 
 
 
diff --git a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
index 41a0dedc6..70ea33872 100644
--- a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
@@ -5,14 +5,14 @@
 
 Computation times
 =================
-**04:45.656** total execution time for **how_to_compile_models** files:
+**04:42.936** total execution time for **how_to_compile_models** files:
 
-- **01:04.317**: :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)
-- **00:59.369**: :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``)
-- **00:56.203**: :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)
-- **00:24.964**: :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)
-- **00:24.237**: :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)
-- **00:22.042**: :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)
-- **00:18.684**: :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)
-- **00:13.317**: :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)
-- **00:02.523**: :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)
+- **01:04.742**: :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)
+- **00:59.778**: :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``)
+- **00:56.062**: :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)
+- **00:25.157**: :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)
+- **00:21.578**: :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)
+- **00:21.058**: :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)
+- **00:18.887**: :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)
+- **00:13.235**: :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)
+- **00:02.438**: :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
index 017196bad..5af129188 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
@@ -393,7 +393,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      16.8039      16.2472      20.8440      15.9714       1.3990   
+      15.7372      15.6797      16.2055      15.5393       0.2063   
                
 
 
diff --git a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
index e3191978a..3b5d63166 100644
--- a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
@@ -108,7 +108,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
-
      0%|          | 0.00/170M [00:00<?, ?B/s]
     10%|9         | 16.9M/170M [00:00<00:00, 177MB/s]
     24%|##4       | 40.8M/170M [00:00<00:00, 221MB/s]
     38%|###8      | 64.9M/170M [00:00<00:00, 235MB/s]
     54%|#####3    | 91.0M/170M [00:00<00:00, 250MB/s]
     69%|######8   | 117M/170M [00:00<00:00, 259MB/s] 
     84%|########3 | 143M/170M [00:00<00:00, 262MB/s]
     99%|#########9| 168M/170M [00:00<00:00, 265MB/s]
    100%|##########| 170M/170M [00:00<00:00, 252MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
     12%|#1        | 20.1M/170M [00:00<00:00, 211MB/s]
     26%|##6       | 44.6M/170M [00:00<00:00, 238MB/s]
     42%|####1     | 70.6M/170M [00:00<00:00, 253MB/s]
     57%|#####6    | 96.8M/170M [00:00<00:00, 262MB/s]
     72%|#######1  | 122M/170M [00:00<00:00, 254MB/s] 
     87%|########7 | 148M/170M [00:00<00:00, 261MB/s]
    100%|##########| 170M/170M [00:00<00:00, 255MB/s]
     /usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
       for i in range(dim)
     /usr/local/lib/python3.7/dist-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
@@ -253,7 +253,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 3 minutes  1.175 seconds)
+   **Total running time of the script:** ( 2 minutes  58.982 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_object_detection_pytorch.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
index 4ebb9a16f..987ee7e54 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -187,7 +187,7 @@ training. Other models require a full post training calibration.
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
-
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     31%|###       | 4.17M/13.6M [00:00<00:00, 43.7MB/s]
     62%|######1   | 8.34M/13.6M [00:00<00:00, 41.3MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 61.5MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     78%|#######7  | 10.5M/13.6M [00:00<00:00, 110MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 127MB/s]
 
 
 
@@ -344,7 +344,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      90.4313      90.3920      91.1697      89.9870       0.2390   
+      90.1169      90.0800      92.2883      89.9480       0.2431   
                
 
 
@@ -384,7 +384,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  4.687 seconds)
+   **Total running time of the script:** ( 1 minutes  3.823 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_prequantized.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
index f88f7f50e..901334b44 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
@@ -351,7 +351,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      120.9643     120.9884     122.4220     119.7923      0.5966   
+      119.8017     119.8122     121.3341     118.1290      0.4948   
                
 
 
@@ -385,7 +385,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  51.497 seconds)
+   **Total running time of the script:** ( 1 minutes  56.303 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_prequantized_tflite.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
index 09c68ed39..458c6ca0b 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -221,7 +221,7 @@ We create a Relay VM to build and execute the model.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  8.145 seconds)
+   **Total running time of the script:** ( 1 minutes  10.022 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_quantized.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt b/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
index e497ec3ac..8690bf9cb 100644
--- a/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
@@ -137,7 +137,7 @@ Convert and compile model for CPU.
             data: None
       input_sym_arg_type = in_param.infer_type()[0]
     Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
-
      0%|          | 0/132723 [00:00<?, ?KB/s]
      3%|2         | 3779/132723 [00:00<00:03, 37727.34KB/s]
      9%|8         | 11384/132723 [00:00<00:02, 60251.92KB/s]
     15%|#4        | 19873/132723 [00:00<00:01, 71492.55KB/s]
     21%|##1       | 28378/132723 [00:00<00:01, 76840.86KB/s]
     28%|##7       | 36937/132723 [00:00<00:01, 79991.81KB/s]
     34%|###4      | 45510/132723 [00:00<00:01, 81941.38KB/s]
     41%|####      | 54045/132723 [00:00<00:00, 83052.14KB/s]
     47%|####7     | 62500/132723 [00:00<00:00, 83518.25KB/s]
     54%|#####3    | 71009/132723 [00:00<00:00, 84006.23KB/s]
     60%|#####9    | 79591/132723 [00:01<00:00, 84563.82KB/s]
     66%|######6   | 88113/132723 [00:01<00:00, 84760.50KB/s]
     73%|#######2  | 96713/132723 [00:01<00:00, 85133.54KB/s]
     79%|#######9  | 105302/132723 [00:01<00:00, 85360.54KB/s]
     86%|########5 | 113854/132723 [00:01<00:00, 85407.13KB/s]
     92%|#########2| 122407/132723 [00:01<00:00, 85439.95KB/s]
     99%|########
 #8| 130952/132723 [00:01<00:00, 85383.87KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 81761.36KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      2%|2         | 3149/132723 [00:00<00:04, 31486.35KB/s]
      9%|8         | 11850/132723 [00:00<00:01, 64144.09KB/s]
     16%|#5        | 20627/132723 [00:00<00:01, 74930.31KB/s]
     22%|##2       | 29436/132723 [00:00<00:01, 80121.83KB/s]
     29%|##8       | 38297/132723 [00:00<00:01, 83177.95KB/s]
     36%|###5      | 47182/132723 [00:00<00:01, 85103.44KB/s]
     42%|####2     | 55885/132723 [00:00<00:00, 85729.52KB/s]
     49%|####8     | 64635/132723 [00:00<00:00, 86290.32KB/s]
     55%|#####5    | 73525/132723 [00:00<00:00, 87103.26KB/s]
     62%|######2   | 82424/132723 [00:01<00:00, 87684.30KB/s]
     69%|######8   | 91349/132723 [00:01<00:00, 88159.04KB/s]
     76%|#######5  | 100211/132723 [00:01<00:00, 88294.42KB/s]
     82%|########2 | 109052/132723 [00:01<00:00, 88326.58KB/s]
     89%|########8 | 117904/132723 [00:01<00:00, 88382.61KB/s]
     96%|#########5| 126803/132723 [00:01<00:00, 88559.15KB/s]
    100%|#######
 ###| 132723/132723 [00:01<00:00, 84624.83KB/s]
 
 
 
@@ -202,7 +202,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  20.825 seconds)
+   **Total running time of the script:** ( 2 minutes  20.432 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_ssd_gluoncv.py:
diff --git a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
index f936762a9..b46540259 100644
--- a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
@@ -5,13 +5,13 @@
 
 Computation times
 =================
-**10:15.623** total execution time for **how_to_deploy_models** files:
+**10:19.380** total execution time for **how_to_deploy_models** files:
 
-- **03:01.175**: :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
-- **02:20.825**: :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
-- **01:51.497**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
-- **01:08.145**: :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)
-- **01:04.687**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)
-- **00:27.819**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)
-- **00:21.299**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
-- **00:00.177**: :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)
+- **02:58.982**: :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
+- **02:20.432**: :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
+- **01:56.303**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
+- **01:10.022**: :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)
+- **01:03.823**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)
+- **00:28.033**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)
+- **00:21.611**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
+- **00:00.174**: :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)
diff --git a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
index 4291b0963..6c30ee158 100644
--- a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
@@ -423,7 +423,7 @@ First let us define two helper functions to get the mobilenet model and a cat im
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipaf732524-7bdc-4cd4-9c9d-7cdeeeae88b7 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip106b56ff-ba7d-4a0d-a4b3-f38307c88609 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 
 
 
diff --git a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
index c5240aae7..8f02b40ab 100644
--- a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
@@ -5,9 +5,9 @@
 
 Computation times
 =================
-**00:38.055** total execution time for **how_to_extend_tvm** files:
+**00:37.749** total execution time for **how_to_extend_tvm** files:
 
-- **00:34.565**: :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
-- **00:02.246**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)
-- **00:01.061**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)
-- **00:00.182**: :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)
+- **00:34.265**: :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
+- **00:02.235**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)
+- **00:01.060**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)
+- **00:00.189**: :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)
diff --git a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
index 8d85a0b23..b212effce 100644
--- a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
@@ -199,10 +199,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6318us [6318us] (46.22%; 46.22%)
-    FoldScaleAxis: 7353us [2us] (53.78%; 53.78%)
-            FoldConstant: 7351us [1528us] (53.77%; 99.97%)
-                    InferType: 5823us [5823us] (42.59%; 79.22%)
+    InferType: 6259us [6259us] (45.50%; 45.50%)
+    FoldScaleAxis: 7495us [2us] (54.50%; 54.50%)
+            FoldConstant: 7493us [1539us] (54.48%; 99.97%)
+                    InferType: 5954us [5954us] (43.29%; 79.45%)
 
 
 
@@ -239,10 +239,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6040us [6040us] (44.97%; 44.97%)
-    FoldScaleAxis: 7391us [2us] (55.03%; 55.03%)
-            FoldConstant: 7389us [1537us] (55.01%; 99.98%)
-                    InferType: 5852us [5852us] (43.57%; 79.20%)
+    InferType: 6092us [6092us] (44.73%; 44.73%)
+    FoldScaleAxis: 7526us [2us] (55.27%; 55.27%)
+            FoldConstant: 7524us [1569us] (55.25%; 99.97%)
+                    InferType: 5955us [5955us] (43.73%; 79.15%)
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
index 5fbe51497..e5116c673 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
@@ -295,7 +295,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 33.400384 ms
+    Convolution: 54.168223 ms
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
index 60c138a96..43cc6c8f9 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
@@ -626,7 +626,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 8.230855 ms
+    conv2d with tensor core: 6.539867 ms
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
index 0da2a964d..053beae39 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -118,8 +118,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.017969
-    Baseline: 3.284970
+    Numpy running time: 0.017938
+    Baseline: 3.171601
 
 
 
@@ -209,7 +209,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.306492
+    Opt1: 0.297106
 
 
 
@@ -307,7 +307,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.334188
+    Opt2: 0.336647
 
 
 
@@ -398,7 +398,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.115678
+    Opt3: 0.114580
 
 
 
@@ -516,7 +516,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.111953
+    Opt4: 0.110669
 
 
 
@@ -633,7 +633,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.111347
+    Opt5: 0.111001
 
 
 
@@ -753,7 +753,7 @@ Futhermore, we can also utilize multi-core processors to do the thread-level par
 
  .. code-block:: none
 
-    Opt6: 0.145443
+    Opt6: 0.145372
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
index 886dd8534..9efa46548 100644
--- a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
@@ -5,8 +5,8 @@
 
 Computation times
 =================
-**00:34.582** total execution time for **how_to_optimize_operators** files:
+**00:34.128** total execution time for **how_to_optimize_operators** files:
 
-- **00:32.002**: :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)
-- **00:01.400**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
-- **00:01.180**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)
+- **00:31.544**: :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)
+- **00:01.370**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
+- **00:01.214**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
index 43abe15bb..a67101683 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
@@ -5,11 +5,11 @@
 
 Computation times
 =================
-**04:57.359** total execution time for **how_to_tune_with_autoscheduler** files:
-
-- **02:22.745**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
-- **01:19.539**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)
-- **00:40.379**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
-- **00:17.158**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)
-- **00:09.229**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)
-- **00:08.308**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)
+**05:02.385** total execution time for **how_to_tune_with_autoscheduler** files:
+
+- **02:29.434**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
+- **01:19.824**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)
+- **00:40.015**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
+- **00:15.818**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)
+- **00:09.035**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)
+- **00:08.259**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
index 45b97f921..704ef0e27 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
@@ -221,54 +221,109 @@ cooperative fetching, unrolling and operator fusion.
                  bias: Buffer(bias_2: Pointer(float32), float32, [512], []),
                  compute: Buffer(compute_2: Pointer(float32), float32, [25088], [])}
       buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute} {
-      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 32;
-      allocate(conv2d_nchw: Pointer(local float32), float32, [2]), storage_scope = local;
-      allocate(pad_temp.shared: Pointer(shared float32), float32, [648]), storage_scope = shared;
-      allocate(kernel.shared: Pointer(shared float32), float32, [1152]), storage_scope = shared;
-      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 392 {
+      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 8;
+      allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
+      allocate(pad_temp.shared: Pointer(shared float32), float32, [1008]), storage_scope = shared;
+      allocate(kernel.shared: Pointer(shared float32), float32, [3072]), storage_scope = shared;
+      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224 {
         conv2d_nchw_1: Buffer(conv2d_nchw, float32, [1], [], scope="local", align=4)[0] = 0f32
         conv2d_nchw_1[1] = 0f32
-        for (rc.outer.outer: int32, 0, 64) {
-          let cse_var_1: int32 = (rc.outer.outer*72)
-           {
-            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 392;
-            pad_temp.shared_1: Buffer(pad_temp.shared, float32, [648], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((9 <= floormod(threadIdx.x_1, 81)) && (floormod(threadIdx.x_1, 81) < 72)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv(threadIdx.x_1, 81)*49)) + (floordiv(floormod(threadIdx.x_1, 81), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
-            attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 392;
-            if @tir.likely((threadIdx.x_1 < 256), dtype=bool) {
-              pad_temp.shared_1[(threadIdx.x_1 + 392)] = @tir.if_then_else(((((9 <= floormod((threadIdx.x_1 + 392), 81)) && (floormod((threadIdx.x_1 + 68), 81) < 72)) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), data[(((((rc.outer.outer*392) + (floordiv((threadIdx.x_1 + 392), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 392), 81), 9)*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
-            }
-            attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 392;
-            kernel.shared_1: Buffer(kernel.shared, float32, [1152], [], scope="shared")[threadIdx.x_2] = kernel[((((blockIdx.x*73728) + (floordiv(threadIdx.x_2, 72)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 72))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 392;
-            kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[((((blockIdx.x*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 72))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 392;
-            if @tir.likely((threadIdx.x_2 < 368), dtype=bool) {
-              kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[((((blockIdx.x*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 72))]
-            }
-            for (rc.outer.inner: int32, 0, 8) {
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9))]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 576)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 1)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 577)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 2)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 578)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 3)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 579)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 4)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 580)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 5)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 581)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 6)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 582)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 7)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 583)]))
-              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 8)]))
-              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 584)]))
+        conv2d_nchw_1[2] = 0f32
+        conv2d_nchw_1[3] = 0f32
+        conv2d_nchw_1[4] = 0f32
+        conv2d_nchw_1[5] = 0f32
+        conv2d_nchw_1[6] = 0f32
+        conv2d_nchw_1[7] = 0f32
+        conv2d_nchw_1[8] = 0f32
+        conv2d_nchw_1[9] = 0f32
+        conv2d_nchw_1[10] = 0f32
+        conv2d_nchw_1[11] = 0f32
+        conv2d_nchw_1[12] = 0f32
+        conv2d_nchw_1[13] = 0f32
+        for (rc.outer.outer: int32, 0, 32) {
+          for (ry.outer.outer: int32, 0, 3) {
+            let cse_var_4: int32 = (rc.outer.outer*784)
+            let cse_var_3: int32 = (ry.outer.outer*7)
+            let cse_var_2: int32 = (rc.outer.outer*144)
+            let cse_var_1: int32 = (ry.outer.outer*3)
+             {
+              attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              pad_temp.shared_1: Buffer(pad_temp.shared, float32, [1008], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((1 <= (floordiv(floormod(threadIdx.x_1, 63), 9) + ry.outer.outer)) && ((floordiv(floormod(threadIdx.x_1, 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data[((((cse_var_4 + (floordiv(threadIdx.x_1, 9)*7)) + cse_var_3) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
+              attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 224), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 224), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 8), 9))) && (floormod((threadIdx.x_1 + 8), 9) < 8)), data[((((cse_var_4 + (floordiv((threadIdx.x_1 + 224), 9)*7)) + cse_var_3) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
+              attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              pad_temp.shared_1[(threadIdx.x_1 + 448)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 448), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 448), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 7), 9))) && (floormod((threadIdx.x_1 + 7), 9) < 8)), data[((((cse_var_4 + (floordiv((threadIdx.x_1 + 448), 9)*7)) + cse_var_3) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
+              attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              pad_temp.shared_1[(threadIdx.x_1 + 672)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 672), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 672), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 6), 9))) && (floormod((threadIdx.x_1 + 6), 9) < 8)), data[((((cse_var_4 + (floordiv((threadIdx.x_1 + 672), 9)*7)) + cse_var_3) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
+              attr [IterVar(threadIdx.x_1, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              if @tir.likely((threadIdx.x_1 < 112), dtype=bool) {
+                pad_temp.shared_1[(threadIdx.x_1 + 896)] = @tir.if_then_else(((((1 <= (floordiv(floormod((threadIdx.x_1 + 896), 63), 9) + ry.outer.outer)) && ((floordiv(floormod((threadIdx.x_1 + 896), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod((threadIdx.x_1 + 5), 9))) && (floormod((threadIdx.x_1 + 5), 9) < 8)), data[((((cse_var_4 + (floordiv((threadIdx.x_1 + 896), 9)*7)) + cse_var_3) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
+              }
+              attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1: Buffer(kernel.shared, float32, [3072], [], scope="shared")[threadIdx.x_2] = kernel[((((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 48)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 14), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 224), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 28), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 448), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[(((((((blockIdx.x*294912) + (floordiv(floordiv(threadIdx.x_2, 16), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 64512)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 56), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 896), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 70), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1120), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((((blockIdx.x*294912) + (floordiv(floordiv(threadIdx.x_2, 16), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 129024)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 98), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1568), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 112), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1792), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel[(((((((blockIdx.x*294912) + (floordiv(floordiv(threadIdx.x_2, 16), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 193536)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 140), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2240), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 2464)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 154), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2464), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[(((((((blockIdx.x*294912) + (floordiv(floordiv(threadIdx.x_2, 16), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 258048)]
+              attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              if @tir.likely((threadIdx.x_2 < 160), dtype=bool) {
+                kernel.shared_1[(threadIdx.x_2 + 2912)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 182), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2912), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+              }
+              for (rc.outer.inner: int32, 0, 16) {
+                for (rx.outer.inner: int32, 0, 3) {
+                  conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+                  conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+                  conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+                  conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 3)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+                  conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 4)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+                  conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 5)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+                  conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 6)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+                  conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+                  conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 1)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+                  conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 2)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+                  conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 3)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+                  conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 4)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+                  conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 5)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+                  conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 6)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+                }
+              }
             }
           }
         }
-        compute[((blockIdx.x*784) + threadIdx.x)] = max((conv2d_nchw_1[0] + bias[((blockIdx.x*16) + floordiv(threadIdx.x, 49))]), 0f32)
-        compute[(((blockIdx.x*784) + threadIdx.x) + 392)] = max((conv2d_nchw_1[1] + bias[(((blockIdx.x*16) + floordiv(threadIdx.x, 49)) + 8)]), 0f32)
+        compute[((blockIdx.x*3136) + (threadIdx.x*7))] = max((conv2d_nchw_1[0] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1)] = max((conv2d_nchw_1[1] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 2)] = max((conv2d_nchw_1[2] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 3)] = max((conv2d_nchw_1[3] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 4)] = max((conv2d_nchw_1[4] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 5)] = max((conv2d_nchw_1[5] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 6)] = max((conv2d_nchw_1[6] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1568)] = max((conv2d_nchw_1[7] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1569)] = max((conv2d_nchw_1[8] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1570)] = max((conv2d_nchw_1[9] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1571)] = max((conv2d_nchw_1[10] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1572)] = max((conv2d_nchw_1[11] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1573)] = max((conv2d_nchw_1[12] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+        compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1574)] = max((conv2d_nchw_1[13] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
       }
     }
 
@@ -320,7 +375,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.289 ms
+    Execution time of this operator: 0.323 ms
 
 
 
@@ -366,7 +421,7 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
     conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=1)
     conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=1)
-    conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=8)
+    conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=32)
     conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=2)
     conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
     conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
@@ -374,27 +429,27 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
     conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
     conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
-    conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=7)
-    conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
+    conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
+    conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=7)
     conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=1)
-    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=8)
-    conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=16)
+    conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=1)
     conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
-    conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
-    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+    conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
+    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
     s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2 [...]
     compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
     compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
     compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
     compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=1)
-    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
+    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=32)
     compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=2)
     compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
     compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=7)
     compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
     compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
-    compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
-    compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
+    compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
+    compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=7)
     s[compute].reorder(compute_i0_o_o_o, compute_i1_o_o_o, compute_i2_o_o_o, compute_i3_o_o_o, compute_i0_o_o_i, compute_i1_o_o_i, compute_i2_o_o_i, compute_i3_o_o_i, compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i, compute_i0_i, compute_i1_i, compute_i2_i, compute_i3_i)
     s[conv2d_nchw].compute_at(s[compute], compute_i3_o_i)
     kernel_shared = s.cache_read(kernel, "shared", [conv2d_nchw])
@@ -413,14 +468,14 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[kernel_shared].fuse(kernel_shared_ax0, kernel_shared_ax1, kernel_shared_ax2, kernel_shared_ax3)
     kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
     s[kernel_shared].vectorize(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-    kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=392)
+    kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=224)
     s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
     pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
     pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
     s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=392)
+    pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=224)
     s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
-    s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 64)
+    s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 16)
     s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
 
     CUDA source code:
@@ -438,47 +493,85 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
       #define int64_t long long
       #define uint64_t unsigned long long
     #endif
-    extern "C" __global__ void __launch_bounds__(392) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-      float conv2d_nchw[2];
-      __shared__ float pad_temp_shared[648];
-      __shared__ float kernel_shared[1152];
+    extern "C" __global__ void __launch_bounds__(224) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+      float conv2d_nchw[14];
+      __shared__ float pad_temp_shared[1008];
+      __shared__ float kernel_shared[3072];
       conv2d_nchw[0] = 0.000000e+00f;
       conv2d_nchw[1] = 0.000000e+00f;
-      for (int rc_outer_outer = 0; rc_outer_outer < 64; ++rc_outer_outer) {
-        __syncthreads();
-        pad_temp_shared[((int)threadIdx.x)] = (((((9 <= (((int)threadIdx.x) % 81)) && ((((int)threadIdx.x) % 81) < 72)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + ((((int)threadIdx.x) / 81) * 49)) + (((((int)threadIdx.x) % 81) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-        if (((int)threadIdx.x) < 256) {
-          pad_temp_shared[(((int)threadIdx.x) + 392)] = (((((9 <= ((((int)threadIdx.x) + 68) % 81)) && (((((int)threadIdx.x) + 68) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 5) % 9))) && (((((int)threadIdx.x) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 392) / 81) * 49)) + ((((((int)threadIdx.x) + 68) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.000000e+00f);
-        }
-        kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) * 73728) + ((((int)threadIdx.x) / 72) * 4608)) + (rc_outer_outer * 72)) + (((int)threadIdx.x) % 72))];
-        kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 392) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) + 32) % 72))];
-        if (((int)threadIdx.x) < 368) {
-          kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 784) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) + 64) % 72))];
-        }
-        __syncthreads();
-        for (int rc_outer_inner = 0; rc_outer_inner < 8; ++rc_outer_inner) {
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9))]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 576)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 1)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 577)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 2)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 578)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 3)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 579)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 4)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 580)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 5)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 581)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 6)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 582)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 7)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 583)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 8)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 584)]));
+      conv2d_nchw[2] = 0.000000e+00f;
+      conv2d_nchw[3] = 0.000000e+00f;
+      conv2d_nchw[4] = 0.000000e+00f;
+      conv2d_nchw[5] = 0.000000e+00f;
+      conv2d_nchw[6] = 0.000000e+00f;
+      conv2d_nchw[7] = 0.000000e+00f;
+      conv2d_nchw[8] = 0.000000e+00f;
+      conv2d_nchw[9] = 0.000000e+00f;
+      conv2d_nchw[10] = 0.000000e+00f;
+      conv2d_nchw[11] = 0.000000e+00f;
+      conv2d_nchw[12] = 0.000000e+00f;
+      conv2d_nchw[13] = 0.000000e+00f;
+      for (int rc_outer_outer = 0; rc_outer_outer < 32; ++rc_outer_outer) {
+        for (int ry_outer_outer = 0; ry_outer_outer < 3; ++ry_outer_outer) {
+          __syncthreads();
+          pad_temp_shared[((int)threadIdx.x)] = (((((1 <= (((((int)threadIdx.x) % 63) / 9) + ry_outer_outer)) && ((((((int)threadIdx.x) % 63) / 9) + ry_outer_outer) < 8)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 9) * 7)) + (ry_outer_outer * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+          pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((1 <= ((((((int)threadIdx.x) + 35) % 63) / 9) + ry_outer_outer)) && (((((((int)threadIdx.x) + 35) % 63) / 9) + ry_outer_outer) < 8)) && (1 <= ((((int)threadIdx.x) + 8) % 9))) && (((((int)threadIdx.x) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 9) * 7)) + (ry_outer_outer * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
+          pad_temp_shared[(((int)threadIdx.x) + 448)] = (((((1 <= ((((((int)threadIdx.x) + 7) % 63) / 9) + ry_outer_outer)) && (((((((int)threadIdx.x) + 7) % 63) / 9) + ry_outer_outer) < 8)) && (1 <= ((((int)threadIdx.x) + 7) % 9))) && (((((int)threadIdx.x) + 7) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 448) / 9) * 7)) + (ry_outer_outer * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
+          pad_temp_shared[(((int)threadIdx.x) + 672)] = (((((1 <= ((((((int)threadIdx.x) + 42) % 63) / 9) + ry_outer_outer)) && (((((((int)threadIdx.x) + 42) % 63) / 9) + ry_outer_outer) < 8)) && (1 <= ((((int)threadIdx.x) + 6) % 9))) && (((((int)threadIdx.x) + 6) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 672) / 9) * 7)) + (ry_outer_outer * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] : 0.000000e+00f);
+          if (((int)threadIdx.x) < 112) {
+            pad_temp_shared[(((int)threadIdx.x) + 896)] = (((((1 <= ((((((int)threadIdx.x) + 14) % 63) / 9) + ry_outer_outer)) && (((((((int)threadIdx.x) + 14) % 63) / 9) + ry_outer_outer) < 8)) && (1 <= ((((int)threadIdx.x) + 5) % 9))) && (((((int)threadIdx.x) + 5) % 9) < 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 896) / 9) * 7)) + (ry_outer_outer * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.000000e+00f);
+          }
+          kernel_shared[((int)threadIdx.x)] = kernel[((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 224) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 448) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 64512)];
+          kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 896) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1120) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 129024)];
+          kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1568) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1792) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[(((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 193536)];
+          kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2240) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2464) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[(((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+          if (((int)threadIdx.x) < 160) {
+            kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2912) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          }
+          __syncthreads();
+          for (int rc_outer_inner = 0; rc_outer_inner < 16; ++rc_outer_inner) {
+            for (int rx_outer_inner = 0; rx_outer_inner < 3; ++rx_outer_inner) {
+              conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+              conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+              conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+              conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 3)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+              conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 4)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+              conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 5)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+              conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 6)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+              conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+              conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 1)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+              conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 2)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+              conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 3)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+              conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 4)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+              conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 5)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+              conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 6)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+            }
+          }
         }
       }
-      compute[((((int)blockIdx.x) * 784) + ((int)threadIdx.x))] = max((conv2d_nchw[0] + bias[((((int)blockIdx.x) * 16) + (((int)threadIdx.x) / 49))]), 0.000000e+00f);
-      compute[(((((int)blockIdx.x) * 784) + ((int)threadIdx.x)) + 392)] = max((conv2d_nchw[1] + bias[(((((int)blockIdx.x) * 16) + (((int)threadIdx.x) / 49)) + 8)]), 0.000000e+00f);
+      compute[((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7))] = max((conv2d_nchw[0] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1)] = max((conv2d_nchw[1] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 2)] = max((conv2d_nchw[2] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 3)] = max((conv2d_nchw[3] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 4)] = max((conv2d_nchw[4] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 5)] = max((conv2d_nchw[5] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 6)] = max((conv2d_nchw[6] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1568)] = max((conv2d_nchw[7] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1569)] = max((conv2d_nchw[8] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1570)] = max((conv2d_nchw[9] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1571)] = max((conv2d_nchw[10] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1572)] = max((conv2d_nchw[11] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1573)] = max((conv2d_nchw[12] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+      compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1574)] = max((conv2d_nchw[13] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
     }
 
 
@@ -529,14 +622,14 @@ In the example below we resume the status and do more 5 trials.
     /usr/local/lib/python3.7/dist-packages/xgboost/training.py:17: UserWarning: Old style callback is deprecated.  See: https://xgboost.readthedocs.io/en/latest/python/callbacks.html
       warnings.warn(f'Old style callback is deprecated.  See: {link}', UserWarning)
     Get devices for measurement successfully!
-
+    .T
 
 
 
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  22.745 seconds)
+   **Total running time of the script:** ( 2 minutes  29.434 seconds)
 
 
 .. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py:
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
index b80f5183a..b6de40897 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
@@ -614,7 +614,7 @@ so we can read the log file and load the best schedules.
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       9.9667       9.9696       9.9970       9.9334       0.0260   
+       9.7771       9.7757       9.7916       9.7639       0.0114   
                
 
 
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
index 88b04eb86..75926b98f 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
@@ -633,7 +633,7 @@ so we can read the log file and load the best schedules.
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      757.0588     755.7933     762.8056     752.5774      4.2704   
+      764.2519     767.2916     769.4547     756.0095      5.8948   
                
 
 
@@ -658,7 +658,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  19.539 seconds)
+   **Total running time of the script:** ( 1 minutes  19.824 seconds)
 
 
 .. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_network_x86.py:
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
index ee89719fe..918c364ea 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
@@ -362,31 +362,29 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
                  placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
                  compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
       buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute} {
-      for (i0.outer.i1.outer.fused: int32, 0, 128) "parallel" {
-        allocate(compute_3: Pointer(global float32), float32, [512]), storage_scope = global {
+      for (i0.outer.i1.outer.fused: int32, 0, 1024) "parallel" {
+        allocate(compute_3: Pointer(global float32), float32, [128]), storage_scope = global {
           for (i.outer.inner: int32, 0, 2) {
-            for (nb_j.inner: int32, 0, 2) {
-              for (i.inner.init: int32, 0, 8) {
-                for (j.init: int32, 0, 16) {
-                  compute_4: Buffer(compute_3, float32, [512], [])[((((i.outer.inner*256) + (i.inner.init*32)) + (nb_j.inner*16)) + j.init)] = 0f32
-                }
+            for (i.inner.init: int32, 0, 4) {
+              for (j.init: int32, 0, 16) {
+                compute_4: Buffer(compute_3, float32, [128], [])[(((i.outer.inner*64) + (i.inner.init*16)) + j.init)] = 0f32
               }
-              for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-                for (i.inner: int32, 0, 8) {
-                  for (j: int32, 0, 16) {
-                    let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
-                    let cse_var_2: int32 = ((((i.outer.inner*256) + (i.inner*32)) + (nb_j.inner*16)) + j)
-                    compute_4[cse_var_2] = (compute_4[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[((((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.outer.inner*2048)) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
-                  }
+            }
+            for (elem_idx: int32, 0, let cse_var_1: int32 = floordiv(floormod(i0.outer.i1.outer.fused, 64), 2) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
+              for (i.inner: int32, 0, 4) {
+                for (j: int32, 0, 16) {
+                  let cse_var_3: int32 = floordiv(floormod(i0.outer.i1.outer.fused, 64), 2)
+                  let cse_var_2: int32 = (((i.outer.inner*64) + (i.inner*16)) + j)
+                  compute_4[cse_var_2] = (compute_4[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[((((floordiv(i0.outer.i1.outer.fused, 64)*2048) + (i.outer.inner*1024)) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
                 }
               }
             }
           }
-          for (i0.inner: int32, 0, 16) {
-            for (i1.inner: int32, 0, 32) {
-              let cse_var_4: int32 = ((((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32)) + i1.inner)
-              compute[cse_var_4] = max((compute_4[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_4]), 0f32)
-            }
+          for (i0.inner: int32, 0, 8) {
+            let cse_var_5: int32 = floormod(i0.outer.i1.outer.fused, 64)
+            let cse_var_6: int32 = (cse_var_5*8)
+            let cse_var_4: int32 = (((floordiv(i0.outer.i1.outer.fused, 64)*4096) + (i0.inner*512)) + cse_var_6)
+            compute[ramp(cse_var_4, 1, 8)] = max((compute_4[ramp((((i0.inner*16) + cse_var_6) - (floordiv(cse_var_5, 2)*16)), 1, 8)] + placeholder_4[ramp(cse_var_4, 1, 8)]), broadcast(0f32, 8))
           }
         }
       }
@@ -440,7 +438,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 1.572 ms
+    Execution time of this operator: 2.510 ms
 
 
 
diff --git a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
index c8d46c8d9..59e21d2aa 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:43.803** total execution time for **how_to_tune_with_autotvm** files:
+**00:44.224** total execution time for **how_to_tune_with_autotvm** files:
 
-- **00:42.983**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
-- **00:00.208**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
-- **00:00.208**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
-- **00:00.208**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
-- **00:00.196**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
+- **00:43.410**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
+- **00:00.214**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
+- **00:00.201**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
+- **00:00.200**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
+- **00:00.199**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
diff --git a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
index b4cac4cb8..7ce599da0 100644
--- a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
@@ -859,8 +859,8 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 4, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2885496
-    No: 6   GFLOPS: 42.32/42.32     result: MeasureResult(costs=(0.005470534,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5648691654205322, timestamp=1649369512.0248032)        [('tile_f', [-1, 1, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3754080
-    No: 7   GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 6   GFLOPS: 94.91/94.91     result: MeasureResult(costs=(0.0024392294791666666,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7495403289794922, timestamp=1649370146.4364386)      [('tile_f', [-1, 1, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3754080
+    No: 7   GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -983,7 +983,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 16, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6225319
-    No: 8   GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 8   GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1106,7 +1106,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,943546
-    No: 9   GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 9   GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1229,7 +1229,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 16, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2868708
-    No: 10  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 10  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 142, in build
         res = future.result()
       File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result
@@ -1247,7 +1247,7 @@ for this template
     TimeoutError
 
             [('tile_f', [-1, 32, 2, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4691833
-    No: 11  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 11  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1370,7 +1370,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1042124
-    No: 12  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 12  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1493,7 +1493,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10013405
-    No: 13  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 13  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1616,7 +1616,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 8, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6732082
-    No: 14  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 14  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1739,7 +1739,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 4, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7536735
-    No: 15  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 15  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1862,7 +1862,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,482121
-    No: 16  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 16  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1985,7 +1985,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 16]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2824525
-    No: 17  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 17  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -2108,7 +2108,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 64, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4559286
-    No: 18  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 18  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -2231,7 +2231,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 32, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9677544
-    No: 19  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+    No: 19  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 721, in __call__
         yield remote, remote.load_module(os.path.split(build_result.filename)[1])
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 685, in run_through_rpc
@@ -2319,7 +2319,7 @@ for this template
       15: _PyEval_EvalFrameDefault
       14: 0x0000000000537c30
       13: _PyObject_FastCallKeywords
-      12: 0x00007fd9cded7fa2
+      12: 0x00007efec4909fa2
       11: _ctypes_callproc
       10: ffi_call
       9: ffi_call_unix64
@@ -2384,7 +2384,7 @@ for this template
       21: _PyFunction_FastCallKeywords
       20: _PyEval_EvalFrameDefault
       19: _PyFunction_FastCall      [('tile_f', [-1, 8, 2, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6390073
-    No: 20  GFLOPS: 143.73/143.73   result: MeasureResult(costs=(0.0016106194603174603,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.1412110328674316, timestamp=1649369538.0858216)      [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
+    No: 20  GFLOPS: 145.05/145.05   result: MeasureResult(costs=(0.00159599413,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4078364372253418, timestamp=1649370172.8139188)      [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
 
 
 
@@ -2437,7 +2437,7 @@ and measure running time.
 
     Best config:
     [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
-    Time cost of this operator: 0.001959
+    Time cost of this operator: 0.002077
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
index 75aba96e4..97836e037 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
@@ -292,10 +292,10 @@ Timing the untuned program
     ########## Build without Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  
     ---------                                     ---                                           --------  -------  -----              ------  -------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  315.1     98.751   (1, 2, 10, 10, 3)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.073     0.963    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.914     0.286    (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             319.086   -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  310.3     98.702   (1, 2, 10, 10, 3)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.134     0.997    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.947     0.301    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             314.382   -        -                  -       -        
 
 
 
@@ -357,10 +357,10 @@ Timing the tuned program
     ########## Build with Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  
     ---------                                     ---                                           --------  -------  -----              ------  -------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  220.7     98.718   (1, 1, 10, 10, 6)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.944     0.87     (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.921     0.412    (1, 3, 10, 10, 1)  1       1        
-    Total_time                                    -                                             223.565   -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  192.0     98.61    (1, 6, 10, 10, 1)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.791     0.92     (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.915     0.47     (1, 3, 10, 10, 1)  1       1        
+    Total_time                                    -                                             194.706   -        -                  -       -        
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
index da20d3389..58cc6be5e 100644
--- a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:43.671** total execution time for **how_to_work_with_microtvm** files:
+**00:43.159** total execution time for **how_to_work_with_microtvm** files:
 
-- **00:39.676**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)
-- **00:03.444**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)
+- **00:39.212**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)
+- **00:03.389**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)
 - **00:00.190**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)
-- **00:00.184**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)
-- **00:00.177**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.py``)
+- **00:00.186**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.py``)
+- **00:00.183**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)
diff --git a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
index 8b6971d06..76576edab 100644
--- a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
@@ -5,8 +5,8 @@
 
 Computation times
 =================
-**00:08.704** total execution time for **how_to_work_with_relay** files:
+**00:08.838** total execution time for **how_to_work_with_relay** files:
 
-- **00:06.881**: :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)
-- **00:01.610**: :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)
-- **00:00.214**: :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)
+- **00:07.007**: :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)
+- **00:01.629**: :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)
+- **00:00.203**: :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)
diff --git a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
index 2a507a4d3..2186413ff 100644
--- a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
@@ -5,13 +5,13 @@
 
 Computation times
 =================
-**00:05.488** total execution time for **how_to_work_with_schedules** files:
+**00:05.444** total execution time for **how_to_work_with_schedules** files:
 
-- **00:02.024**: :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)
-- **00:01.125**: :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)
-- **00:00.707**: :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)
-- **00:00.697**: :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)
-- **00:00.285**: :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)
-- **00:00.230**: :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``)
-- **00:00.216**: :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)
-- **00:00.203**: :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)
+- **00:02.013**: :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)
+- **00:01.099**: :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)
+- **00:00.703**: :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)
+- **00:00.685**: :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)
+- **00:00.289**: :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)
+- **00:00.225**: :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``)
+- **00:00.225**: :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)
+- **00:00.204**: :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)
diff --git a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
index 1656854a2..3733ced94 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -314,8 +314,8 @@ The importing needs to happen before the tensorized GEMV being executed.
                  B: Buffer(B_2: Pointer(float32), float32, [32768], []),
                  C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C} {
-      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmp0nxgmico/input0.cc'
-    source_filename = "/tmp/tmp0nxgmico/input0.cc"
+      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpwob9n9vn/input0.cc'
+    source_filename = "/tmp/tmpwob9n9vn/input0.cc"
     target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
     target triple = "x86_64-pc-linux-gnu"
 
diff --git a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
index 27754d75a..b7049a168 100644
--- a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:20.144** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:19.986** total execution time for **topic_vta_tutorials_autotvm** files:
 
-- **00:19.955**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
-- **00:00.189**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)
+- **00:19.805**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
+- **00:00.182**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
index d6c261c3b..abbbda7a6 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -265,7 +265,7 @@ The compilation steps are:
       DeprecationWarning,
     /workspace/vta/tutorials/frontend/deploy_classification.py:213: DeprecationWarning: legacy graph executor behavior of producing json / lib / params will be removed in the next release. Please see documents of tvm.contrib.graph_executor.GraphModule for the  new recommended usage.
       relay_prog, target=tvm.target.Target(target, host=env.target_host), params=params
-    resnet18_v1 inference graph built in 21.37s!
+    resnet18_v1 inference graph built in 21.03s!
 
 
 
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
index 8e905853e..ed4088ec4 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -301,7 +301,7 @@ The compilation steps are:
 
     /workspace/python/tvm/relay/build_module.py:439: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
       DeprecationWarning,
-    yolov3-tiny inference graph built in 14.75s!
+    yolov3-tiny inference graph built in 14.69s!
 
 
 
diff --git a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
index c37bf13e9..b6e645bad 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**01:28.167** total execution time for **topic_vta_tutorials_frontend** files:
+**01:28.737** total execution time for **topic_vta_tutorials_frontend** files:
 
-- **00:46.734**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)
-- **00:41.432**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
+- **00:46.673**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)
+- **00:42.064**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
diff --git a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
index 7a02d99c7..249290a57 100644
--- a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:03.522** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.465** total execution time for **topic_vta_tutorials_optimize** files:
 
-- **00:02.999**: :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
-- **00:00.523**: :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
+- **00:02.939**: :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
+- **00:00.526**: :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
diff --git a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
index d73a42362..34620925e 100644
--- a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:00.945** total execution time for **topic_vta_tutorials** files:
+**00:00.958** total execution time for **topic_vta_tutorials** files:
 
-- **00:00.480**: :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
-- **00:00.465**: :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
+- **00:00.489**: :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
+- **00:00.469**: :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
diff --git a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
index 312608ade..e27a0822f 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -184,7 +184,7 @@ trials, we can load the best schedule from the log file and apply it.
 
  .. code-block:: none
 
-
+    *E
 
 
 
@@ -305,7 +305,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 94.208 ms
+    Execution time of this operator: 93.274 ms
 
 
 
@@ -401,7 +401,7 @@ resume the status and do more 5 trials.
     Resume search:
     /usr/local/lib/python3.7/dist-packages/xgboost/training.py:17: UserWarning: Old style callback is deprecated.  See: https://xgboost.readthedocs.io/en/latest/python/callbacks.html
       warnings.warn(f'Old style callback is deprecated.  See: {link}', UserWarning)
-
+    .T
 
 
 
@@ -416,7 +416,7 @@ operations.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  6.918 seconds)
+   **Total running time of the script:** ( 1 minutes  34.929 seconds)
 
 
 .. _sphx_glr_download_tutorial_auto_scheduler_matmul_x86.py:
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index f0aab56c4..cba2bd5dd 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -268,7 +268,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 493.01696199999924, 'median': 492.9015757000002, 'std': 0.4019743016379516}
+    {'mean': 491.79706214000123, 'median': 491.923489550004, 'std': 0.5183754666385587}
 
 
 
@@ -482,31 +482,30 @@ the tuning data to.
 
  .. code-block:: none
 
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  1/25]  Current/Best:    8.29/  10.29 GFLOPS | Progress: (4/10) | 6.35 s
    [Task  1/25]  Current/Best:   17.92/  17.92 GFLOPS | Progress: (8/10) | 10.00 s
    [Task  1/25]  Current/Best:    8.63/  17.92 GFLOPS | Progress: (10/10) | 11.14 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  2/25]  Current/Best:   18.88/  21.52 GFLOPS | Progress: (4/10) | 2.09 s
    [Task  2/25]  Current/Best:   19.81/  21.52 GFLOPS | Progress: (8/10) | 4.75 s
    [Task  2/25]  Current/Best:   15.40/  21.52 GFLOPS | Progress: (10/10) | 5.79 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  3/25]  Current/Best:   15.14/  17.78 GFLOPS | Progress: (4/10) | 2.74 s
    [Task  3/25]  Current/Best:   22.76/  22.76 GFLOPS | Progress: (8/10) | 4.88 s
    [Task  3/25]  Current/Best:    7.32/  22.76 GFLOPS | Progress: (10/10) | 5.91 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  4/25]  Current/Best:    9.84/  15.42 GFLOPS | Progress: (4/10) | 7.20 s
    [Task  4/25]  Current/Best:   14.50/  18.00 GFLOPS | Progress: (8/10) | 8.51 s
    [Task  4/25]  Current/Best:    4.74/  18.00 GFLOPS | Progress: (10/10) | 9.45 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  5/25]  Current/Best:   13.55/  20.36 GFLOPS | Progress: (4/10) | 2.98 s
    [Task  5/25]  Current/Best:   13.14/  20.36 GFLOPS | Progress: (8/10) | 4.75 s
    [Task  5/25]  Current/Best:    9.80/  20.36 GFLOPS | Progress: (10/10) | 5.69 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  6/25]  Current/Best:    1.49/  18.64 GFLOPS | Progress: (4/10) | 6.04 s
    [Task  6/25]  Current/Best:   17.55/  18.64 GFLOPS | Progress: (8/10) | 7.76 s
    [Task  6/25]  Current/Best:   17.50/  18.64 GFLOPS | Progress: (10/10) | 9.11 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  7/25]  Current/Best:    6.26/  21.47 GFLOPS | Progress: (4/10) | 2.77 s
    [Task  7/25]  Current/Best:   15.14/  21.47 GFLOPS | Progress: (8/10) | 4.95 s
    [Task  7/25]  Current/Best:   14.42/  21.47 GFLOPS | Progress: (10/10) | 6.13 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  8/25]  Current/Best:    3.71/  14.09 GFLOPS | Progress: (4/10) | 3.53 s
    [Task  8/25]  Current/Best:   13.28/  14.09 GFLOPS | Progress: (8/10) | 9.27 s
    [Task  8/25]  Current/Best:   12.22/  14.09 GFLOPS | Progress: (10/10) | 12.06 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  9/25]  Current/Best:   20.50/  23.74 GFLOPS | Progress: (4/10) | 4.68 s
    [Task  9/25]  Current/Best:   12.47/  23.74 GFLOPS | Progress: (8/10) | 6.89 s
    [Task  9/25]  Current/Best:   15.88/  23.74 GFLOPS | Progress: (10/10) | 7.57 s Done.
-
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 10/25]  Current/Best:   18.73/  18.73 GFLOPS | Progress: (4/10) | 2.79 s
    [Task 10/25]  Current/Best:   14.09/  18.73 GFLOPS | Progress: (8/10) | 4.34 s
    [Task 10/25]  Current/Best:   13.92/  18.73 GFLOPS | Progress: (10/10) | 5.22 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 11/25]  Current/Best:   18.70/  21.19 GFLOPS | Progress: (4/10) | 2.90 s
    [Task 11/25]  Current/Best:   17.64/  21.19 GFLOPS | Progress: (8/10) | 5.22 s
    [Task 11/25]  Current/Best:   16.90/  21.19 GFLOPS | Progress: (10/10) | 5.96 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 12/25]  Current/Best:   14.22/  14.73 GFLOPS | Progress: (4/10) | 3.29 s
    [Task 12/25]  Current/Best:   18.79/  18.79 GFLOPS | Progress: (8/10) | 4.86 s
    [Task 12/25]  Current/Best:    2.79/  18.79 GFLOPS | Progress: (10/10) | 8.22 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 13/25]  Current/Best:    6.19/  23.44 GFLOPS | Progress: (4/10) | 3.91 s
    [Task 13/25]  Current/Best:    9.46/  23.44 GFLOPS | Progress: (8/10) | 6.56 s
    [Task 13/25]  Current/Best:    1.57/  23.44 GFLOPS | Progress: (10/10) | 9.10 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 14/25]  Current/Best:   10.82/  23.07 GFLOPS | Progress: (4/10) | 4.51 s
    [Task 14/25]  Current/Best:   12.26/  23.07 GFLOPS | Progress: (8/10) | 6.77 s
    [Task 14/25]  Current/Best:    9.41/  23.07 GFLOPS | Progress: (10/10) | 7.58 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 15/25]  Current/Best:   19.16/  19.16 GFLOPS | Progress: (4/10) | 2.68 s
    [Task 15/25]  Current/Best:   19.44/  23.49 GFLOPS | Progress: (8/10) | 3.83 s
    [Task 15/25]  Current/Best:   11.19/  23.49 GFLOPS | Progress: (10/10) | 5.28 s Done.
-
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 16/25]  Current/Best:   16.12/  16.12 GFLOPS | Progress: (4/10) | 3.27 s
    [Task 16/25]  Current/Best:    8.39/  16.12 GFLOPS | Progress: (8/10) | 4.57 s
    [Task 16/25]  Current/Best:   12.91/  16.12 GFLOPS | Progress: (10/10) | 5.33 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 17/25]  Current/Best:   18.31/  19.63 GFLOPS | Progress: (4/10) | 2.88 s
    [Task 17/25]  Current/Best:    6.18/  23.67 GFLOPS | Progress: (8/10) | 5.04 s
    [Task 17/25]  Current/Best:   18.02/  23.89 GFLOPS | Progress: (10/10) | 5.99 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 18/25]  Current/Best:   20.59/  20.59 GFLOPS | Progress: (4/10) | 3.25 s
    [Task 18/25]  Current/Best:   15.06/  20.59 GFLOPS | Progress: (8/10) | 5.88 s
    [Task 18/25]  Current/Best:   19.18/  20.59 GFLOPS | Progress: (10/10) | 6.59 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 19/25]  Current/Best:   14.00/  14.00 GFLOPS | Progress: (4/10) | 4.37 s
    [Task 19/25]  Current/Best:    6.18/  19.20 GFLOPS | Progress: (8/10) | 8.92 s
    [Task 19/25]  Current/Best:    8.42/  19.20 GFLOPS | Progress: (10/10) | 11.20 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 20/25]  Current/Best:   19.21/  19.21 GFLOPS | Progress: (4/10) | 2.93 s Done.
-
    [Task 20/25]  Current/Best:    6.67/  19.21 GFLOPS | Progress: (8/10) | 5.32 s
    [Task 20/25]  Current/Best:    2.31/  19.21 GFLOPS | Progress: (10/10) | 7.19 s Done.
-
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 21/25]  Current/Best:    9.16/  17.51 GFLOPS | Progress: (4/10) | 2.15 s
    [Task 21/25]  Current/Best:   14.14/  17.51 GFLOPS | Progress: (8/10) | 6.65 s
    [Task 21/25]  Current/Best:   20.39/  20.39 GFLOPS | Progress: (10/10) | 7.19 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 22/25]  Current/Best:   19.94/  19.94 GFLOPS | Progress: (4/10) | 2.66 s
    [Task 22/25]  Current/Best:   17.12/  19.96 GFLOPS | Progress: (8/10) | 4.06 s
    [Task 22/25]  Current/Best:    4.91/  19.96 GFLOPS | Progress: (10/10) | 5.01 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 23/25]  Current/Best:    5.31/  19.24 GFLOPS | Progress: (4/10) | 8.56 s
    [Task 23/25]  Current/Best:   14.80/  19.24 GFLOPS | Progress: (8/10) | 14.26 s
    [Task 23/25]  Current/Best:   13.96/  19.24 GFLOPS | Progress: (10/10) | 16.15 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 24/25]  Current/Best:    6.11/   9.77 GFLOPS | Progress: (4/10) | 13.46 s
    [Task 24/25]  Current/Best:    9.01/   9.77 GFLOPS | Progress: (8/10) | 15.59 s
    [Task 24/25]  Current/Best:    5.61/   9.77 GFLOPS | Progress: (10/10) | 16.43 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  1/25]  Current/Best:    6.51/  23.12 GFLOPS | Progress: (4/10) | 4.78 s
    [Task  1/25]  Current/Best:   11.40/  23.12 GFLOPS | Progress: (8/10) | 7.77 s
    [Task  1/25]  Current/Best:   18.34/  23.12 GFLOPS | Progress: (10/10) | 8.80 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  2/25]  Current/Best:   14.18/  14.18 GFLOPS | Progress: (4/10) | 2.69 s
    [Task  2/25]  Current/Best:    8.20/  18.72 GFLOPS | Progress: (8/10) | 3.81 s
    [Task  2/25]  Current/Best:   13.91/  18.72 GFLOPS | Progress: (10/10) | 5.11 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  3/25]  Current/Best:   18.24/  23.55 GFLOPS | Progress: (4/10) | 2.89 s
    [Task  3/25]  Current/Best:   14.82/  23.55 GFLOPS | Progress: (8/10) | 4.79 s
    [Task  3/25]  Current/Best:    3.13/  23.55 GFLOPS | Progress: (10/10) | 6.48 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  4/25]  Current/Best:   14.74/  14.74 GFLOPS | Progress: (4/10) | 2.63 s
    [Task  4/25]  Current/Best:   10.90/  14.74 GFLOPS | Progress: (8/10) | 6.97 s
    [Task  4/25]  Current/Best:   10.04/  17.99 GFLOPS | Progress: (10/10) | 7.66 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  5/25]  Current/Best:    9.58/  18.30 GFLOPS | Progress: (4/10) | 2.93 s
    [Task  5/25]  Current/Best:   10.16/  21.08 GFLOPS | Progress: (8/10) | 4.87 s
    [Task  5/25]  Current/Best:   20.63/  21.08 GFLOPS | Progress: (10/10) | 5.54 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  6/25]  Current/Best:   16.60/  17.89 GFLOPS | Progress: (4/10) | 2.67 s
    [Task  6/25]  Current/Best:   19.00/  19.00 GFLOPS | Progress: (8/10) | 5.05 s
    [Task  6/25]  Current/Best:    5.90/  19.00 GFLOPS | Progress: (10/10) | 8.08 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  7/25]  Current/Best:    7.90/  19.42 GFLOPS | Progress: (4/10) | 3.08 s
    [Task  7/25]  Current/Best:   16.06/  19.42 GFLOPS | Progress: (8/10) | 6.52 s
    [Task  7/25]  Current/Best:   17.09/  19.42 GFLOPS | Progress: (10/10) | 7.36 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  8/25]  Current/Best:    8.80/  16.51 GFLOPS | Progress: (4/10) | 4.17 s
    [Task  8/25]  Current/Best:   11.23/  17.97 GFLOPS | Progress: (8/10) | 6.08 s
    [Task  8/25]  Current/Best:    5.22/  17.97 GFLOPS | Progress: (10/10) | 16.93 s
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task  9/25]  Current/Best:   22.50/  22.50 GFLOPS | Progress: (4/10) | 3.18 s
    [Task  9/25]  Current/Best:   11.50/  22.50 GFLOPS | Progress: (8/10) | 9.13 s
    [Task  9/25]  Current/Best:   17.66/  22.50 GFLOPS | Progress: (10/10) | 9.84 s Done.
+
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 10/25]  Current/Best:    3.98/  18.55 GFLOPS | Progress: (4/10) | 2.80 s
    [Task 10/25]  Current/Best:    3.75/  20.71 GFLOPS | Progress: (8/10) | 4.38 s
    [Task 10/25]  Current/Best:   10.69/  20.71 GFLOPS | Progress: (10/10) | 5.25 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 11/25]  Current/Best:    5.84/  12.44 GFLOPS | Progress: (4/10) | 3.50 s
    [Task 11/25]  Current/Best:   16.89/  21.38 GFLOPS | Progress: (8/10) | 5.22 s
    [Task 11/25]  Current/Best:   13.89/  21.38 GFLOPS | Progress: (10/10) | 6.02 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 12/25]  Current/Best:    4.98/  13.96 GFLOPS | Progress: (4/10) | 4.13 s
    [Task 12/25]  Current/Best:   21.86/  21.86 GFLOPS | Progress: (8/10) | 6.18 s
    [Task 12/25]  Current/Best:    3.98/  21.86 GFLOPS | Progress: (10/10) | 7.92 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 13/25]  Current/Best:   17.97/  20.36 GFLOPS | Progress: (4/10) | 2.69 s
    [Task 13/25]  Current/Best:   15.88/  20.36 GFLOPS | Progress: (8/10) | 4.33 s
    [Task 13/25]  Current/Best:   22.20/  22.20 GFLOPS | Progress: (10/10) | 6.14 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 14/25]  Current/Best:   21.48/  21.48 GFLOPS | Progress: (4/10) | 6.42 s
    [Task 14/25]  Current/Best:    3.14/  21.48 GFLOPS | Progress: (8/10) | 8.80 s
    [Task 14/25]  Current/Best:   15.01/  21.48 GFLOPS | Progress: (10/10) | 10.50 s Done.
+
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 15/25]  Current/Best:   16.97/  19.85 GFLOPS | Progress: (4/10) | 2.37 s
    [Task 15/25]  Current/Best:    6.09/  19.85 GFLOPS | Progress: (8/10) | 5.26 s
    [Task 15/25]  Current/Best:    8.85/  19.85 GFLOPS | Progress: (10/10) | 9.30 s Done.
+
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 16/25]  Current/Best:   15.60/  15.60 GFLOPS | Progress: (4/10) | 2.73 s
    [Task 16/25]  Current/Best:    6.69/  20.42 GFLOPS | Progress: (8/10) | 4.00 s
    [Task 16/25]  Current/Best:   18.36/  20.42 GFLOPS | Progress: (10/10) | 4.76 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 17/25]  Current/Best:    6.50/  14.73 GFLOPS | Progress: (4/10) | 3.33 s
    [Task 17/25]  Current/Best:    7.73/  17.68 GFLOPS | Progress: (8/10) | 5.75 s
    [Task 17/25]  Current/Best:   18.42/  18.42 GFLOPS | Progress: (10/10) | 7.02 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 18/25]  Current/Best:   10.60/  19.39 GFLOPS | Progress: (4/10) | 3.32 s
    [Task 18/25]  Current/Best:    5.85/  21.79 GFLOPS | Progress: (8/10) | 5.36 s
    [Task 18/25]  Current/Best:    2.96/  21.79 GFLOPS | Progress: (10/10) | 6.68 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 19/25]  Current/Best:   18.76/  20.53 GFLOPS | Progress: (4/10) | 3.77 s
    [Task 19/25]  Current/Best:    8.97/  22.05 GFLOPS | Progress: (8/10) | 5.77 s
    [Task 19/25]  Current/Best:   10.39/  22.05 GFLOPS | Progress: (10/10) | 7.14 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 20/25]  Current/Best:   10.35/  18.00 GFLOPS | Progress: (4/10) | 3.41 s
    [Task 20/25]  Current/Best:   16.17/  18.00 GFLOPS | Progress: (8/10) | 5.32 s Done.
+
    [Task 20/25]  Current/Best:    5.19/  18.00 GFLOPS | Progress: (10/10) | 8.98 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 21/25]  Current/Best:    3.16/  20.78 GFLOPS | Progress: (4/10) | 3.10 s
    [Task 21/25]  Current/Best:   12.24/  20.78 GFLOPS | Progress: (8/10) | 4.34 s
    [Task 21/25]  Current/Best:   10.04/  20.78 GFLOPS | Progress: (10/10) | 4.93 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 22/25]  Current/Best:    2.70/  17.22 GFLOPS | Progress: (4/10) | 3.07 s
    [Task 22/25]  Current/Best:    9.58/  17.22 GFLOPS | Progress: (8/10) | 5.97 s
    [Task 22/25]  Current/Best:   18.25/  18.97 GFLOPS | Progress: (10/10) | 6.56 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 23/25]  Current/Best:   12.28/  16.76 GFLOPS | Progress: (4/10) | 4.46 s
    [Task 23/25]  Current/Best:   10.82/  16.76 GFLOPS | Progress: (8/10) | 7.07 s
    [Task 23/25]  Current/Best:   21.93/  21.93 GFLOPS | Progress: (10/10) | 7.92 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s
    [Task 24/25]  Current/Best:    2.15/   3.42 GFLOPS | Progress: (4/10) | 13.42 s
    [Task 24/25]  Current/Best:    3.76/   3.76 GFLOPS | Progress: (8/10) | 26.16 s
    [Task 24/25]  Current/Best:    3.89/   3.89 GFLOPS | Progress: (10/10) | 30.89 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/10) | 0.00 s Done.
      Done.
-
    [Task 25/25]  Current/Best:    2.82/   5.63 GFLOPS | Progress: (4/10) | 14.11 s
    [Task 25/25]  Current/Best:    7.55/   7.55 GFLOPS | Progress: (8/10) | 19.04 s
    [Task 25/25]  Current/Best:    1.55/   7.55 GFLOPS | Progress: (10/10) | 30.87 s
+
    [Task 25/25]  Current/Best:    1.55/   9.23 GFLOPS | Progress: (4/10) | 3.03 s
    [Task 25/25]  Current/Best:    3.05/   9.23 GFLOPS | Progress: (8/10) | 34.20 s
    [Task 25/25]  Current/Best:    6.13/   9.23 GFLOPS | Progress: (10/10) | 35.11 s
 
 
 The output from this tuning process will look something like this:
@@ -594,8 +593,8 @@ Verify that the optimized model runs and produces the same results:
 
  .. code-block:: none
 
-    class='n02123045 tabby, tabby cat' with probability=0.621104
-    class='n02123159 tiger cat' with probability=0.356378
+    class='n02123045 tabby, tabby cat' with probability=0.621103
+    class='n02123159 tiger cat' with probability=0.356379
     class='n02124075 Egyptian cat' with probability=0.019712
     class='n02129604 tiger, Panthera tigris' with probability=0.001215
     class='n04040759 radiator' with probability=0.000262
@@ -648,8 +647,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 438.14448858, 'median': 437.8019327000004, 'std': 1.2820048669788284}
-    unoptimized: {'mean': 493.01696199999924, 'median': 492.9015757000002, 'std': 0.4019743016379516}
+    optimized: {'mean': 429.35558537000134, 'median': 429.0025639000021, 'std': 1.1618874202319063}
+    unoptimized: {'mean': 491.79706214000123, 'median': 491.923489550004, 'std': 0.5183754666385587}
 
 
 
@@ -669,7 +668,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 6 minutes  58.525 seconds)
+   **Total running time of the script:** ( 7 minutes  8.979 seconds)
 
 
 .. _sphx_glr_download_tutorial_autotvm_relay_x86.py:
diff --git a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
index 5d32e6d9a..e371d73c5 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -235,7 +235,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.264e-07 secs/op
+    1.279e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 22a1a508d..18f75e54a 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -230,7 +230,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x611ee60)), stage(b, placeholder(b, 0xe268930)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min= [...]
+    [stage(a, placeholder(a, 0xe750e10)), stage(b, placeholder(b, 0x28135280)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min [...]
 
 
 
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index 388d3e3ec..a93011a12 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,17 +5,17 @@
 
 Computation times
 =================
-**09:49.069** total execution time for **tutorial** files:
+**10:36.985** total execution time for **tutorial** files:
 
-- **06:58.525**: :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)
-- **01:06.918**: :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``)
-- **01:00.454**: :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
-- **00:25.799**: :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)
-- **00:15.342**: :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)
-- **00:01.037**: :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)
-- **00:00.699**: :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)
-- **00:00.177**: :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-- **00:00.032**: :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)
-- **00:00.029**: :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
-- **00:00.029**: :ref:`sphx_glr_tutorial_install.py` (``install.py``)
-- **00:00.028**: :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)
+- **07:08.979**: :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)
+- **01:34.929**: :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``)
+- **00:58.405**: :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
+- **00:26.705**: :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)
+- **00:25.730**: :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)
+- **00:01.220**: :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)
+- **00:00.689**: :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)
+- **00:00.192**: :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
+- **00:00.038**: :ref:`sphx_glr_tutorial_install.py` (``install.py``)
+- **00:00.035**: :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
+- **00:00.035**: :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)
+- **00:00.031**: :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index 11d384eb3..65ea84443 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -387,7 +387,7 @@ factor to be the number of threads on your CPU.
 
  .. code-block:: none
 
-    vector: 0.000025
+    vector: 0.000026
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [(stride: int32*n: int32)], [], type="auto"),
@@ -436,10 +436,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    6.811160000097516e-06                    1.0
-                   naive    6.7125000000000005e-06    0.9855149489813625
-                parallel              6.0532e-06      0.8887179276236846
-                  vector             2.46963e-05      3.6258581503952954
+                   numpy    7.153660000085438e-06                    1.0
+                   naive              6.7116e-06      0.9382050586580634
+                parallel              6.0898e-06      0.8512845172858743
+                  vector    2.6212400000000003e-05     3.664194272538385
 
 
 
@@ -828,7 +828,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.018062
+    Numpy running time: 0.018343
 
 
 
@@ -884,7 +884,7 @@ optimizations.
 
  .. code-block:: none
 
-    none: 3.383251
+    none: 3.222698
 
 
 
@@ -982,7 +982,7 @@ schedule.
 
  .. code-block:: none
 
-    blocking: 0.302646
+    blocking: 0.305539
 
 
 
@@ -1073,7 +1073,7 @@ already cache friendly from our previous optimizations.
 
  .. code-block:: none
 
-    vectorization: 0.335924
+    vectorization: 0.337873
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1144,7 +1144,7 @@ more cache friendly.
 
  .. code-block:: none
 
-    loop permutation: 0.114830
+    loop permutation: 0.113412
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1240,7 +1240,7 @@ optimized schedule.
 
  .. code-block:: none
 
-    array packing: 0.108926
+    array packing: 0.108800
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1330,7 +1330,7 @@ to `C` when all the block results are ready.
 
  .. code-block:: none
 
-    block caching: 0.110312
+    block caching: 0.110891
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1413,7 +1413,7 @@ of thread-level parallelization.
 
  .. code-block:: none
 
-    parallelization: 0.144555
+    parallelization: 0.144366
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1491,13 +1491,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none            3.3832505712                     1.0
-                blocking     0.30264611329999996      0.0894542413962129
-           vectorization     0.33592418360000004     0.09929036485194521
-        loop permutation            0.1148301099     0.03394076420986787
-           array packing     0.10892592540000001     0.03219564235863418
-           block caching     0.11031220249999998     0.03260538945564222
-         parallelization            0.1445547907     0.04272659906733661
+                    none            3.2226976363                     1.0
+                blocking            0.3055385921     0.09480833344663102
+           vectorization            0.3378729156     0.10484164316076332
+        loop permutation     0.11341207049999999    0.035191657207472034
+           array packing     0.10879964760000001    0.033760426784845254
+           block caching     0.11089093049999998     0.03440934987227489
+         parallelization     0.14436589719999998    0.044796600082453716
 
 
 
@@ -1532,11 +1532,6 @@ operations with tunable parameters that allows you to automatically optimize
 the computation for specific platforms.
 
 
-.. rst-class:: sphx-glr-timing
-
-   **Total running time of the script:** ( 1 minutes  0.454 seconds)
-
-
 .. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
 
 
diff --git a/docs/commit_hash b/docs/commit_hash
index a8121ff7c..df6f4b479 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-05bb482526a1d534ce7d7910412736bbb62a36f2
+5f1f8f34212b462610881c030bacb0e6ba5802ec
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index 754fa3d57..707430697 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -400,7 +400,7 @@
 </div>
 <img alt="../../_images/sphx_glr_from_mxnet_001.png" class="sphx-glr-single-img" src="../../_images/sphx_glr_from_mxnet_001.png" />
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip67b27b19-6613-4739-9ab7-97a428d152b9 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip03490d01-3909-42df-8c00-031f35b2860a from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
 x (1, 3, 224, 224)
 </pre></div>
 </div>
diff --git a/docs/how_to/compile_models/from_paddle.html b/docs/how_to/compile_models/from_paddle.html
index 58bdcfac2..cdf4c8d2c 100644
--- a/docs/how_to/compile_models/from_paddle.html
+++ b/docs/how_to/compile_models/from_paddle.html
@@ -463,7 +463,7 @@ A quick solution is</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>TVM prediction top-1 id: 282, class name:  282: &#39;tiger cat&#39;,
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  4.317 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  4.742 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-paddle-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/16269b77359771348d507395692524cf/from_paddle.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_paddle.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index 33ed43215..6cb84b9b1 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -386,8 +386,8 @@ be unstable.</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]
- 40%|###9      | 17.7M/44.7M [00:00&lt;00:00, 186MB/s]
- 99%|#########9| 44.4M/44.7M [00:00&lt;00:00, 241MB/s]
+ 44%|####3     | 19.4M/44.7M [00:00&lt;00:00, 204MB/s]
+100%|#########9| 44.6M/44.7M [00:00&lt;00:00, 239MB/s]
 100%|##########| 44.7M/44.7M [00:00&lt;00:00, 233MB/s]
 </pre></div>
 </div>
diff --git a/docs/how_to/compile_models/sg_execution_times.html b/docs/how_to/compile_models/sg_execution_times.html
index 50ef0eefa..f3c22d953 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -300,17 +300,17 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-compile-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>04:45.656</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>04:42.936</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <ul class="simple">
-<li><p><strong>01:04.317</strong>: <a class="reference internal" href="from_paddle.html#sphx-glr-how-to-compile-models-from-paddle-py"><span class="std std-ref">Compile PaddlePaddle Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_paddle.py</span></code>)</p></li>
-<li><p><strong>00:59.369</strong>: <a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></li>
-<li><p><strong>00:56.203</strong>: <a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></li>
-<li><p><strong>00:24.964</strong>: <a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></li>
-<li><p><strong>00:24.237</strong>: <a class="reference internal" href="from_mxnet.html#sphx-glr-how-to-compile-models-from-mxnet-py"><span class="std std-ref">Compile MXNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_mxnet.py</span></code>)</p></li>
-<li><p><strong>00:22.042</strong>: <a class="reference internal" href="from_coreml.html#sphx-glr-how-to-compile-models-from-coreml-py"><span class="std std-ref">Compile CoreML Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_coreml.py</span></code>)</p></li>
-<li><p><strong>00:18.684</strong>: <a class="reference internal" href="from_pytorch.html#sphx-glr-how-to-compile-models-from-pytorch-py"><span class="std std-ref">Compile PyTorch Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_pytorch.py</span></code>)</p></li>
-<li><p><strong>00:13.317</strong>: <a class="reference internal" href="from_keras.html#sphx-glr-how-to-compile-models-from-keras-py"><span class="std std-ref">Compile Keras Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_keras.py</span></code>)</p></li>
-<li><p><strong>00:02.523</strong>: <a class="reference internal" href="from_onnx.html#sphx-glr-how-to-compile-models-from-onnx-py"><span class="std std-ref">Compile ONNX Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_onnx.py</span></code>)</p></li>
+<li><p><strong>01:04.742</strong>: <a class="reference internal" href="from_paddle.html#sphx-glr-how-to-compile-models-from-paddle-py"><span class="std std-ref">Compile PaddlePaddle Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_paddle.py</span></code>)</p></li>
+<li><p><strong>00:59.778</strong>: <a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></li>
+<li><p><strong>00:56.062</strong>: <a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></li>
+<li><p><strong>00:25.157</strong>: <a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></li>
+<li><p><strong>00:21.578</strong>: <a class="reference internal" href="from_coreml.html#sphx-glr-how-to-compile-models-from-coreml-py"><span class="std std-ref">Compile CoreML Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_coreml.py</span></code>)</p></li>
+<li><p><strong>00:21.058</strong>: <a class="reference internal" href="from_mxnet.html#sphx-glr-how-to-compile-models-from-mxnet-py"><span class="std std-ref">Compile MXNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_mxnet.py</span></code>)</p></li>
+<li><p><strong>00:18.887</strong>: <a class="reference internal" href="from_pytorch.html#sphx-glr-how-to-compile-models-from-pytorch-py"><span class="std std-ref">Compile PyTorch Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_pytorch.py</span></code>)</p></li>
+<li><p><strong>00:13.235</strong>: <a class="reference internal" href="from_keras.html#sphx-glr-how-to-compile-models-from-keras-py"><span class="std std-ref">Compile Keras Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_keras.py</span></code>)</p></li>
+<li><p><strong>00:02.438</strong>: <a class="reference internal" href="from_onnx.html#sphx-glr-how-to-compile-models-from-onnx-py"><span class="std std-ref">Compile ONNX Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_onnx.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index bde755d1b..d3dddcf07 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -622,7 +622,7 @@ to the remote android device.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  16.8039      16.2472      20.8440      15.9714       1.3990
+  15.7372      15.6797      16.2055      15.5393       0.2063
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
index 610a99112..57453948e 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -409,14 +409,13 @@ be unstable.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth&quot; to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
 
   0%|          | 0.00/170M [00:00&lt;?, ?B/s]
- 10%|9         | 16.9M/170M [00:00&lt;00:00, 177MB/s]
- 24%|##4       | 40.8M/170M [00:00&lt;00:00, 221MB/s]
- 38%|###8      | 64.9M/170M [00:00&lt;00:00, 235MB/s]
- 54%|#####3    | 91.0M/170M [00:00&lt;00:00, 250MB/s]
- 69%|######8   | 117M/170M [00:00&lt;00:00, 259MB/s]
- 84%|########3 | 143M/170M [00:00&lt;00:00, 262MB/s]
- 99%|#########9| 168M/170M [00:00&lt;00:00, 265MB/s]
-100%|##########| 170M/170M [00:00&lt;00:00, 252MB/s]
+ 12%|#1        | 20.1M/170M [00:00&lt;00:00, 211MB/s]
+ 26%|##6       | 44.6M/170M [00:00&lt;00:00, 238MB/s]
+ 42%|####1     | 70.6M/170M [00:00&lt;00:00, 253MB/s]
+ 57%|#####6    | 96.8M/170M [00:00&lt;00:00, 262MB/s]
+ 72%|#######1  | 122M/170M [00:00&lt;00:00, 254MB/s]
+ 87%|########7 | 148M/170M [00:00&lt;00:00, 261MB/s]
+100%|##########| 170M/170M [00:00&lt;00:00, 255MB/s]
 /usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
   for i in range(dim)
 /usr/local/lib/python3.7/dist-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the &#39;trunc&#39; function NOT &#39;floor&#39;). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode=&#39;trunc&#39;), or for actual floor division, use torch.div(a, b, rounding_mode=&#39;floor&#39;).
@@ -509,7 +508,7 @@ torchvision rcnn models.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Get 9 valid boxes
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  1.175 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  58.982 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-object-detection-pytorch-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7795da4b258c8feff986668b95ef57ad/deploy_object_detection_pytorch.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_object_detection_pytorch.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized.html b/docs/how_to/deploy_models/deploy_prequantized.html
index ec518480e..7c04aac62 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -450,9 +450,8 @@ training. Other models require a full post training calibration.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/mobilenet_v2-b0353104.pth&quot; to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
 
   0%|          | 0.00/13.6M [00:00&lt;?, ?B/s]
- 31%|###       | 4.17M/13.6M [00:00&lt;00:00, 43.7MB/s]
- 62%|######1   | 8.34M/13.6M [00:00&lt;00:00, 41.3MB/s]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 61.5MB/s]
+ 78%|#######7  | 10.5M/13.6M [00:00&lt;00:00, 110MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 127MB/s]
 </pre></div>
 </div>
 </div>
@@ -541,7 +540,7 @@ output values are identical out of 1000 outputs from mobilenet v2.</p>
 <p class="sphx-glr-script-out">Out:</p>
 <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)
-  90.4313      90.3920      91.1697      89.9870       0.2390
+  90.1169      90.0800      92.2883      89.9480       0.2431
 </pre></div>
 </div>
 <div class="admonition note">
@@ -580,7 +579,7 @@ This includes support for the VNNI 8 bit dot product instruction (CascadeLake or
 <div class="section" id="deploy-a-quantized-tflite-model">
 <h2>Deploy a quantized TFLite Model<a class="headerlink" href="#deploy-a-quantized-tflite-model" title="Permalink to this headline">¶</a></h2>
 <p>TODO</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  4.687 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  3.823 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/fb8217c13f4351224c6cf3aacf1a87fc/deploy_prequantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized_tflite.html b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
index 5f2de5af4..cc55338d6 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -540,7 +540,7 @@ TFLite Top-5 labels: [387 102 386 341 349]
 <p class="sphx-glr-script-out">Out:</p>
 <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)
-  120.9643     120.9884     122.4220     119.7923      0.5966
+  119.8017     119.8122     121.3341     118.1290      0.4948
 </pre></div>
 </div>
 <div class="admonition note">
@@ -568,7 +568,7 @@ network for ARM CPU</span></a>.</p></li>
 </ul>
 </div></blockquote>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  51.497 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  56.303 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-tflite-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/56691c7a27d45da61d112276334640d3/deploy_prequantized_tflite.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized_tflite.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_quantized.html b/docs/how_to/deploy_models/deploy_quantized.html
index 78f9fa355..7b50c5761 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -480,7 +480,7 @@ for calibration. But the accuracy might be impacted.</p>
   DeprecationWarning,
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  8.145 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  10.022 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-quantized-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7810ecf51bfc05f7d5e8a400ac3e815d/deploy_quantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_quantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
index a21e9802e..b83ab3ba3 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -415,23 +415,22 @@ to your device.</p>
 Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
 
   0%|          | 0/132723 [00:00&lt;?, ?KB/s]
-  3%|2         | 3779/132723 [00:00&lt;00:03, 37727.34KB/s]
-  9%|8         | 11384/132723 [00:00&lt;00:02, 60251.92KB/s]
- 15%|#4        | 19873/132723 [00:00&lt;00:01, 71492.55KB/s]
- 21%|##1       | 28378/132723 [00:00&lt;00:01, 76840.86KB/s]
- 28%|##7       | 36937/132723 [00:00&lt;00:01, 79991.81KB/s]
- 34%|###4      | 45510/132723 [00:00&lt;00:01, 81941.38KB/s]
- 41%|####      | 54045/132723 [00:00&lt;00:00, 83052.14KB/s]
- 47%|####7     | 62500/132723 [00:00&lt;00:00, 83518.25KB/s]
- 54%|#####3    | 71009/132723 [00:00&lt;00:00, 84006.23KB/s]
- 60%|#####9    | 79591/132723 [00:01&lt;00:00, 84563.82KB/s]
- 66%|######6   | 88113/132723 [00:01&lt;00:00, 84760.50KB/s]
- 73%|#######2  | 96713/132723 [00:01&lt;00:00, 85133.54KB/s]
- 79%|#######9  | 105302/132723 [00:01&lt;00:00, 85360.54KB/s]
- 86%|########5 | 113854/132723 [00:01&lt;00:00, 85407.13KB/s]
- 92%|#########2| 122407/132723 [00:01&lt;00:00, 85439.95KB/s]
- 99%|#########8| 130952/132723 [00:01&lt;00:00, 85383.87KB/s]
-100%|##########| 132723/132723 [00:01&lt;00:00, 81761.36KB/s]
+  2%|2         | 3149/132723 [00:00&lt;00:04, 31486.35KB/s]
+  9%|8         | 11850/132723 [00:00&lt;00:01, 64144.09KB/s]
+ 16%|#5        | 20627/132723 [00:00&lt;00:01, 74930.31KB/s]
+ 22%|##2       | 29436/132723 [00:00&lt;00:01, 80121.83KB/s]
+ 29%|##8       | 38297/132723 [00:00&lt;00:01, 83177.95KB/s]
+ 36%|###5      | 47182/132723 [00:00&lt;00:01, 85103.44KB/s]
+ 42%|####2     | 55885/132723 [00:00&lt;00:00, 85729.52KB/s]
+ 49%|####8     | 64635/132723 [00:00&lt;00:00, 86290.32KB/s]
+ 55%|#####5    | 73525/132723 [00:00&lt;00:00, 87103.26KB/s]
+ 62%|######2   | 82424/132723 [00:01&lt;00:00, 87684.30KB/s]
+ 69%|######8   | 91349/132723 [00:01&lt;00:00, 88159.04KB/s]
+ 76%|#######5  | 100211/132723 [00:01&lt;00:00, 88294.42KB/s]
+ 82%|########2 | 109052/132723 [00:01&lt;00:00, 88326.58KB/s]
+ 89%|########8 | 117904/132723 [00:01&lt;00:00, 88382.61KB/s]
+ 96%|#########5| 126803/132723 [00:01&lt;00:00, 88559.15KB/s]
+100%|##########| 132723/132723 [00:01&lt;00:00, 84624.83KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -471,7 +470,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
 </pre></div>
 </div>
 <img alt="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" class="sphx-glr-single-img" src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" />
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  20.825 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  20.432 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-ssd-gluoncv-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/cccb17d28e5e8b2e94ea8cd5ec59f6ed/deploy_ssd_gluoncv.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_ssd_gluoncv.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/sg_execution_times.html b/docs/how_to/deploy_models/sg_execution_times.html
index 4d803a3b5..e4baec2a5 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -300,16 +300,16 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-deploy-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>10:15.623</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>10:19.380</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <ul class="simple">
-<li><p><strong>03:01.175</strong>: <a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></li>
-<li><p><strong>02:20.825</strong>: <a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></li>
-<li><p><strong>01:51.497</strong>: <a class="reference internal" href="deploy_prequantized_tflite.html#sphx-glr-how-to-deploy-models-deploy-prequantized-tflite-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM - Part 3 (TFLite)</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized_tflite.py</span></code>)</p></li>
-<li><p><strong>01:08.145</strong>: <a class="reference internal" href="deploy_quantized.html#sphx-glr-how-to-deploy-models-deploy-quantized-py"><span class="std std-ref">Deploy a Quantized Model on Cuda</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_quantized.py</span></code>)</p></li>
-<li><p><strong>01:04.687</strong>: <a class="reference internal" href="deploy_prequantized.html#sphx-glr-how-to-deploy-models-deploy-prequantized-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized.py</span></code>)</p></li>
-<li><p><strong>00:27.819</strong>: <a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></li>
-<li><p><strong>00:21.299</strong>: <a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></li>
-<li><p><strong>00:00.177</strong>: <a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></li>
+<li><p><strong>02:58.982</strong>: <a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></li>
+<li><p><strong>02:20.432</strong>: <a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></li>
+<li><p><strong>01:56.303</strong>: <a class="reference internal" href="deploy_prequantized_tflite.html#sphx-glr-how-to-deploy-models-deploy-prequantized-tflite-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM - Part 3 (TFLite)</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized_tflite.py</span></code>)</p></li>
+<li><p><strong>01:10.022</strong>: <a class="reference internal" href="deploy_quantized.html#sphx-glr-how-to-deploy-models-deploy-quantized-py"><span class="std std-ref">Deploy a Quantized Model on Cuda</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_quantized.py</span></code>)</p></li>
+<li><p><strong>01:03.823</strong>: <a class="reference internal" href="deploy_prequantized.html#sphx-glr-how-to-deploy-models-deploy-prequantized-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized.py</span></code>)</p></li>
+<li><p><strong>00:28.033</strong>: <a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></li>
+<li><p><strong>00:21.611</strong>: <a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></li>
+<li><p><strong>00:00.174</strong>: <a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/extend_tvm/bring_your_own_datatypes.html b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
index 1bff02e81..5e653296b 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -588,7 +588,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipaf732524-7bdc-4cd4-9c9d-7cdeeeae88b7 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip106b56ff-ba7d-4a0d-a4b3-f38307c88609 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 </pre></div>
 </div>
 <p>It’s easy to execute MobileNet with native TVM:</p>
diff --git a/docs/how_to/extend_tvm/sg_execution_times.html b/docs/how_to/extend_tvm/sg_execution_times.html
index 33e06f600..06f6a03e0 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -300,12 +300,12 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-extend-tvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:38.055</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:37.749</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:34.565</strong>: <a class="reference internal" href="bring_your_own_datatypes.html#sphx-glr-how-to-extend-tvm-bring-your-own-datatypes-py"><span class="std std-ref">Bring Your Own Datatypes to TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_datatypes.py</span></code>)</p></li>
-<li><p><strong>00:02.246</strong>: <a class="reference internal" href="use_pass_instrument.html#sphx-glr-how-to-extend-tvm-use-pass-instrument-py"><span class="std std-ref">How to Use TVM Pass Instrument</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_instrument.py</span></code>)</p></li>
-<li><p><strong>00:01.061</strong>: <a class="reference internal" href="use_pass_infra.html#sphx-glr-how-to-extend-tvm-use-pass-infra-py"><span class="std std-ref">How to Use TVM Pass Infra</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_infra.py</span></code>)</p></li>
-<li><p><strong>00:00.182</strong>: <a class="reference internal" href="low_level_custom_pass.html#sphx-glr-how-to-extend-tvm-low-level-custom-pass-py"><span class="std std-ref">Writing a Customized Pass</span></a> (<code class="docutils literal notranslate"><span class="pre">low_level_custom_pass.py</span></code>)</p></li>
+<li><p><strong>00:34.265</strong>: <a class="reference internal" href="bring_your_own_datatypes.html#sphx-glr-how-to-extend-tvm-bring-your-own-datatypes-py"><span class="std std-ref">Bring Your Own Datatypes to TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_datatypes.py</span></code>)</p></li>
+<li><p><strong>00:02.235</strong>: <a class="reference internal" href="use_pass_instrument.html#sphx-glr-how-to-extend-tvm-use-pass-instrument-py"><span class="std std-ref">How to Use TVM Pass Instrument</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_instrument.py</span></code>)</p></li>
+<li><p><strong>00:01.060</strong>: <a class="reference internal" href="use_pass_infra.html#sphx-glr-how-to-extend-tvm-use-pass-infra-py"><span class="std std-ref">How to Use TVM Pass Infra</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_infra.py</span></code>)</p></li>
+<li><p><strong>00:00.189</strong>: <a class="reference internal" href="low_level_custom_pass.html#sphx-glr-how-to-extend-tvm-low-level-custom-pass-py"><span class="std std-ref">Writing a Customized Pass</span></a> (<code class="docutils literal notranslate"><span class="pre">low_level_custom_pass.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index 7cb2a5503..2253a0df4 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -486,10 +486,10 @@ profile the execution time of each passes.</p>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6318us [6318us] (46.22%; 46.22%)
-FoldScaleAxis: 7353us [2us] (53.78%; 53.78%)
-        FoldConstant: 7351us [1528us] (53.77%; 99.97%)
-                InferType: 5823us [5823us] (42.59%; 79.22%)
+InferType: 6259us [6259us] (45.50%; 45.50%)
+FoldScaleAxis: 7495us [2us] (54.50%; 54.50%)
+        FoldConstant: 7493us [1539us] (54.48%; 99.97%)
+                InferType: 5954us [5954us] (43.29%; 79.45%)
 </pre></div>
 </div>
 </div>
@@ -512,10 +512,10 @@ Refer to following sections and <a class="reference internal" href="../../refere
 </div>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6040us [6040us] (44.97%; 44.97%)
-FoldScaleAxis: 7391us [2us] (55.03%; 55.03%)
-        FoldConstant: 7389us [1537us] (55.01%; 99.98%)
-                InferType: 5852us [5852us] (43.57%; 79.20%)
+InferType: 6092us [6092us] (44.73%; 44.73%)
+FoldScaleAxis: 7526us [2us] (55.27%; 55.27%)
+        FoldConstant: 7524us [1569us] (55.25%; 99.97%)
+                InferType: 5955us [5955us] (43.73%; 79.15%)
 </pre></div>
 </div>
 <p>Register empty list to clear existing instruments.</p>
diff --git a/docs/how_to/optimize_operators/opt_conv_cuda.html b/docs/how_to/optimize_operators/opt_conv_cuda.html
index 599cf11b6..6cd054d8d 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -534,7 +534,7 @@ latency of convolution.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 33.400384 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 54.168223 ms
 </pre></div>
 </div>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-optimize-operators-opt-conv-cuda-py">
diff --git a/docs/how_to/optimize_operators/opt_conv_tensorcore.html b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
index e0b929f1e..2c66882d6 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -876,7 +876,7 @@ be able to run on our build server</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 8.230855 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 6.539867 ms
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/optimize_operators/opt_gemm.html b/docs/how_to/optimize_operators/opt_gemm.html
index 5032dddbc..e8cb00f0a 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -431,8 +431,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.017969
-Baseline: 3.284970
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.017938
+Baseline: 3.171601
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -493,7 +493,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.306492
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.297106
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -561,7 +561,7 @@ vastly.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.334188
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.336647
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -623,7 +623,7 @@ the access pattern for A matrix is more cache friendly.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.115678
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.114580
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -707,7 +707,7 @@ flattening.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.111953
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.110669
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -794,7 +794,7 @@ write to C when all the block results are ready.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111347
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111001
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -885,7 +885,7 @@ write to C when all the block results are ready.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145443
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145372
 </pre></div>
 </div>
 <p>Here is the generated IR after parallelization.</p>
diff --git a/docs/how_to/optimize_operators/sg_execution_times.html b/docs/how_to/optimize_operators/sg_execution_times.html
index 2857a7254..ec4aba390 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -300,11 +300,11 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-optimize-operators-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:34.582</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.128</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:32.002</strong>: <a class="reference internal" href="opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py"><span class="std std-ref">How to optimize GEMM on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_gemm.py</span></code>)</p></li>
-<li><p><strong>00:01.400</strong>: <a class="reference internal" href="opt_conv_tensorcore.html#sphx-glr-how-to-optimize-operators-opt-conv-tensorcore-py"><span class="std std-ref">How to optimize convolution using TensorCores</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_tensorcore.py</span></code>)</p></li>
-<li><p><strong>00:01.180</strong>: <a class="reference internal" href="opt_conv_cuda.html#sphx-glr-how-to-optimize-operators-opt-conv-cuda-py"><span class="std std-ref">How to optimize convolution on GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_cuda.py</span></code>)</p></li>
+<li><p><strong>00:31.544</strong>: <a class="reference internal" href="opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py"><span class="std std-ref">How to optimize GEMM on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_gemm.py</span></code>)</p></li>
+<li><p><strong>00:01.370</strong>: <a class="reference internal" href="opt_conv_tensorcore.html#sphx-glr-how-to-optimize-operators-opt-conv-tensorcore-py"><span class="std std-ref">How to optimize convolution using TensorCores</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_tensorcore.py</span></code>)</p></li>
+<li><p><strong>00:01.214</strong>: <a class="reference internal" href="opt_conv_cuda.html#sphx-glr-how-to-optimize-operators-opt-conv-cuda-py"><span class="std std-ref">How to optimize convolution on GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_cuda.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
index 88ff93a33..876b8e3d9 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -300,14 +300,14 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-tune-with-autoscheduler-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>04:57.359</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>05:02.385</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <ul class="simple">
-<li><p><strong>02:22.745</strong>: <a class="reference internal" href="tune_conv2d_layer_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py"><span class="std std-ref">Auto-scheduling a Convolution Layer for GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_layer_cuda.py</span></code>)</p></li>
-<li><p><strong>01:19.539</strong>: <a class="reference internal" href="tune_network_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-x86-py"><span class="std std-ref">Auto-scheduling a Neural Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_x86.py</span></code>)</p></li>
-<li><p><strong>00:40.379</strong>: <a class="reference internal" href="tune_network_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-cuda-py"><span class="std std-ref">Auto-scheduling a Neural Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_cuda.py</span></code>)</p></li>
-<li><p><strong>00:17.158</strong>: <a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></li>
-<li><p><strong>00:09.229</strong>: <a class="reference internal" href="tune_network_mali.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-mali-py"><span class="std std-ref">Auto-scheduling a Neural Network for mali GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_mali.py</span></code>)</p></li>
-<li><p><strong>00:08.308</strong>: <a class="reference internal" href="tune_network_arm.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-arm-py"><span class="std std-ref">Auto-scheduling a Neural Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_arm.py</span></code>)</p></li>
+<li><p><strong>02:29.434</strong>: <a class="reference internal" href="tune_conv2d_layer_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py"><span class="std std-ref">Auto-scheduling a Convolution Layer for GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_layer_cuda.py</span></code>)</p></li>
+<li><p><strong>01:19.824</strong>: <a class="reference internal" href="tune_network_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-x86-py"><span class="std std-ref">Auto-scheduling a Neural Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_x86.py</span></code>)</p></li>
+<li><p><strong>00:40.015</strong>: <a class="reference internal" href="tune_network_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-cuda-py"><span class="std std-ref">Auto-scheduling a Neural Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_cuda.py</span></code>)</p></li>
+<li><p><strong>00:15.818</strong>: <a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></li>
+<li><p><strong>00:09.035</strong>: <a class="reference internal" href="tune_network_mali.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-mali-py"><span class="std std-ref">Auto-scheduling a Neural Network for mali GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_mali.py</span></code>)</p></li>
+<li><p><strong>00:08.259</strong>: <a class="reference internal" href="tune_network_arm.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-arm-py"><span class="std std-ref">Auto-scheduling a Neural Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_arm.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
index 542b7a746..2fb0e94fd 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
@@ -469,54 +469,109 @@ cooperative fetching, unrolling and operator fusion.</p>
              bias: Buffer(bias_2: Pointer(float32), float32, [512], []),
              compute: Buffer(compute_2: Pointer(float32), float32, [25088], [])}
   buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute} {
-  attr [IterVar(blockIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;blockIdx.x&quot;)] &quot;thread_extent&quot; = 32;
-  allocate(conv2d_nchw: Pointer(local float32), float32, [2]), storage_scope = local;
-  allocate(pad_temp.shared: Pointer(shared float32), float32, [648]), storage_scope = shared;
-  allocate(kernel.shared: Pointer(shared float32), float32, [1152]), storage_scope = shared;
-  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 392 {
+  attr [IterVar(blockIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;blockIdx.x&quot;)] &quot;thread_extent&quot; = 8;
+  allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
+  allocate(pad_temp.shared: Pointer(shared float32), float32, [1008]), storage_scope = shared;
+  allocate(kernel.shared: Pointer(shared float32), float32, [3072]), storage_scope = shared;
+  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224 {
     conv2d_nchw_1: Buffer(conv2d_nchw, float32, [1], [], scope=&quot;local&quot;, align=4)[0] = 0f32
     conv2d_nchw_1[1] = 0f32
-    for (rc.outer.outer: int32, 0, 64) {
-      let cse_var_1: int32 = (rc.outer.outer*72)
-       {
-        attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 392;
-        pad_temp.shared_1: Buffer(pad_temp.shared, float32, [648], [], scope=&quot;shared&quot;)[threadIdx.x_1] = @tir.if_then_else(((((9 &lt;= floormod(threadIdx.x_1, 81)) &amp;&amp; (floormod(threadIdx.x_1, 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod(threadIdx.x_1, 9))) &amp;&amp; (floormod(threadIdx.x_1, 9) &lt; 8)), data[(((((rc.outer.outer*392) + (floordiv(threadIdx.x_1, 81)*49)) + (floordiv(floormod(threadIdx.x_1, 81), 9)*7)) + floormod(threadIdx.x_1, 9)) - 8)], 0f32, dtype=float32)
-        attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 392;
-        if @tir.likely((threadIdx.x_1 &lt; 256), dtype=bool) {
-          pad_temp.shared_1[(threadIdx.x_1 + 392)] = @tir.if_then_else(((((9 &lt;= floormod((threadIdx.x_1 + 392), 81)) &amp;&amp; (floormod((threadIdx.x_1 + 68), 81) &lt; 72)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 5), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 5), 9) &lt; 8)), data[(((((rc.outer.outer*392) + (floordiv((threadIdx.x_1 + 392), 81)*49)) + (floordiv(floormod((threadIdx.x_1 + 392), 81), 9)*7)) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
-        }
-        attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 392;
-        kernel.shared_1: Buffer(kernel.shared, float32, [1152], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[((((blockIdx.x*73728) + (floordiv(threadIdx.x_2, 72)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 72))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 392;
-        kernel.shared_1[(threadIdx.x_2 + 392)] = kernel[((((blockIdx.x*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 49), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 32), 72))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 392;
-        if @tir.likely((threadIdx.x_2 &lt; 368), dtype=bool) {
-          kernel.shared_1[(threadIdx.x_2 + 784)] = kernel[((((blockIdx.x*73728) + (floordiv((floordiv(threadIdx.x_2, 8) + 98), 9)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 64), 72))]
-        }
-        for (rc.outer.inner: int32, 0, 8) {
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9))]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[(((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7))]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 576)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 1)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 577)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 2)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 578)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 3)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 9)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 579)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 4)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 10)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 580)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 5)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 11)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 581)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 6)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 18)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 582)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 7)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 19)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 583)]))
-          conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 8)]))
-          conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*81) + (floordiv(floormod(threadIdx.x, 49), 7)*9)) + floormod(threadIdx.x, 7)) + 20)]*kernel.shared_1[(((floordiv(threadIdx.x, 49)*72) + (rc.outer.inner*9)) + 584)]))
+    conv2d_nchw_1[2] = 0f32
+    conv2d_nchw_1[3] = 0f32
+    conv2d_nchw_1[4] = 0f32
+    conv2d_nchw_1[5] = 0f32
+    conv2d_nchw_1[6] = 0f32
+    conv2d_nchw_1[7] = 0f32
+    conv2d_nchw_1[8] = 0f32
+    conv2d_nchw_1[9] = 0f32
+    conv2d_nchw_1[10] = 0f32
+    conv2d_nchw_1[11] = 0f32
+    conv2d_nchw_1[12] = 0f32
+    conv2d_nchw_1[13] = 0f32
+    for (rc.outer.outer: int32, 0, 32) {
+      for (ry.outer.outer: int32, 0, 3) {
+        let cse_var_4: int32 = (rc.outer.outer*784)
+        let cse_var_3: int32 = (ry.outer.outer*7)
+        let cse_var_2: int32 = (rc.outer.outer*144)
+        let cse_var_1: int32 = (ry.outer.outer*3)
+         {
+          attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          pad_temp.shared_1: Buffer(pad_temp.shared, float32, [1008], [], scope=&quot;shared&quot;)[threadIdx.x_1] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod(threadIdx.x_1, 63), 9) + ry.outer.outer)) &amp;&amp; ((floordiv(floormod(threadIdx.x_1, 63), 9) + ry.outer.outer) &lt; 8)) &amp;&amp; (1 &lt;= floormod(threadIdx.x_1, 9))) &amp;&amp; (floormod(threadIdx.x_1, 9) &lt; 8)), data[((((cse_var_4 + (floordiv(threadIdx.x_1, 9)*7)) + cse_var_3) + floormod(threadIdx.x_1, 9)) - 8)], 0f [...]
+          attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          pad_temp.shared_1[(threadIdx.x_1 + 224)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 224), 63), 9) + ry.outer.outer)) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 224), 63), 9) + ry.outer.outer) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 8), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 8), 9) &lt; 8)), data[((((cse_var_4 + (floordiv((threadIdx.x_1 + 224), 9)*7)) + cse_var_3) + floormod((threadIdx.x_1 + 8), 9)) - 8)], 0f32, dtype=float32)
+          attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          pad_temp.shared_1[(threadIdx.x_1 + 448)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 448), 63), 9) + ry.outer.outer)) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 448), 63), 9) + ry.outer.outer) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 7), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 7), 9) &lt; 8)), data[((((cse_var_4 + (floordiv((threadIdx.x_1 + 448), 9)*7)) + cse_var_3) + floormod((threadIdx.x_1 + 7), 9)) - 8)], 0f32, dtype=float32)
+          attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          pad_temp.shared_1[(threadIdx.x_1 + 672)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 672), 63), 9) + ry.outer.outer)) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 672), 63), 9) + ry.outer.outer) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 6), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 6), 9) &lt; 8)), data[((((cse_var_4 + (floordiv((threadIdx.x_1 + 672), 9)*7)) + cse_var_3) + floormod((threadIdx.x_1 + 6), 9)) - 8)], 0f32, dtype=float32)
+          attr [IterVar(threadIdx.x_1, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          if @tir.likely((threadIdx.x_1 &lt; 112), dtype=bool) {
+            pad_temp.shared_1[(threadIdx.x_1 + 896)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod((threadIdx.x_1 + 896), 63), 9) + ry.outer.outer)) &amp;&amp; ((floordiv(floormod((threadIdx.x_1 + 896), 63), 9) + ry.outer.outer) &lt; 8)) &amp;&amp; (1 &lt;= floormod((threadIdx.x_1 + 5), 9))) &amp;&amp; (floormod((threadIdx.x_1 + 5), 9) &lt; 8)), data[((((cse_var_4 + (floordiv((threadIdx.x_1 + 896), 9)*7)) + cse_var_3) + floormod((threadIdx.x_1 + 5), 9)) - 8)], 0f32, dtype=float32)
+          }
+          attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1: Buffer(kernel.shared, float32, [3072], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[((((((blockIdx.x*294912) + (floordiv(threadIdx.x_2, 48)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 224)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 14), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 224), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 28), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 448), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 672)] = kernel[(((((((blockIdx.x*294912) + (floordiv(floordiv(threadIdx.x_2, 16), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 64512)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 56), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 896), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 1120)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 70), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1120), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[(((((((blockIdx.x*294912) + (floordiv(floordiv(threadIdx.x_2, 16), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 129024)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 1568)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 98), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1568), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 112), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 1792), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 2016)] = kernel[(((((((blockIdx.x*294912) + (floordiv(floordiv(threadIdx.x_2, 16), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 193536)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 140), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2240), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 2464)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 154), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2464), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 1), 3))]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          kernel.shared_1[(threadIdx.x_2 + 2688)] = kernel[(((((((blockIdx.x*294912) + (floordiv(floordiv(threadIdx.x_2, 16), 3)*4608)) + cse_var_2) + (floordiv(floormod(threadIdx.x_2, 48), 3)*9)) + cse_var_1) + floormod(threadIdx.x_2, 3)) + 258048)]
+          attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          if @tir.likely((threadIdx.x_2 &lt; 160), dtype=bool) {
+            kernel.shared_1[(threadIdx.x_2 + 2912)] = kernel[((((((blockIdx.x*294912) + (floordiv((floordiv(threadIdx.x_2, 16) + 182), 3)*4608)) + cse_var_2) + (floordiv(floormod((threadIdx.x_2 + 2912), 48), 3)*9)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 3))]
+          }
+          for (rc.outer.inner: int32, 0, 16) {
+            for (rx.outer.inner: int32, 0, 3) {
+              conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[(((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+              conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 1)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+              conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 2)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+              conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 3)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+              conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 4)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+              conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 5)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+              conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 6)]*kernel.shared_1[(((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner)]))
+              conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[(((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+              conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 1)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+              conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 2)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+              conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 3)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+              conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 4)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+              conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 5)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+              conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[((((rc.outer.inner*63) + (floormod(threadIdx.x, 7)*9)) + rx.outer.inner) + 6)]*kernel.shared_1[((((floordiv(threadIdx.x, 7)*48) + (rc.outer.inner*3)) + rx.outer.inner) + 1536)]))
+            }
+          }
         }
       }
     }
-    compute[((blockIdx.x*784) + threadIdx.x)] = max((conv2d_nchw_1[0] + bias[((blockIdx.x*16) + floordiv(threadIdx.x, 49))]), 0f32)
-    compute[(((blockIdx.x*784) + threadIdx.x) + 392)] = max((conv2d_nchw_1[1] + bias[(((blockIdx.x*16) + floordiv(threadIdx.x, 49)) + 8)]), 0f32)
+    compute[((blockIdx.x*3136) + (threadIdx.x*7))] = max((conv2d_nchw_1[0] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1)] = max((conv2d_nchw_1[1] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 2)] = max((conv2d_nchw_1[2] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 3)] = max((conv2d_nchw_1[3] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 4)] = max((conv2d_nchw_1[4] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 5)] = max((conv2d_nchw_1[5] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 6)] = max((conv2d_nchw_1[6] + bias[((blockIdx.x*64) + floordiv(threadIdx.x, 7))]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1568)] = max((conv2d_nchw_1[7] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1569)] = max((conv2d_nchw_1[8] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1570)] = max((conv2d_nchw_1[9] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1571)] = max((conv2d_nchw_1[10] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1572)] = max((conv2d_nchw_1[11] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1573)] = max((conv2d_nchw_1[12] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
+    compute[(((blockIdx.x*3136) + (threadIdx.x*7)) + 1574)] = max((conv2d_nchw_1[13] + bias[(((blockIdx.x*64) + floordiv(threadIdx.x, 7)) + 32)]), 0f32)
   }
 }
 </pre></div>
@@ -553,7 +608,7 @@ cooperative fetching, unrolling and operator fusion.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.289 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.323 ms
 </pre></div>
 </div>
 </div>
@@ -585,7 +640,7 @@ conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_
 conv2d_nchw_nn_o_o_o_o, conv2d_nchw_nn_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_o_i, factor=1)
 conv2d_nchw_ff_o_i, conv2d_nchw_ff_i = s[conv2d_nchw].split(conv2d_nchw_ff, factor=1)
 conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=1)
-conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=8)
+conv2d_nchw_ff_o_o_o_i, conv2d_nchw_ff_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_i, factor=32)
 conv2d_nchw_ff_o_o_o_o, conv2d_nchw_ff_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_o_o_i, factor=2)
 conv2d_nchw_yy_o_i, conv2d_nchw_yy_i = s[conv2d_nchw].split(conv2d_nchw_yy, factor=1)
 conv2d_nchw_yy_o_o_i, conv2d_nchw_yy_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_i, factor=1)
@@ -593,27 +648,27 @@ conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_
 conv2d_nchw_yy_o_o_o_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
 conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
 conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
-conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=7)
-conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=1)
+conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=1)
+conv2d_nchw_xx_o_o_o_o, conv2d_nchw_xx_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_o_i, factor=7)
 conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=1)
-conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=8)
-conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=16)
+conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=1)
 conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
-conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
-conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
+conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
 s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2d_nc [...]
 compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
 compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
 compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
 compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=1)
-compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=8)
+compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=32)
 compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=2)
 compute_i2_o_i, compute_i2_i = s[compute].split(compute_i2, factor=1)
 compute_i2_o_o_i, compute_i2_o_i = s[compute].split(compute_i2_o_i, factor=7)
 compute_i2_o_o_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
 compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
-compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
-compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
+compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=1)
+compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=7)
 s[compute].reorder(compute_i0_o_o_o, compute_i1_o_o_o, compute_i2_o_o_o, compute_i3_o_o_o, compute_i0_o_o_i, compute_i1_o_o_i, compute_i2_o_o_i, compute_i3_o_o_i, compute_i0_o_i, compute_i1_o_i, compute_i2_o_i, compute_i3_o_i, compute_i0_i, compute_i1_i, compute_i2_i, compute_i3_i)
 s[conv2d_nchw].compute_at(s[compute], compute_i3_o_i)
 kernel_shared = s.cache_read(kernel, &quot;shared&quot;, [conv2d_nchw])
@@ -632,14 +687,14 @@ s[compute].bind(compute_i0_o_i_i1_o_i_fused_i2_o_i_fused_i3_o_i_fused, te.thread
 kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[kernel_shared].fuse(kernel_shared_ax0, kernel_shared_ax1, kernel_shared_ax2, kernel_shared_ax3)
 kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
 s[kernel_shared].vectorize(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=392)
+kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[kernel_shared].split(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=224)
 s[kernel_shared].bind(kernel_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis(&quot;threadIdx.x&quot;))
 pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused = s[pad_temp_shared].fuse(pad_temp_shared_ax0, pad_temp_shared_ax1, pad_temp_shared_ax2, pad_temp_shared_ax3)
 pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused, factor=1)
 s[pad_temp_shared].vectorize(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_i)
-pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=392)
+pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_o, pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i = s[pad_temp_shared].split(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o, factor=224)
 s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis(&quot;threadIdx.x&quot;))
-s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;auto_unroll_max_step&quot;, 64)
+s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;auto_unroll_max_step&quot;, 16)
 s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;unroll_explicit&quot;, True)
 
 CUDA source code:
@@ -657,47 +712,85 @@ CUDA source code:
   #define int64_t long long
   #define uint64_t unsigned long long
 #endif
-extern &quot;C&quot; __global__ void __launch_bounds__(392) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-  float conv2d_nchw[2];
-  __shared__ float pad_temp_shared[648];
-  __shared__ float kernel_shared[1152];
+extern &quot;C&quot; __global__ void __launch_bounds__(224) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
+  float conv2d_nchw[14];
+  __shared__ float pad_temp_shared[1008];
+  __shared__ float kernel_shared[3072];
   conv2d_nchw[0] = 0.000000e+00f;
   conv2d_nchw[1] = 0.000000e+00f;
-  for (int rc_outer_outer = 0; rc_outer_outer &lt; 64; ++rc_outer_outer) {
-    __syncthreads();
-    pad_temp_shared[((int)threadIdx.x)] = (((((9 &lt;= (((int)threadIdx.x) % 81)) &amp;&amp; ((((int)threadIdx.x) % 81) &lt; 72)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 392) + ((((int)threadIdx.x) / 81) * 49)) + (((((int)threadIdx.x) % 81) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-    if (((int)threadIdx.x) &lt; 256) {
-      pad_temp_shared[(((int)threadIdx.x) + 392)] = (((((9 &lt;= ((((int)threadIdx.x) + 68) % 81)) &amp;&amp; (((((int)threadIdx.x) + 68) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 5) % 9))) &amp;&amp; (((((int)threadIdx.x) + 5) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 392) + (((((int)threadIdx.x) + 392) / 81) * 49)) + ((((((int)threadIdx.x) + 68) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.000000e+00f);
-    }
-    kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) * 73728) + ((((int)threadIdx.x) / 72) * 4608)) + (rc_outer_outer * 72)) + (((int)threadIdx.x) % 72))];
-    kernel_shared[(((int)threadIdx.x) + 392)] = kernel[((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 392) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) + 32) % 72))];
-    if (((int)threadIdx.x) &lt; 368) {
-      kernel_shared[(((int)threadIdx.x) + 784)] = kernel[((((((int)blockIdx.x) * 73728) + (((((int)threadIdx.x) + 784) / 72) * 4608)) + (rc_outer_outer * 72)) + ((((int)threadIdx.x) + 64) % 72))];
-    }
-    __syncthreads();
-    for (int rc_outer_inner = 0; rc_outer_inner &lt; 8; ++rc_outer_inner) {
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9))]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7))] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 576)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 1)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 577)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 2)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 578)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 3)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 579)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 4)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 580)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 5)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 581)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 6)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 582)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 7)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 583)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 8)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 81) + (((((int)threadIdx.x) % 49) / 7) * 9)) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 49) * 72) + (rc_outer_inner * 9)) + 584)]));
+  conv2d_nchw[2] = 0.000000e+00f;
+  conv2d_nchw[3] = 0.000000e+00f;
+  conv2d_nchw[4] = 0.000000e+00f;
+  conv2d_nchw[5] = 0.000000e+00f;
+  conv2d_nchw[6] = 0.000000e+00f;
+  conv2d_nchw[7] = 0.000000e+00f;
+  conv2d_nchw[8] = 0.000000e+00f;
+  conv2d_nchw[9] = 0.000000e+00f;
+  conv2d_nchw[10] = 0.000000e+00f;
+  conv2d_nchw[11] = 0.000000e+00f;
+  conv2d_nchw[12] = 0.000000e+00f;
+  conv2d_nchw[13] = 0.000000e+00f;
+  for (int rc_outer_outer = 0; rc_outer_outer &lt; 32; ++rc_outer_outer) {
+    for (int ry_outer_outer = 0; ry_outer_outer &lt; 3; ++ry_outer_outer) {
+      __syncthreads();
+      pad_temp_shared[((int)threadIdx.x)] = (((((1 &lt;= (((((int)threadIdx.x) % 63) / 9) + ry_outer_outer)) &amp;&amp; ((((((int)threadIdx.x) % 63) / 9) + ry_outer_outer) &lt; 8)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + ((((int)threadIdx.x) / 9) * 7)) + (ry_outer_outer * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+      pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((1 &lt;= ((((((int)threadIdx.x) + 35) % 63) / 9) + ry_outer_outer)) &amp;&amp; (((((((int)threadIdx.x) + 35) % 63) / 9) + ry_outer_outer) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 8) % 9))) &amp;&amp; (((((int)threadIdx.x) + 8) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 224) / 9) * 7)) + (ry_outer_outer * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
+      pad_temp_shared[(((int)threadIdx.x) + 448)] = (((((1 &lt;= ((((((int)threadIdx.x) + 7) % 63) / 9) + ry_outer_outer)) &amp;&amp; (((((((int)threadIdx.x) + 7) % 63) / 9) + ry_outer_outer) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 7) % 9))) &amp;&amp; (((((int)threadIdx.x) + 7) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 448) / 9) * 7)) + (ry_outer_outer * 7)) + ((((int)threadIdx.x) + 7) % 9)) - 8)] : 0.000000e+00f);
+      pad_temp_shared[(((int)threadIdx.x) + 672)] = (((((1 &lt;= ((((((int)threadIdx.x) + 42) % 63) / 9) + ry_outer_outer)) &amp;&amp; (((((((int)threadIdx.x) + 42) % 63) / 9) + ry_outer_outer) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 6) % 9))) &amp;&amp; (((((int)threadIdx.x) + 6) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 672) / 9) * 7)) + (ry_outer_outer * 7)) + ((((int)threadIdx.x) + 6) % 9)) - 8)] : 0.000000e+00f);
+      if (((int)threadIdx.x) &lt; 112) {
+        pad_temp_shared[(((int)threadIdx.x) + 896)] = (((((1 &lt;= ((((((int)threadIdx.x) + 14) % 63) / 9) + ry_outer_outer)) &amp;&amp; (((((((int)threadIdx.x) + 14) % 63) / 9) + ry_outer_outer) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 5) % 9))) &amp;&amp; (((((int)threadIdx.x) + 5) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 784) + (((((int)threadIdx.x) + 896) / 9) * 7)) + (ry_outer_outer * 7)) + ((((int)threadIdx.x) + 5) % 9)) - 8)] : 0.000000e+00f);
+      }
+      kernel_shared[((int)threadIdx.x)] = kernel[((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 224)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 224) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 448)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 448) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 64512)];
+      kernel_shared[(((int)threadIdx.x) + 896)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 896) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1120) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 129024)];
+      kernel_shared[(((int)threadIdx.x) + 1568)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1568) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 1792) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2016)] = kernel[(((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 193536)];
+      kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2240) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2464)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2464) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 16) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[(((((((((int)blockIdx.x) * 294912) + ((((int)threadIdx.x) / 48) * 4608)) + (rc_outer_outer * 144)) + (((((int)threadIdx.x) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+      if (((int)threadIdx.x) &lt; 160) {
+        kernel_shared[(((int)threadIdx.x) + 2912)] = kernel[((((((((int)blockIdx.x) * 294912) + (((((int)threadIdx.x) + 2912) / 48) * 4608)) + (rc_outer_outer * 144)) + ((((((int)threadIdx.x) + 32) % 48) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      }
+      __syncthreads();
+      for (int rc_outer_inner = 0; rc_outer_inner &lt; 16; ++rc_outer_inner) {
+        for (int rx_outer_inner = 0; rx_outer_inner &lt; 3; ++rx_outer_inner) {
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 3)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 4)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 5)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 6)] * kernel_shared[((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[(((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 1)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 2)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 3)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 4)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 5)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[((((rc_outer_inner * 63) + ((((int)threadIdx.x) % 7) * 9)) + rx_outer_inner) + 6)] * kernel_shared[(((((((int)threadIdx.x) / 7) * 48) + (rc_outer_inner * 3)) + rx_outer_inner) + 1536)]));
+        }
+      }
     }
   }
-  compute[((((int)blockIdx.x) * 784) + ((int)threadIdx.x))] = max((conv2d_nchw[0] + bias[((((int)blockIdx.x) * 16) + (((int)threadIdx.x) / 49))]), 0.000000e+00f);
-  compute[(((((int)blockIdx.x) * 784) + ((int)threadIdx.x)) + 392)] = max((conv2d_nchw[1] + bias[(((((int)blockIdx.x) * 16) + (((int)threadIdx.x) / 49)) + 8)]), 0.000000e+00f);
+  compute[((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7))] = max((conv2d_nchw[0] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1)] = max((conv2d_nchw[1] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 2)] = max((conv2d_nchw[2] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 3)] = max((conv2d_nchw[3] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 4)] = max((conv2d_nchw[4] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 5)] = max((conv2d_nchw[5] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 6)] = max((conv2d_nchw[6] + bias[((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1568)] = max((conv2d_nchw[7] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1569)] = max((conv2d_nchw[8] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1570)] = max((conv2d_nchw[9] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1571)] = max((conv2d_nchw[10] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1572)] = max((conv2d_nchw[11] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1573)] = max((conv2d_nchw[12] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
+  compute[(((((int)blockIdx.x) * 3136) + (((int)threadIdx.x) * 7)) + 1574)] = max((conv2d_nchw[13] + bias[(((((int)blockIdx.x) * 64) + (((int)threadIdx.x) / 7)) + 32)]), 0.000000e+00f);
 }
 </pre></div>
 </div>
@@ -732,9 +825,10 @@ In the example below we resume the status and do more 5 trials.</p>
 /usr/local/lib/python3.7/dist-packages/xgboost/training.py:17: UserWarning: Old style callback is deprecated.  See: https://xgboost.readthedocs.io/en/latest/python/callbacks.html
   warnings.warn(f&#39;Old style callback is deprecated.  See: {link}&#39;, UserWarning)
 Get devices for measurement successfully!
+.T
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  22.745 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  29.434 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/e3e540f3b477c0c52d8eb73e674e8ffd/tune_conv2d_layer_cuda.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_conv2d_layer_cuda.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
index 4478de59f..48293ff8e 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -876,7 +876,7 @@ so we can read the log file and load the best schedules.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   9.9667       9.9696       9.9970       9.9334       0.0260
+   9.7771       9.7757       9.7916       9.7639       0.0114
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
index f259455ed..89fb2bac4 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -895,7 +895,7 @@ so we can read the log file and load the best schedules.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  757.0588     755.7933     762.8056     752.5774      4.2704
+  764.2519     767.2916     769.4547     756.0095      5.8948
 </pre></div>
 </div>
 </div>
@@ -917,7 +917,7 @@ to learn how to use the RPC Tracker and RPC Server.
 To use the RPC Tracker in auto-scheduler, replace the runner in <code class="code docutils literal notranslate"><span class="pre">TuningOptions</span></code>
 with <a class="reference internal" href="../../reference/api/python/auto_scheduler.html#tvm.auto_scheduler.RPCRunner" title="tvm.auto_scheduler.RPCRunner"><code class="xref any py py-class docutils literal notranslate"><span class="pre">auto_scheduler.RPCRunner</span></code></a>.</p></li>
 </ol>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  19.539 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  19.824 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-x86-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_network_x86.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
index 277a2724d..10c576ffc 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -600,31 +600,29 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
              placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
              compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
   buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute} {
-  for (i0.outer.i1.outer.fused: int32, 0, 128) &quot;parallel&quot; {
-    allocate(compute_3: Pointer(global float32), float32, [512]), storage_scope = global {
+  for (i0.outer.i1.outer.fused: int32, 0, 1024) &quot;parallel&quot; {
+    allocate(compute_3: Pointer(global float32), float32, [128]), storage_scope = global {
       for (i.outer.inner: int32, 0, 2) {
-        for (nb_j.inner: int32, 0, 2) {
-          for (i.inner.init: int32, 0, 8) {
-            for (j.init: int32, 0, 16) {
-              compute_4: Buffer(compute_3, float32, [512], [])[((((i.outer.inner*256) + (i.inner.init*32)) + (nb_j.inner*16)) + j.init)] = 0f32
-            }
+        for (i.inner.init: int32, 0, 4) {
+          for (j.init: int32, 0, 16) {
+            compute_4: Buffer(compute_3, float32, [128], [])[(((i.outer.inner*64) + (i.inner.init*16)) + j.init)] = 0f32
           }
-          for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-            for (i.inner: int32, 0, 8) {
-              for (j: int32, 0, 16) {
-                let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
-                let cse_var_2: int32 = ((((i.outer.inner*256) + (i.inner*32)) + (nb_j.inner*16)) + j)
-                compute_4[cse_var_2] = (compute_4[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[((((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.outer.inner*2048)) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
-              }
+        }
+        for (elem_idx: int32, 0, let cse_var_1: int32 = floordiv(floormod(i0.outer.i1.outer.fused, 64), 2) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
+          for (i.inner: int32, 0, 4) {
+            for (j: int32, 0, 16) {
+              let cse_var_3: int32 = floordiv(floormod(i0.outer.i1.outer.fused, 64), 2)
+              let cse_var_2: int32 = (((i.outer.inner*64) + (i.inner*16)) + j)
+              compute_4[cse_var_2] = (compute_4[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[((((floordiv(i0.outer.i1.outer.fused, 64)*2048) + (i.outer.inner*1024)) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
             }
           }
         }
       }
-      for (i0.inner: int32, 0, 16) {
-        for (i1.inner: int32, 0, 32) {
-          let cse_var_4: int32 = ((((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32)) + i1.inner)
-          compute[cse_var_4] = max((compute_4[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_4]), 0f32)
-        }
+      for (i0.inner: int32, 0, 8) {
+        let cse_var_5: int32 = floormod(i0.outer.i1.outer.fused, 64)
+        let cse_var_6: int32 = (cse_var_5*8)
+        let cse_var_4: int32 = (((floordiv(i0.outer.i1.outer.fused, 64)*4096) + (i0.inner*512)) + cse_var_6)
+        compute[ramp(cse_var_4, 1, 8)] = max((compute_4[ramp((((i0.inner*16) + cse_var_6) - (floordiv(cse_var_5, 2)*16)), 1, 8)] + placeholder_4[ramp(cse_var_4, 1, 8)]), broadcast(0f32, 8))
       }
     }
   }
@@ -663,7 +661,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.572 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 2.510 ms
 </pre></div>
 </div>
 <div class="admonition note">
diff --git a/docs/how_to/tune_with_autotvm/sg_execution_times.html b/docs/how_to/tune_with_autotvm/sg_execution_times.html
index 73c84f09e..9fb0fa9eb 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -300,13 +300,13 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-tune-with-autotvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:43.803</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:44.224</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:42.983</strong>: <a class="reference internal" href="tune_conv2d_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-conv2d-cuda-py"><span class="std std-ref">Tuning High Performance Convolution on NVIDIA GPUs</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_cuda.py</span></code>)</p></li>
-<li><p><strong>00:00.208</strong>: <a class="reference internal" href="tune_relay_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-cuda-py"><span class="std std-ref">Auto-tuning a Convolutional Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_cuda.py</span></code>)</p></li>
-<li><p><strong>00:00.208</strong>: <a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></li>
-<li><p><strong>00:00.208</strong>: <a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></li>
-<li><p><strong>00:00.196</strong>: <a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></li>
+<li><p><strong>00:43.410</strong>: <a class="reference internal" href="tune_conv2d_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-conv2d-cuda-py"><span class="std std-ref">Tuning High Performance Convolution on NVIDIA GPUs</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_cuda.py</span></code>)</p></li>
+<li><p><strong>00:00.214</strong>: <a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></li>
+<li><p><strong>00:00.201</strong>: <a class="reference internal" href="tune_relay_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-cuda-py"><span class="std std-ref">Auto-tuning a Convolutional Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_cuda.py</span></code>)</p></li>
+<li><p><strong>00:00.200</strong>: <a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></li>
+<li><p><strong>00:00.199</strong>: <a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
index 86f781461..d0a0f8490 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -1142,8 +1142,8 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 4, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2885496
-No: 6   GFLOPS: 42.32/42.32     result: MeasureResult(costs=(0.005470534,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5648691654205322, timestamp=1649369512.0248032)        [(&#39;tile_f&#39;, [-1, 1, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3754080
-No: 7   GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 6   GFLOPS: 94.91/94.91     result: MeasureResult(costs=(0.0024392294791666666,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7495403289794922, timestamp=1649370146.4364386)      [(&#39;tile_f&#39;, [-1, 1, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3754080
+No: 7   GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1266,7 +1266,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 16, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 256, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6225319
-No: 8   GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 8   GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1389,7 +1389,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 64]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,943546
-No: 9   GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 9   GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1512,7 +1512,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 16, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 16, 32]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2868708
-No: 10  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 10  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 142, in build
     res = future.result()
   File &quot;/usr/lib/python3.7/concurrent/futures/_base.py&quot;, line 435, in result
@@ -1530,7 +1530,7 @@ No: 10  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
 TimeoutError
 
         [(&#39;tile_f&#39;, [-1, 32, 2, 4]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4691833
-No: 11  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 11  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1653,7 +1653,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 2, 64]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,1042124
-No: 12  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 12  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1776,7 +1776,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 32, 16]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,10013405
-No: 13  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 13  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1899,7 +1899,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 8, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 32]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6732082
-No: 14  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 14  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2022,7 +2022,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 4, 32]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7536735
-No: 15  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 15  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2145,7 +2145,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 128, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,482121
-No: 16  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 16  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2268,7 +2268,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 16]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2824525
-No: 17  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 17  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2391,7 +2391,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 64, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4559286
-No: 18  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 18  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2514,7 +2514,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 32, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9677544
-No: 19  GFLOPS: 0.00/42.32      result: Traceback (most recent call last):
+No: 19  GFLOPS: 0.00/94.91      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 721, in __call__
     yield remote, remote.load_module(os.path.split(build_result.filename)[1])
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 685, in run_through_rpc
@@ -2602,7 +2602,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   15: _PyEval_EvalFrameDefault
   14: 0x0000000000537c30
   13: _PyObject_FastCallKeywords
-  12: 0x00007fd9cded7fa2
+  12: 0x00007efec4909fa2
   11: _ctypes_callproc
   10: ffi_call
   9: ffi_call_unix64
@@ -2667,7 +2667,7 @@ Traceback (most recent call last):
   21: _PyFunction_FastCallKeywords
   20: _PyEval_EvalFrameDefault
   19: _PyFunction_FastCall      [(&#39;tile_f&#39;, [-1, 8, 2, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6390073
-No: 20  GFLOPS: 143.73/143.73   result: MeasureResult(costs=(0.0016106194603174603,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.1412110328674316, timestamp=1649369538.0858216)      [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
+No: 20  GFLOPS: 145.05/145.05   result: MeasureResult(costs=(0.00159599413,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4078364372253418, timestamp=1649370172.8139188)      [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
 </pre></div>
 </div>
 <p>Finally we can inspect the best config from log file, check correctness,
@@ -2706,7 +2706,7 @@ and measure running time.</p>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Best config:
 [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
-Time cost of this operator: 0.001959
+Time cost of this operator: 0.002077
 </pre></div>
 </div>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autotvm-tune-conv2d-cuda-py">
diff --git a/docs/how_to/work_with_microtvm/micro_autotune.html b/docs/how_to/work_with_microtvm/micro_autotune.html
index c1a87a093..0b188689f 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -553,10 +553,10 @@ the tuned operator.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  315.1     98.751   (1, 2, 10, 10, 3)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.073     0.963    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.914     0.286    (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             319.086   -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  310.3     98.702   (1, 2, 10, 10, 3)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.134     0.997    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.947     0.301    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             314.382   -        -                  -       -
 </pre></div>
 </div>
 </div>
@@ -608,10 +608,10 @@ Total_time                                    -
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build with Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  220.7     98.718   (1, 1, 10, 10, 6)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.944     0.87     (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.921     0.412    (1, 3, 10, 10, 1)  1       1
-Total_time                                    -                                             223.565   -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  192.0     98.61    (1, 6, 10, 10, 1)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.791     0.92     (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.915     0.47     (1, 3, 10, 10, 1)  1       1
+Total_time                                    -                                             194.706   -        -                  -       -
 </pre></div>
 </div>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
diff --git a/docs/how_to/work_with_microtvm/sg_execution_times.html b/docs/how_to/work_with_microtvm/sg_execution_times.html
index f5e3e5d75..77fbb1f5d 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -300,13 +300,13 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-microtvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:43.671</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>00:43.159</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:39.676</strong>: <a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></li>
-<li><p><strong>00:03.444</strong>: <a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">microTVM with TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></li>
+<li><p><strong>00:39.212</strong>: <a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></li>
+<li><p><strong>00:03.389</strong>: <a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">microTVM with TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></li>
 <li><p><strong>00:00.190</strong>: <a class="reference internal" href="micro_ethosu.html#sphx-glr-how-to-work-with-microtvm-micro-ethosu-py"><span class="std std-ref">Running TVM on bare metal Arm(R) Cortex(R)-M55 CPU and Ethos(TM)-U55 NPU</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></li>
-<li><p><strong>00:00.184</strong>: <a class="reference internal" href="micro_tvmc.html#sphx-glr-how-to-work-with-microtvm-micro-tvmc-py"><span class="std std-ref">Executing a Tiny Model with TVMC Micro</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tvmc.py</span></code>)</p></li>
-<li><p><strong>00:00.177</strong>: <a class="reference internal" href="micro_reference_vm.html#sphx-glr-how-to-work-with-microtvm-micro-reference-vm-py"><span class="std std-ref">microTVM Reference Virtual Machines</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_reference_vm.py</span></code>)</p></li>
+<li><p><strong>00:00.186</strong>: <a class="reference internal" href="micro_reference_vm.html#sphx-glr-how-to-work-with-microtvm-micro-reference-vm-py"><span class="std std-ref">microTVM Reference Virtual Machines</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_reference_vm.py</span></code>)</p></li>
+<li><p><strong>00:00.183</strong>: <a class="reference internal" href="micro_tvmc.html#sphx-glr-how-to-work-with-microtvm-micro-tvmc-py"><span class="std std-ref">Executing a Tiny Model with TVMC Micro</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tvmc.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/work_with_relay/sg_execution_times.html b/docs/how_to/work_with_relay/sg_execution_times.html
index 24fd795ee..b58425ada 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -300,11 +300,11 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-relay-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:08.704</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:08.838</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:06.881</strong>: <a class="reference internal" href="using_external_lib.html#sphx-glr-how-to-work-with-relay-using-external-lib-py"><span class="std std-ref">Using External Libraries in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_external_lib.py</span></code>)</p></li>
-<li><p><strong>00:01.610</strong>: <a class="reference internal" href="build_gcn.html#sphx-glr-how-to-work-with-relay-build-gcn-py"><span class="std std-ref">Building a Graph Convolutional Network</span></a> (<code class="docutils literal notranslate"><span class="pre">build_gcn.py</span></code>)</p></li>
-<li><p><strong>00:00.214</strong>: <a class="reference internal" href="using_relay_viz.html#sphx-glr-how-to-work-with-relay-using-relay-viz-py"><span class="std std-ref">Use Relay Visualizer to Visualize Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_relay_viz.py</span></code>)</p></li>
+<li><p><strong>00:07.007</strong>: <a class="reference internal" href="using_external_lib.html#sphx-glr-how-to-work-with-relay-using-external-lib-py"><span class="std std-ref">Using External Libraries in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_external_lib.py</span></code>)</p></li>
+<li><p><strong>00:01.629</strong>: <a class="reference internal" href="build_gcn.html#sphx-glr-how-to-work-with-relay-build-gcn-py"><span class="std std-ref">Building a Graph Convolutional Network</span></a> (<code class="docutils literal notranslate"><span class="pre">build_gcn.py</span></code>)</p></li>
+<li><p><strong>00:00.203</strong>: <a class="reference internal" href="using_relay_viz.html#sphx-glr-how-to-work-with-relay-using-relay-viz-py"><span class="std std-ref">Use Relay Visualizer to Visualize Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_relay_viz.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/work_with_schedules/sg_execution_times.html b/docs/how_to/work_with_schedules/sg_execution_times.html
index 5895df6f0..b490e51fb 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -300,16 +300,16 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-schedules-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:05.488</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:05.444</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:02.024</strong>: <a class="reference internal" href="intrin_math.html#sphx-glr-how-to-work-with-schedules-intrin-math-py"><span class="std std-ref">Intrinsics and Math Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">intrin_math.py</span></code>)</p></li>
-<li><p><strong>00:01.125</strong>: <a class="reference internal" href="tensorize.html#sphx-glr-how-to-work-with-schedules-tensorize-py"><span class="std std-ref">Use Tensorize to Leverage Hardware Intrinsics</span></a> (<code class="docutils literal notranslate"><span class="pre">tensorize.py</span></code>)</p></li>
-<li><p><strong>00:00.707</strong>: <a class="reference internal" href="scan.html#sphx-glr-how-to-work-with-schedules-scan-py"><span class="std std-ref">Scan and Recurrent Kernel</span></a> (<code class="docutils literal notranslate"><span class="pre">scan.py</span></code>)</p></li>
-<li><p><strong>00:00.697</strong>: <a class="reference internal" href="reduction.html#sphx-glr-how-to-work-with-schedules-reduction-py"><span class="std std-ref">Reduction</span></a> (<code class="docutils literal notranslate"><span class="pre">reduction.py</span></code>)</p></li>
-<li><p><strong>00:00.285</strong>: <a class="reference internal" href="extern_op.html#sphx-glr-how-to-work-with-schedules-extern-op-py"><span class="std std-ref">External Tensor Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">extern_op.py</span></code>)</p></li>
-<li><p><strong>00:00.230</strong>: <a class="reference internal" href="schedule_primitives.html#sphx-glr-how-to-work-with-schedules-schedule-primitives-py"><span class="std std-ref">Schedule Primitives in TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">schedule_primitives.py</span></code>)</p></li>
-<li><p><strong>00:00.216</strong>: <a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></li>
-<li><p><strong>00:00.203</strong>: <a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></li>
+<li><p><strong>00:02.013</strong>: <a class="reference internal" href="intrin_math.html#sphx-glr-how-to-work-with-schedules-intrin-math-py"><span class="std std-ref">Intrinsics and Math Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">intrin_math.py</span></code>)</p></li>
+<li><p><strong>00:01.099</strong>: <a class="reference internal" href="tensorize.html#sphx-glr-how-to-work-with-schedules-tensorize-py"><span class="std std-ref">Use Tensorize to Leverage Hardware Intrinsics</span></a> (<code class="docutils literal notranslate"><span class="pre">tensorize.py</span></code>)</p></li>
+<li><p><strong>00:00.703</strong>: <a class="reference internal" href="reduction.html#sphx-glr-how-to-work-with-schedules-reduction-py"><span class="std std-ref">Reduction</span></a> (<code class="docutils literal notranslate"><span class="pre">reduction.py</span></code>)</p></li>
+<li><p><strong>00:00.685</strong>: <a class="reference internal" href="scan.html#sphx-glr-how-to-work-with-schedules-scan-py"><span class="std std-ref">Scan and Recurrent Kernel</span></a> (<code class="docutils literal notranslate"><span class="pre">scan.py</span></code>)</p></li>
+<li><p><strong>00:00.289</strong>: <a class="reference internal" href="extern_op.html#sphx-glr-how-to-work-with-schedules-extern-op-py"><span class="std std-ref">External Tensor Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">extern_op.py</span></code>)</p></li>
+<li><p><strong>00:00.225</strong>: <a class="reference internal" href="schedule_primitives.html#sphx-glr-how-to-work-with-schedules-schedule-primitives-py"><span class="std std-ref">Schedule Primitives in TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">schedule_primitives.py</span></code>)</p></li>
+<li><p><strong>00:00.225</strong>: <a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></li>
+<li><p><strong>00:00.204</strong>: <a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/work_with_schedules/tensorize.html b/docs/how_to/work_with_schedules/tensorize.html
index e50e23c82..104493bfc 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -548,8 +548,8 @@ The importing needs to happen before the tensorized GEMV being executed.</p>
              B: Buffer(B_2: Pointer(float32), float32, [32768], []),
              C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
   buffer_map = {A_1: A, B_1: B, C_1: C} {
-  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmp0nxgmico/input0.cc&#39;
-source_filename = &quot;/tmp/tmp0nxgmico/input0.cc&quot;
+  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmpwob9n9vn/input0.cc&#39;
+source_filename = &quot;/tmp/tmpwob9n9vn/input0.cc&quot;
 target datalayout = &quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128&quot;
 target triple = &quot;x86_64-pc-linux-gnu&quot;
 
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index 1006aaace..90cdeab54 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -249,50 +249,48 @@ $(function() {
 <tr id="row_1_4_19_" class="even" 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_1meta__schedule_1_1MeasureCallbackNode.html" target="_self">MeasureCallbackNode</a></td><td class="desc">Rules to apply after measure results is available </td></tr>
 <tr id="row_1_4_20_" class="even" 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_1meta__schedule_1_1MeasureCandidate.html" target="_self">MeasureCandidate</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html" title="The schedule (with input shapes) to be measured. ">MeasureCandidateNo [...]
 <tr id="row_1_4_21_" class="even" 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_1meta__schedule_1_1MeasureCandidateNode.html" target="_self">MeasureCandidateNode</a></td><td class="desc">The schedule (with input shapes) to be measured </td></tr>
-<tr id="row_1_4_22_" class="even" 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_1meta__schedule_1_1MetaScheduleContext.html" target="_self">MetaScheduleContext</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContextNode.html" title="A context manager interface for the integration. ">MetaSched [...]
-<tr id="row_1_4_23_" class="even" 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_1meta__schedule_1_1MetaScheduleContextNode.html" target="_self">MetaScheduleContextNode</a></td><td class="desc">A context manager interface for the integration </td></tr>
-<tr id="row_1_4_24_" class="even" 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_1meta__schedule_1_1Mutator.html" target="_self">Mutator</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1MutatorNode.html" title="Mutator is designed to mutate the trace to explore the design space. ">MutatorNode</a> </td></tr>
-<tr id="row_1_4_25_" class="even" 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_1meta__schedule_1_1MutatorNode.html" target="_self">MutatorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1meta__schedule_1_1Mutator.html" title="Managed reference to MutatorNode. ">Mutator</a> is designed to mutate the trace to explore the design space </td></tr>
-<tr id="row_1_4_26_" class="even" 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_1meta__schedule_1_1Postproc.html" target="_self">Postproc</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1PostprocNode.html" title="Rules to apply a postprocessor to a schedule. ">PostprocNode</a> </td></tr>
-<tr id="row_1_4_27_" class="even" 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_1meta__schedule_1_1PostprocNode.html" target="_self">PostprocNode</a></td><td class="desc">Rules to apply a postprocessor to a schedule </td></tr>
-<tr id="row_1_4_28_" class="even" 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_1meta__schedule_1_1PyBuilderNode.html" target="_self">PyBuilderNode</a></td><td class="desc">An abstract builder with customized build method on the python-side </td></tr>
-<tr id="row_1_4_29_" class="even" 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_1meta__schedule_1_1PyCostModelNode.html" target="_self">PyCostModelNode</a></td><td class="desc">The cost model with customized methods on the python-side </td></tr>
-<tr id="row_1_4_30_" class="even" 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_1meta__schedule_1_1PyDatabaseNode.html" target="_self">PyDatabaseNode</a></td><td class="desc">The database with customized methods on the python-side </td></tr>
-<tr id="row_1_4_31_" class="even" 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_1meta__schedule_1_1PyFeatureExtractorNode.html" target="_self">PyFeatureExtractorNode</a></td><td class="desc">The feature extractor with customized methods on the python-side </td></tr>
-<tr id="row_1_4_32_" class="even" 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_1meta__schedule_1_1PyMeasureCallbackNode.html" target="_self">PyMeasureCallbackNode</a></td><td class="desc">The measure callback with customized methods on the python-side </td></tr>
-<tr id="row_1_4_33_" class="even" 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_1meta__schedule_1_1PyMutatorNode.html" target="_self">PyMutatorNode</a></td><td class="desc">The mutator with customized methods on the python-side </td></tr>
-<tr id="row_1_4_34_" class="even" 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_1meta__schedule_1_1PyPostprocNode.html" target="_self">PyPostprocNode</a></td><td class="desc">The postprocessor with customized methods on the python-side </td></tr>
-<tr id="row_1_4_35_" class="even" 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_1meta__schedule_1_1PyRunnerNode.html" target="_self">PyRunnerNode</a></td><td class="desc">An abstract runner with customized build method on the python-side </td></tr>
-<tr id="row_1_4_36_" class="even" 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_1meta__schedule_1_1PyScheduleRuleNode.html" target="_self">PyScheduleRuleNode</a></td><td class="desc">The schedule rule with customized methods on the python-side </td></tr>
-<tr id="row_1_4_37_" class="even" 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_1meta__schedule_1_1PySearchStrategyNode.html" target="_self">PySearchStrategyNode</a></td><td class="desc">The python side customizable class for measure candidate generation </td></tr>
-<tr id="row_1_4_38_" class="even" 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_1meta__schedule_1_1PySpaceGeneratorNode.html" target="_self">PySpaceGeneratorNode</a></td><td class="desc">The design space generator with customized methods on the python-side </td></tr>
-<tr id="row_1_4_39_" class="even" 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_1meta__schedule_1_1PyTaskSchedulerNode.html" target="_self">PyTaskSchedulerNode</a></td><td class="desc">The task scheduler with customized methods on the python-side </td></tr>
-<tr id="row_1_4_40_" class="even" 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_1meta__schedule_1_1Runner.html" target="_self">Runner</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1RunnerNode.html" title="The abstract runner interface. ">RunnerNode</a> </td></tr>
-<tr id="row_1_4_41_" class="even" 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_1meta__schedule_1_1RunnerFuture.html" target="_self">RunnerFuture</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" title="A class to asynchronously fetch runner&#39;s output. ">RunnerFutureNode</a> </td></tr>
-<tr id="row_1_4_42_" class="even" 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_1meta__schedule_1_1RunnerFutureNode.html" target="_self">RunnerFutureNode</a></td><td class="desc">A class to asynchronously fetch runner's output </td></tr>
-<tr id="row_1_4_43_" class="even" 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_1meta__schedule_1_1RunnerInput.html" target="_self">RunnerInput</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html" title="Runner&#39;s input containing path of artifact, type of device and argument info. "> [...]
-<tr id="row_1_4_44_" class="even" 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_1meta__schedule_1_1RunnerInputNode.html" target="_self">RunnerInputNode</a></td><td class="desc"><a class="el" href="classtvm_1_1meta__schedule_1_1Runner.html" title="Managed reference to RunnerNode. ">Runner</a>'s input containing path of artifact, type of device and argu [...]
-<tr id="row_1_4_45_" class="even" 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_1meta__schedule_1_1RunnerNode.html" target="_self">RunnerNode</a></td><td class="desc">The abstract runner interface </td></tr>
-<tr id="row_1_4_46_" class="even" 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_1meta__schedule_1_1RunnerResult.html" target="_self">RunnerResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html" title="Runner&#39;s output containing measurement result of MeasureCandidate or error ms [...]
-<tr id="row_1_4_47_" class="even" 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_1meta__schedule_1_1RunnerResultNode.html" target="_self">RunnerResultNode</a></td><td class="desc"><a class="el" href="classtvm_1_1meta__schedule_1_1Runner.html" title="Managed reference to RunnerNode. ">Runner</a>'s output containing measurement result of <a class="el" hr [...]
-<tr id="row_1_4_48_" class="even" 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_1meta__schedule_1_1ScheduleRule.html" target="_self">ScheduleRule</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" title="Rules to modify a block in a schedule. ">ScheduleRuleNode</a> </td></tr>
-<tr id="row_1_4_49_" class="even" 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_1meta__schedule_1_1ScheduleRuleNode.html" target="_self">ScheduleRuleNode</a></td><td class="desc">Rules to modify a block in a schedule </td></tr>
-<tr id="row_1_4_50_" class="even" 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_1meta__schedule_1_1SearchStrategy.html" target="_self">SearchStrategy</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" title="The search strategy for measure candidates generation. ">SearchStrategyNode [...]
-<tr id="row_1_4_51_" class="even" 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_1meta__schedule_1_1SearchStrategyNode.html" target="_self">SearchStrategyNode</a></td><td class="desc">The search strategy for measure candidates generation </td></tr>
-<tr id="row_1_4_52_" class="even" 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_1meta__schedule_1_1SpaceGenerator.html" target="_self">SpaceGenerator</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" title="The abstract class for design space generation. ">SpaceGeneratorNode</a> </ [...]
-<tr id="row_1_4_53_" class="even" 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_1meta__schedule_1_1SpaceGeneratorNode.html" target="_self">SpaceGeneratorNode</a></td><td class="desc">The abstract class for design space generation </td></tr>
-<tr id="row_1_4_54_" class="even" 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_1meta__schedule_1_1TaskScheduler.html" target="_self">TaskScheduler</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" title="The abstract interface of task schedulers. ">TaskSchedulerNode</a> </td></tr>
-<tr id="row_1_4_55_" class="even" 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_1meta__schedule_1_1TaskSchedulerNode.html" target="_self">TaskSchedulerNode</a></td><td class="desc">The abstract interface of task schedulers </td></tr>
-<tr id="row_1_4_56_" class="even" 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_1meta__schedule_1_1TensorInfo.html" target="_self">TensorInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1TensorInfoNode.html" title="The tensor argument information. ">TensorInfoNode</a> </td></tr>
-<tr id="row_1_4_57_" class="even" 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_1meta__schedule_1_1TensorInfoNode.html" target="_self">TensorInfoNode</a></td><td class="desc">The tensor argument information </td></tr>
-<tr id="row_1_4_58_" class="even" 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_1meta__schedule_1_1TuneContext.html" target="_self">TuneContext</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" title="The auto tuning context. ">TuneContextNode</a> </td></tr>
-<tr id="row_1_4_59_" class="even" 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_1meta__schedule_1_1TuneContextNode.html" target="_self">TuneContextNode</a></td><td class="desc">The auto tuning context </td></tr>
-<tr id="row_1_4_60_" class="even" 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_1meta__schedule_1_1TuningRecord.html" target="_self">TuningRecord</a></td><td class="desc">The managed reference of <a class="el" href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" title="The class of tuning records. ">TuningRecordNode</a> </td></tr>
-<tr id="row_1_4_61_" class="even" 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_1meta__schedule_1_1TuningRecordNode.html" target="_self">TuningRecordNode</a></td><td class="desc">The class of tuning records </td></tr>
-<tr id="row_1_4_62_" class="even" 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_1meta__schedule_1_1Workload.html" target="_self">Workload</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" title="A workload, i.e. an IRModule and its structural hash. ">WorkloadNode</a> </td></tr>
-<tr id="row_1_4_63_" class="even" 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_1meta__schedule_1_1WorkloadEqual.html" target="_self">WorkloadEqual</a></td><td class="desc">The equality check for <a class="el" href="classtvm_1_1meta__schedule_1_1Workload.html" title="Managed reference to WorkloadNode. ">Workload</a> </td></tr>
-<tr id="row_1_4_64_" class="even" 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_1meta__schedule_1_1WorkloadHash.html" target="_self">WorkloadHash</a></td><td class="desc">The hash method for <a class="el" href="classtvm_1_1meta__schedule_1_1Workload.html" title="Managed reference to WorkloadNode. ">Workload</a> </td></tr>
-<tr id="row_1_4_65_" class="even" 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_1meta__schedule_1_1WorkloadNode.html" target="_self">WorkloadNode</a></td><td class="desc">A workload, i.e. an <a class="el" href="classtvm_1_1IRModule.html" title="Managed reference class to IRModuleNode. ">IRModule</a> and its structural hash </td></tr>
+<tr id="row_1_4_22_" class="even" 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_1meta__schedule_1_1Mutator.html" target="_self">Mutator</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1MutatorNode.html" title="Mutator is designed to mutate the trace to explore the design space. ">MutatorNode</a> </td></tr>
+<tr id="row_1_4_23_" class="even" 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_1meta__schedule_1_1MutatorNode.html" target="_self">MutatorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1meta__schedule_1_1Mutator.html" title="Managed reference to MutatorNode. ">Mutator</a> is designed to mutate the trace to explore the design space </td></tr>
+<tr id="row_1_4_24_" class="even" 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_1meta__schedule_1_1Postproc.html" target="_self">Postproc</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1PostprocNode.html" title="Rules to apply a postprocessor to a schedule. ">PostprocNode</a> </td></tr>
+<tr id="row_1_4_25_" class="even" 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_1meta__schedule_1_1PostprocNode.html" target="_self">PostprocNode</a></td><td class="desc">Rules to apply a postprocessor to a schedule </td></tr>
+<tr id="row_1_4_26_" class="even" 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_1meta__schedule_1_1PyBuilderNode.html" target="_self">PyBuilderNode</a></td><td class="desc">An abstract builder with customized build method on the python-side </td></tr>
+<tr id="row_1_4_27_" class="even" 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_1meta__schedule_1_1PyCostModelNode.html" target="_self">PyCostModelNode</a></td><td class="desc">The cost model with customized methods on the python-side </td></tr>
+<tr id="row_1_4_28_" class="even" 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_1meta__schedule_1_1PyDatabaseNode.html" target="_self">PyDatabaseNode</a></td><td class="desc">The database with customized methods on the python-side </td></tr>
+<tr id="row_1_4_29_" class="even" 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_1meta__schedule_1_1PyFeatureExtractorNode.html" target="_self">PyFeatureExtractorNode</a></td><td class="desc">The feature extractor with customized methods on the python-side </td></tr>
+<tr id="row_1_4_30_" class="even" 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_1meta__schedule_1_1PyMeasureCallbackNode.html" target="_self">PyMeasureCallbackNode</a></td><td class="desc">The measure callback with customized methods on the python-side </td></tr>
+<tr id="row_1_4_31_" class="even" 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_1meta__schedule_1_1PyMutatorNode.html" target="_self">PyMutatorNode</a></td><td class="desc">The mutator with customized methods on the python-side </td></tr>
+<tr id="row_1_4_32_" class="even" 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_1meta__schedule_1_1PyPostprocNode.html" target="_self">PyPostprocNode</a></td><td class="desc">The postprocessor with customized methods on the python-side </td></tr>
+<tr id="row_1_4_33_" class="even" 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_1meta__schedule_1_1PyRunnerNode.html" target="_self">PyRunnerNode</a></td><td class="desc">An abstract runner with customized build method on the python-side </td></tr>
+<tr id="row_1_4_34_" class="even" 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_1meta__schedule_1_1PyScheduleRuleNode.html" target="_self">PyScheduleRuleNode</a></td><td class="desc">The schedule rule with customized methods on the python-side </td></tr>
+<tr id="row_1_4_35_" class="even" 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_1meta__schedule_1_1PySearchStrategyNode.html" target="_self">PySearchStrategyNode</a></td><td class="desc">The python side customizable class for measure candidate generation </td></tr>
+<tr id="row_1_4_36_" class="even" 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_1meta__schedule_1_1PySpaceGeneratorNode.html" target="_self">PySpaceGeneratorNode</a></td><td class="desc">The design space generator with customized methods on the python-side </td></tr>
+<tr id="row_1_4_37_" class="even" 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_1meta__schedule_1_1PyTaskSchedulerNode.html" target="_self">PyTaskSchedulerNode</a></td><td class="desc">The task scheduler with customized methods on the python-side </td></tr>
+<tr id="row_1_4_38_" class="even" 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_1meta__schedule_1_1Runner.html" target="_self">Runner</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1RunnerNode.html" title="The abstract runner interface. ">RunnerNode</a> </td></tr>
+<tr id="row_1_4_39_" class="even" 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_1meta__schedule_1_1RunnerFuture.html" target="_self">RunnerFuture</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" title="A class to asynchronously fetch runner&#39;s output. ">RunnerFutureNode</a> </td></tr>
+<tr id="row_1_4_40_" class="even" 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_1meta__schedule_1_1RunnerFutureNode.html" target="_self">RunnerFutureNode</a></td><td class="desc">A class to asynchronously fetch runner's output </td></tr>
+<tr id="row_1_4_41_" class="even" 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_1meta__schedule_1_1RunnerInput.html" target="_self">RunnerInput</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html" title="Runner&#39;s input containing path of artifact, type of device and argument info. "> [...]
+<tr id="row_1_4_42_" class="even" 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_1meta__schedule_1_1RunnerInputNode.html" target="_self">RunnerInputNode</a></td><td class="desc"><a class="el" href="classtvm_1_1meta__schedule_1_1Runner.html" title="Managed reference to RunnerNode. ">Runner</a>'s input containing path of artifact, type of device and argu [...]
+<tr id="row_1_4_43_" class="even" 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_1meta__schedule_1_1RunnerNode.html" target="_self">RunnerNode</a></td><td class="desc">The abstract runner interface </td></tr>
+<tr id="row_1_4_44_" class="even" 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_1meta__schedule_1_1RunnerResult.html" target="_self">RunnerResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html" title="Runner&#39;s output containing measurement result of MeasureCandidate or error ms [...]
+<tr id="row_1_4_45_" class="even" 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_1meta__schedule_1_1RunnerResultNode.html" target="_self">RunnerResultNode</a></td><td class="desc"><a class="el" href="classtvm_1_1meta__schedule_1_1Runner.html" title="Managed reference to RunnerNode. ">Runner</a>'s output containing measurement result of <a class="el" hr [...]
+<tr id="row_1_4_46_" class="even" 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_1meta__schedule_1_1ScheduleRule.html" target="_self">ScheduleRule</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" title="Rules to modify a block in a schedule. ">ScheduleRuleNode</a> </td></tr>
+<tr id="row_1_4_47_" class="even" 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_1meta__schedule_1_1ScheduleRuleNode.html" target="_self">ScheduleRuleNode</a></td><td class="desc">Rules to modify a block in a schedule </td></tr>
+<tr id="row_1_4_48_" class="even" 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_1meta__schedule_1_1SearchStrategy.html" target="_self">SearchStrategy</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" title="The search strategy for measure candidates generation. ">SearchStrategyNode [...]
+<tr id="row_1_4_49_" class="even" 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_1meta__schedule_1_1SearchStrategyNode.html" target="_self">SearchStrategyNode</a></td><td class="desc">The search strategy for measure candidates generation </td></tr>
+<tr id="row_1_4_50_" class="even" 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_1meta__schedule_1_1SpaceGenerator.html" target="_self">SpaceGenerator</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" title="The abstract class for design space generation. ">SpaceGeneratorNode</a> </ [...]
+<tr id="row_1_4_51_" class="even" 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_1meta__schedule_1_1SpaceGeneratorNode.html" target="_self">SpaceGeneratorNode</a></td><td class="desc">The abstract class for design space generation </td></tr>
+<tr id="row_1_4_52_" class="even" 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_1meta__schedule_1_1TaskScheduler.html" target="_self">TaskScheduler</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" title="The abstract interface of task schedulers. ">TaskSchedulerNode</a> </td></tr>
+<tr id="row_1_4_53_" class="even" 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_1meta__schedule_1_1TaskSchedulerNode.html" target="_self">TaskSchedulerNode</a></td><td class="desc">The abstract interface of task schedulers </td></tr>
+<tr id="row_1_4_54_" class="even" 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_1meta__schedule_1_1TensorInfo.html" target="_self">TensorInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1TensorInfoNode.html" title="The tensor argument information. ">TensorInfoNode</a> </td></tr>
+<tr id="row_1_4_55_" class="even" 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_1meta__schedule_1_1TensorInfoNode.html" target="_self">TensorInfoNode</a></td><td class="desc">The tensor argument information </td></tr>
+<tr id="row_1_4_56_" class="even" 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_1meta__schedule_1_1TuneContext.html" target="_self">TuneContext</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" title="The auto tuning context. ">TuneContextNode</a> </td></tr>
+<tr id="row_1_4_57_" class="even" 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_1meta__schedule_1_1TuneContextNode.html" target="_self">TuneContextNode</a></td><td class="desc">The auto tuning context </td></tr>
+<tr id="row_1_4_58_" class="even" 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_1meta__schedule_1_1TuningRecord.html" target="_self">TuningRecord</a></td><td class="desc">The managed reference of <a class="el" href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" title="The class of tuning records. ">TuningRecordNode</a> </td></tr>
+<tr id="row_1_4_59_" class="even" 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_1meta__schedule_1_1TuningRecordNode.html" target="_self">TuningRecordNode</a></td><td class="desc">The class of tuning records </td></tr>
+<tr id="row_1_4_60_" class="even" 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_1meta__schedule_1_1Workload.html" target="_self">Workload</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" title="A workload, i.e. an IRModule and its structural hash. ">WorkloadNode</a> </td></tr>
+<tr id="row_1_4_61_" class="even" 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_1meta__schedule_1_1WorkloadEqual.html" target="_self">WorkloadEqual</a></td><td class="desc">The equality check for <a class="el" href="classtvm_1_1meta__schedule_1_1Workload.html" title="Managed reference to WorkloadNode. ">Workload</a> </td></tr>
+<tr id="row_1_4_62_" class="even" 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_1meta__schedule_1_1WorkloadHash.html" target="_self">WorkloadHash</a></td><td class="desc">The hash method for <a class="el" href="classtvm_1_1meta__schedule_1_1Workload.html" title="Managed reference to WorkloadNode. ">Workload</a> </td></tr>
+<tr id="row_1_4_63_" class="even" 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_1meta__schedule_1_1WorkloadNode.html" target="_self">WorkloadNode</a></td><td class="desc">A workload, i.e. an <a class="el" href="classtvm_1_1IRModule.html" title="Managed reference class to IRModuleNode. ">IRModule</a> and its structural hash </td></tr>
 <tr id="row_1_5_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_5_" class="arrow" onclick="toggleFolder('1_5_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1parser.html" target="_self">parser</a></td><td class="desc"></td></tr>
 <tr id="row_1_5_0_" class="even" 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_1parser_1_1Source.html" target="_self">Source</a></td><td class="desc"></td></tr>
 <tr id="row_1_5_1_" class="even" 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_1parser_1_1SourceMap.html" target="_self">SourceMap</a></td><td class="desc"></td></tr>
diff --git a/docs/reference/api/doxygen/integration_8h.html b/docs/reference/api/doxygen/apply__history__best_8h.html
similarity index 65%
rename from docs/reference/api/doxygen/integration_8h.html
rename to docs/reference/api/doxygen/apply__history__best_8h.html
index a9a1e4302..89b4ab76c 100644
--- a/docs/reference/api/doxygen/integration_8h.html
+++ b/docs/reference/api/doxygen/apply__history__best_8h.html
@@ -5,7 +5,7 @@
 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 <meta name="generator" content="Doxygen 1.8.13"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: include/tvm/meta_schedule/integration.h File Reference</title>
+<title>tvm: include/tvm/meta_schedule/apply_history_best.h File 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>
@@ -66,36 +66,22 @@ $(function() {
 <a href="#nested-classes">Classes</a> &#124;
 <a href="#namespaces">Namespaces</a>  </div>
   <div class="headertitle">
-<div class="title">integration.h File Reference</div>  </div>
+<div class="title">apply_history_best.h File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
 <div class="textblock"><code>#include &lt;<a class="el" href="database_8h_source.html">tvm/meta_schedule/database.h</a>&gt;</code><br />
-<code>#include &lt;<a class="el" href="with_8h_source.html">tvm/support/with.h</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="target_8h_source.html">tvm/target/target.h</a>&gt;</code><br />
-<code>#include &lt;unordered_set&gt;</code><br />
 </div><div class="textblock"><div class="dynheader">
-Include dependency graph for integration.h:</div>
+Include dependency graph for apply_history_best.h:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="integration_8h__incl.svg" width="4436" height="1470"><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="apply__history__best_8h__incl.svg" width="4482" height="1470"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
-<p><a href="integration_8h_source.html">Go to the source code of this file.</a></p>
+<p><a href="apply__history__best_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html">tvm::meta_schedule::ExtractedTaskNode</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A tuning task extracted from the high-level IR.  <a href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTask.html">tvm::meta_schedule::ExtractedTask</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html" title="A tuning task extracted from the high-level IR. ">ExtractedTaskNode</a>.  <a href="classtvm_1_1meta__schedule_1_1ExtractedTask.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContextNode.html">tvm::meta_schedule::MetaScheduleContextNode</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A context manager interface for the integration.  <a href="classtvm_1_1meta__schedule_1_1MetaScheduleContextNode.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContextNode.html" title="A context manager interface for the integration. ">MetaScheduleContextNode</a>.  <a href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html">tvm::meta_schedule::ApplyHistoryBestNode</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An integration context that allows application of historically best records from a database.  <a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
diff --git a/docs/reference/api/doxygen/apply__history__best_8h__incl.svg b/docs/reference/api/doxygen/apply__history__best_8h__incl.svg
new file mode 100644
index 000000000..6f7588799
--- /dev/null
+++ b/docs/reference/api/doxygen/apply__history__best_8h__incl.svg
@@ -0,0 +1,1574 @@
+<?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.40.1 (20161225.0304)
+ -->
+<!-- Title: include/tvm/meta_schedule/apply_history_best.h Pages: 1 -->
+<svg width="3361pt" height="1102pt"
+ viewBox="0.00 0.00 3361.00 1102.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 1098)">
+<title>include/tvm/meta_schedule/apply_history_best.h</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1098 3357,-1098 3357,4 -4,4"/>
+<!-- Node0 -->
+<g id="node1" class="node">
+<title>Node0</title>
+<polygon fill="#bfbfbf" stroke="#000000" points="1477,-1063.5 1477,-1093.5 1629,-1093.5 1629,-1063.5 1477,-1063.5"/>
+<text text-anchor="start" x="1485" y="-1081.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1553" y="-1070.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
+</g>
+<!-- Node1 -->
+<g id="node2" class="node">
+<title>Node1</title>
+<g id="a_node2"><a xlink:href="database_8h.html" target="_top" xlink:title="tvm/meta_schedule/database.h">
+<polygon fill="#ffffff" stroke="#000000" points="1412,-1007.5 1412,-1026.5 1582,-1026.5 1582,-1007.5 1412,-1007.5"/>
+<text text-anchor="middle" x="1497" y="-1014.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/meta_schedule/database.h</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node1 -->
+<g id="edge1" class="edge">
+<title>Node0&#45;&gt;Node1</title>
+<path fill="none" stroke="#191970" d="M1539.1573,-1063.2977C1531.141,-1054.4941 1521.0238,-1043.3833 1512.71,-1034.2529"/>
+<polygon fill="#191970" stroke="#191970" points="1515.2869,-1031.8845 1505.9663,-1026.8469 1510.1112,-1036.5974 1515.2869,-1031.8845"/>
+</g>
+<!-- Node57 -->
+<g id="node39" class="node">
+<title>Node57</title>
+<g id="a_node39"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
+<polygon fill="#ffffff" stroke="#000000" points="1589,-946 1589,-965 1699,-965 1699,-946 1589,-946"/>
+<text text-anchor="middle" x="1644" y="-953" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/target/target.h</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node57 -->
+<g id="edge191" class="edge">
+<title>Node0&#45;&gt;Node57</title>
+<path fill="none" stroke="#191970" d="M1564.1584,-1063.4178C1580.9919,-1040.6648 1612.8187,-997.6461 1630.7872,-973.3591"/>
+<polygon fill="#191970" stroke="#191970" points="1633.8012,-975.17 1636.9351,-965.0493 1628.1738,-971.0066 1633.8012,-975.17"/>
+</g>
+<!-- Node2 -->
+<g id="node3" class="node">
+<title>Node2</title>
+<g id="a_node3"><a xlink:href="arg__info_8h.html" target="_top" xlink:title="tvm/meta_schedule/arg\l_info.h">
+<polygon fill="#ffffff" stroke="#000000" points="1418,-940.5 1418,-970.5 1550,-970.5 1550,-940.5 1418,-940.5"/>
+<text text-anchor="start" x="1426" y="-958.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/meta_schedule/arg</text>
+<text text-anchor="middle" x="1484" y="-947.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_info.h</text>
+</a>
+</g>
+</g>
+<!-- Node1&#45;&gt;Node2 -->
+<g id="edge2" class="edge">
+<title>Node1&#45;&gt;Node2</title>
+<path fill="none" stroke="#191970" d="M1494.9688,-1007.3906C1493.4374,-1000.1463 1491.2648,-989.8679 1489.2566,-980.3676"/>
+<polygon fill="#191970" stroke="#191970" points="1492.6727,-979.6045 1487.1802,-970.5446 1485.824,-981.0523 1492.6727,-979.6045"/>
+</g>
+<!-- Node1&#45;&gt;Node57 -->
+<g id="edge136" class="edge">
+<title>Node1&#45;&gt;Node57</title>
+<path fill="none" stroke="#191970" d="M1519.9688,-1007.3906C1544.6724,-997.0554 1584.137,-980.5447 1611.9027,-968.9284"/>
+<polygon fill="#191970" stroke="#191970" points="1613.3182,-972.1303 1621.1925,-965.0419 1610.6165,-965.6727 1613.3182,-972.1303"/>
+</g>
+<!-- Node73 -->
+<g id="node49" class="node">
+<title>Node73</title>
+<g id="a_node49"><a xlink:href="trace_8h.html" target="_top" xlink:title="tvm/tir/schedule/trace.h">
+<polygon fill="#ffffff" stroke="#000000" points="66.5,-660.5 66.5,-679.5 199.5,-679.5 199.5,-660.5 66.5,-660.5"/>
+<text text-anchor="middle" x="133" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/tir/schedule/trace.h</text>
+</a>
+</g>
+</g>
+<!-- Node1&#45;&gt;Node73 -->
+<g id="edge187" class="edge">
+<title>Node1&#45;&gt;Node73</title>
+<path fill="none" stroke="#191970" d="M1411.9543,-1014.4997C1094.9195,-1004.6274 0,-965.3659 0,-894 0,-894 0,-894 0,-782 0,-732.0478 55.5705,-699.8768 94.8708,-683.371"/>
+<polygon fill="#191970" stroke="#191970" points="96.4966,-686.4897 104.4682,-679.5108 93.8844,-679.9953 96.4966,-686.4897"/>
+</g>
+<!-- Node3 -->
+<g id="node4" class="node">
+<title>Node3</title>
+<g id="a_node4"><a xlink:href="node_8h.html" target="_top" xlink:title="Definitions and helper macros for IR/AST nodes. ">
+<polygon fill="#ffffff" stroke="#000000" points="2128.5,-492.5 2128.5,-511.5 2227.5,-511.5 2227.5,-492.5 2128.5,-492.5"/>
+<text text-anchor="middle" x="2178" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/node/node.h</text>
+</a>
+</g>
+</g>
+<!-- Node2&#45;&gt;Node3 -->
+<g id="edge3" class="edge">
+<title>Node2&#45;&gt;Node3</title>
+<path fill="none" stroke="#191970" d="M1550.2515,-943.994C1560.2012,-942.501 1570.3561,-941.1085 1580,-940 1727.7126,-923.0214 2813.5422,-956.6903 2915,-848 2955.7627,-804.3315 3014.8481,-837.2076 2844,-716 2696.6322,-611.4504 2615.0595,-692.8407 2448,-624 2418.2932,-611.7586 2354.227,-561.3465 2325,-548 2293.6664,-533.6915 2256.6473,-522.1359 2227.5974,-514.1855"/>
+<polygon fill="#191970" stroke="#191970" points="2228.2421,-510.7348 2217.6768,-511.5251 2226.429,-517.4959 2228.2421,-510.7348"/>
+</g>
+<!-- Node30 -->
+<g id="node23" class="node">
+<title>Node30</title>
+<g id="a_node23"><a xlink:href="shape__tuple_8h.html" target="_top" xlink:title="Runtime ShapeTuple container types. ">
+<polygon fill="#ffffff" stroke="#000000" points="1178,-235.5 1178,-265.5 1304,-265.5 1304,-235.5 1178,-235.5"/>
+<text text-anchor="start" x="1186" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/container</text>
+<text text-anchor="middle" x="1241" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/shape_tuple.h</text>
+</a>
+</g>
+</g>
+<!-- Node2&#45;&gt;Node30 -->
+<g id="edge78" class="edge">
+<title>Node2&#45;&gt;Node30</title>
+<path fill="none" stroke="#191970" d="M1417.831,-954.9444C1267.0048,-952.9851 886.3733,-944.1183 571,-904 433.4157,-886.498 266,-976.693 266,-838 266,-838 266,-838 266,-782 266,-618.8882 567.324,-440.5879 925,-302 1004.4552,-271.2137 1102.0654,-258.8312 1167.5956,-253.8508"/>
+<polygon fill="#191970" stroke="#191970" points="1168.107,-257.3231 1177.8296,-253.1134 1167.6039,-250.3412 1168.107,-257.3231"/>
+</g>
+<!-- Node46 -->
+<g id="node29" class="node">
+<title>Node46</title>
+<g id="a_node29"><a xlink:href="tir_2function_8h.html" target="_top" xlink:title="TIR Function. ">
+<polygon fill="#ffffff" stroke="#000000" points="1397.5,-884.5 1397.5,-903.5 1498.5,-903.5 1498.5,-884.5 1397.5,-884.5"/>
+<text text-anchor="middle" x="1448" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/tir/function.h</text>
+</a>
+</g>
+</g>
+<!-- Node2&#45;&gt;Node46 -->
+<g id="edge79" class="edge">
+<title>Node2&#45;&gt;Node46</title>
+<path fill="none" stroke="#191970" d="M1475.1011,-940.2977C1470.2081,-931.9388 1464.0974,-921.4997 1458.9176,-912.6509"/>
+<polygon fill="#191970" stroke="#191970" points="1461.8365,-910.7089 1453.7641,-903.8469 1455.7953,-914.2452 1461.8365,-910.7089"/>
+</g>
+<!-- Node4 -->
+<g id="node5" class="node">
+<title>Node4</title>
+<g id="a_node5"><a xlink:href="reflection_8h.html" target="_top" xlink:title="Reflection and serialization of compiler IR/AST nodes. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1990.5,-436.5 1990.5,-455.5 2111.5,-455.5 2111.5,-436.5 1990.5,-436.5"/>
+<text text-anchor="middle" x="2051" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/node/reflection.h</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node4 -->
+<g id="edge4" class="edge">
+<title>Node3&#45;&gt;Node4</title>
+<path fill="none" stroke="#191970" d="M2156.1679,-492.3733C2135.6897,-483.3435 2104.8601,-469.7494 2081.8681,-459.6111"/>
+<polygon fill="#191970" stroke="#191970" points="2083.1093,-456.3333 2072.5472,-455.5011 2080.285,-462.7383 2083.1093,-456.3333"/>
+</g>
+<!-- Node5 -->
+<g id="node6" class="node">
+<title>Node5</title>
+<g id="a_node6"><a xlink:href="structural__equal_8h.html" target="_top" xlink:title="Structural equality comparison. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="2337.5,-369.5 2337.5,-399.5 2450.5,-399.5 2450.5,-369.5 2337.5,-369.5"/>
+<text text-anchor="start" x="2345.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/node/structural</text>
+<text text-anchor="middle" x="2394" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_equal.h</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node5 -->
+<g id="edge69" class="edge">
+<title>Node3&#45;&gt;Node5</title>
+<path fill="none" stroke="#191970" d="M2227.6688,-497.4816C2282.0293,-491.4541 2364.2407,-478.796 2385,-456 2396.1168,-443.7925 2398.1638,-425.1704 2397.5378,-409.9912"/>
+<polygon fill="#191970" stroke="#191970" points="2400.9991,-409.3717 2396.7011,-399.6878 2394.0221,-409.9384 2400.9991,-409.3717"/>
+</g>
+<!-- Node16 -->
+<g id="node10" class="node">
+<title>Node16</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="488.5,-6 488.5,-25 533.5,-25 533.5,-6 488.5,-6"/>
+<text text-anchor="middle" x="511" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">utility</text>
+</g>
+<!-- Node3&#45;&gt;Node16 -->
+<g id="edge76" class="edge">
+<title>Node3&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M2128.281,-500.2552C1970.6528,-494.13 1468.3177,-470.0497 1059,-400 819.9388,-359.0876 748.1659,-371.961 530,-266 479.5431,-241.4936 430,-245.0934 430,-189 430,-189 430,-189 430,-133 430,-101.7875 436.5721,-92.8939 454,-67 463.3479,-53.1111 477.2339,-40.46 488.9596,-31.1725"/>
+<polygon fill="#191970" stroke="#191970" points="491.1846,-33.8774 497.0202,-25.0345 486.9438,-28.3082 491.1846,-33.8774"/>
+</g>
+<!-- Node18 -->
+<g id="node11" class="node">
+<title>Node18</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="2115.5,-179.5 2115.5,-198.5 2162.5,-198.5 2162.5,-179.5 2115.5,-179.5"/>
+<text text-anchor="middle" x="2139" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">vector</text>
+</g>
+<!-- Node3&#45;&gt;Node18 -->
+<g id="edge77" class="edge">
+<title>Node3&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M2174.4118,-492.2755C2171.1641,-483.0638 2166.5157,-468.7773 2164,-456 2146.0463,-364.8123 2140.8911,-253.4867 2139.4912,-208.8763"/>
+<polygon fill="#191970" stroke="#191970" points="2142.9876,-208.6969 2139.205,-198.8003 2135.9904,-208.8957 2142.9876,-208.6969"/>
+</g>
+<!-- Node23 -->
+<g id="node15" class="node">
+<title>Node23</title>
+<g id="a_node15"><a xlink:href="runtime_2memory_8h.html" target="_top" xlink:title="Runtime memory management. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="992.5,-123.5 992.5,-142.5 1121.5,-142.5 1121.5,-123.5 992.5,-123.5"/>
+<text text-anchor="middle" x="1057" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/memory.h</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node23 -->
+<g id="edge72" class="edge">
+<title>Node3&#45;&gt;Node23</title>
+<path fill="none" stroke="#191970" d="M2128.5806,-492.4537C2081.9591,-483.368 2010.1458,-469.1667 1948,-456 1569.7298,-375.8568 1399.9523,-508.7736 1099,-266 1064.7258,-238.3515 1057.9522,-182.8667 1056.9035,-153.0476"/>
+<polygon fill="#191970" stroke="#191970" points="1060.3969,-152.5975 1056.7376,-142.6547 1053.3978,-152.7093 1060.3969,-152.5975"/>
+</g>
+<!-- Node8 -->
+<g id="node16" class="node">
+<title>Node8</title>
+<g id="a_node16"><a xlink:href="object_8h.html" target="_top" xlink:title="A managed object in the TVM runtime. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1874.5,-67.5 1874.5,-86.5 1993.5,-86.5 1993.5,-67.5 1874.5,-67.5"/>
+<text text-anchor="middle" x="1934" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/object.h</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node8 -->
+<g id="edge73" class="edge">
+<title>Node3&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M2128.0978,-497.2618C2076.1551,-491.1762 1999.9097,-478.5996 1982,-456 1935.675,-397.544 2062.9312,-186.6197 2024,-123 2014.6591,-107.7354 1998.4772,-97.3326 1982.3874,-90.3404"/>
+<polygon fill="#191970" stroke="#191970" points="1983.5629,-87.0414 1972.977,-86.6067 1980.9813,-93.548 1983.5629,-87.0414"/>
+</g>
+<!-- Node9 -->
+<g id="node17" class="node">
+<title>Node9</title>
+<g id="a_node17"><a xlink:href="c__runtime__api_8h.html" target="_top" xlink:title="tvm/runtime/c_runtime\l_api.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="1733.5,-.5 1733.5,-30.5 1862.5,-30.5 1862.5,-.5 1733.5,-.5"/>
+<text text-anchor="start" x="1741.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/c_runtime</text>
+<text text-anchor="middle" x="1798" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_api.h</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node9 -->
+<g id="edge71" class="edge">
+<title>Node3&#45;&gt;Node9</title>
+<path fill="none" stroke="#191970" d="M2179.0778,-492.2531C2181.6038,-470.1738 2188.4247,-414.7076 2198,-369 2209.1856,-315.6059 2230,-305.0532 2230,-250.5 2230,-250.5 2230,-250.5 2230,-133 2230,-114.696 1996.0322,-59.6958 1872.4642,-31.9244"/>
+<polygon fill="#191970" stroke="#191970" points="1873.1983,-28.5022 1862.6748,-29.7293 1871.6667,-35.3325 1873.1983,-28.5022"/>
+</g>
+<!-- Node14 -->
+<g id="node18" class="node">
+<title>Node14</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="2970,-6 2970,-25 3014,-25 3014,-6 2970,-6"/>
+<text text-anchor="middle" x="2992" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">string</text>
+</g>
+<!-- Node3&#45;&gt;Node14 -->
+<g id="edge74" class="edge">
+<title>Node3&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M2227.5097,-497.6405C2372.0014,-483.566 2783,-433.3498 2783,-317.5 2783,-317.5 2783,-317.5 2783,-133 2783,-101.7875 2784.0934,-88.2017 2807,-67 2829.2352,-46.4197 2913.1497,-29.103 2959.9539,-20.7896"/>
+<polygon fill="#191970" stroke="#191970" points="2960.6416,-24.2226 2969.8937,-19.0604 2959.4418,-17.3262 2960.6416,-24.2226"/>
+</g>
+<!-- Node15 -->
+<g id="node19" class="node">
+<title>Node15</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="1012.5,-6 1012.5,-25 1081.5,-25 1081.5,-6 1012.5,-6"/>
+<text text-anchor="middle" x="1047" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">type_traits</text>
+</g>
+<!-- Node3&#45;&gt;Node15 -->
+<g id="edge75" class="edge">
+<title>Node3&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M2128.434,-498.7266C1912.2321,-483.9612 1059.0202,-420.4585 981,-333 902.2913,-244.7697 926.4052,-169.6952 985,-67 993.5079,-52.0889 1008.101,-39.6415 1020.9927,-30.7212"/>
+<polygon fill="#191970" stroke="#191970" points="1023.0985,-33.5261 1029.5502,-25.1222 1019.2659,-27.6685 1023.0985,-33.5261"/>
+</g>
+<!-- Node27 -->
+<g id="node21" class="node">
+<title>Node27</title>
+<g id="a_node21"><a xlink:href="structural__hash_8h.html" target="_top" xlink:title="tvm/node/structural\l_hash.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="2206.5,-369.5 2206.5,-399.5 2319.5,-399.5 2319.5,-369.5 2206.5,-369.5"/>
+<text text-anchor="start" x="2214.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/node/structural</text>
+<text text-anchor="middle" x="2263" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_hash.h</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node27 -->
+<g id="edge70" class="edge">
+<title>Node3&#45;&gt;Node27</title>
+<path fill="none" stroke="#191970" d="M2184.9559,-492.3845C2198.2075,-474.0661 2227.4139,-433.6925 2246.0989,-407.8633"/>
+<polygon fill="#191970" stroke="#191970" points="2248.9685,-409.868 2251.9939,-399.7143 2243.2969,-405.7651 2248.9685,-409.868"/>
+</g>
+<!-- Node44 -->
+<g id="node28" class="node">
+<title>Node44</title>
+<g id="a_node28"><a xlink:href="repr__printer_8h.html" target="_top" xlink:title="Printer class to print repr string of each AST/IR nodes. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="2244.5,-436.5 2244.5,-455.5 2375.5,-455.5 2375.5,-436.5 2244.5,-436.5"/>
+<text text-anchor="middle" x="2310" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/node/repr_printer.h</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node44 -->
+<g id="edge68" class="edge">
+<title>Node3&#45;&gt;Node44</title>
+<path fill="none" stroke="#191970" d="M2200.6916,-492.3733C2222.0711,-483.3032 2254.3057,-469.6279 2278.2362,-459.4755"/>
+<polygon fill="#191970" stroke="#191970" points="2279.7656,-462.6287 2287.6045,-455.5011 2277.0317,-456.1846 2279.7656,-462.6287"/>
+</g>
+<!-- Node4&#45;&gt;Node5 -->
+<g id="edge5" class="edge">
+<title>Node4&#45;&gt;Node5</title>
+<path fill="none" stroke="#191970" d="M2111.6897,-437.2114C2165.8426,-429.0852 2247.5144,-416.1336 2327.1296,-400.3068"/>
+<polygon fill="#191970" stroke="#191970" points="2328.2151,-403.6589 2337.3314,-398.2604 2326.8383,-396.7956 2328.2151,-403.6589"/>
+</g>
+<!-- Node4&#45;&gt;Node18 -->
+<g id="edge67" class="edge">
+<title>Node4&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M2054.6165,-436.3637C2061.8942,-416.9007 2078.7446,-371.4762 2092,-333 2107.2752,-288.6609 2124.0756,-236.2194 2132.8641,-208.479"/>
+<polygon fill="#191970" stroke="#191970" points="2136.2423,-209.4043 2135.9182,-198.8144 2129.5676,-207.295 2136.2423,-209.4043"/>
+</g>
+<!-- Node4&#45;&gt;Node23 -->
+<g id="edge62" class="edge">
+<title>Node4&#45;&gt;Node23</title>
+<path fill="none" stroke="#191970" d="M1990.3473,-438.799C1923.3986,-430.2809 1820.2952,-415.3138 1784,-400 1781.8653,-399.0993 1651.1773,-302.7923 1649,-302 1541.6085,-262.9222 1233.281,-325.97 1136,-266 1093.8526,-240.0177 1071.4393,-182.4813 1062.1955,-152.3133"/>
+<polygon fill="#191970" stroke="#191970" points="1065.5118,-151.1818 1059.3736,-142.5462 1058.7869,-153.1248 1065.5118,-151.1818"/>
+</g>
+<!-- Node4&#45;&gt;Node8 -->
+<g id="edge64" class="edge">
+<title>Node4&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M2052.8607,-436.1918C2061.8133,-387.8269 2098.5526,-174.9775 2062,-123 2052.746,-109.8409 2017.0827,-97.6585 1985.7439,-89.1408"/>
+<polygon fill="#191970" stroke="#191970" points="1986.3218,-85.6736 1975.7598,-86.5075 1984.5365,-92.4422 1986.3218,-85.6736"/>
+</g>
+<!-- Node4&#45;&gt;Node9 -->
+<g id="edge60" class="edge">
+<title>Node4&#45;&gt;Node9</title>
+<path fill="none" stroke="#191970" d="M2016.1809,-436.4932C1984.7954,-427.7126 1937.4949,-413.9541 1897,-400 1819.8278,-373.4073 1797.451,-372.4648 1726,-333 1705.6912,-321.7828 1705.7716,-310.0168 1684,-302 1630.1714,-282.1792 1208.1212,-307.9513 1169,-266 1002.0532,-86.9758 1522.9798,-33.4479 1723.1004,-19.7085"/>
+<polygon fill="#191970" stroke="#191970" points="1723.4996,-23.1897 1733.2426,-19.0275 1723.0306,-16.2054 1723.4996,-23.1897"/>
+</g>
+<!-- Node4&#45;&gt;Node14 -->
+<g id="edge65" class="edge">
+<title>Node4&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M2111.5857,-443.6127C2209.8246,-439.0076 2399.0301,-426.8778 2460,-400 2552.3724,-359.2789 2631,-351.4498 2631,-250.5 2631,-250.5 2631,-250.5 2631,-133 2631,-64.1229 2871.6224,-29.3924 2959.9686,-18.962"/>
+<polygon fill="#191970" stroke="#191970" points="2960.428,-22.4323 2969.9613,-17.8098 2959.6261,-15.4784 2960.428,-22.4323"/>
+</g>
+<!-- Node4&#45;&gt;Node15 -->
+<g id="edge66" class="edge">
+<title>Node4&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M1990.4085,-439.637C1805.9879,-419.4864 1254.6267,-353.225 1099,-266 1033.4509,-229.2613 1010.7364,-212.8363 983,-143 966.6663,-101.8741 1004.3041,-56.0504 1028.535,-32.1175"/>
+<polygon fill="#191970" stroke="#191970" points="1031.0214,-34.5828 1035.8456,-25.15 1026.192,-29.5155 1031.0214,-34.5828"/>
+</g>
+<!-- Node26 -->
+<g id="node20" class="node">
+<title>Node26</title>
+<g id="a_node20"><a xlink:href="data__type_8h.html" target="_top" xlink:title="tvm/runtime/data_type.h">
+<polygon fill="#ffffff" stroke="#000000" points="2334,-241 2334,-260 2472,-260 2472,-241 2334,-241"/>
+<text text-anchor="middle" x="2403" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/data_type.h</text>
+</a>
+</g>
+</g>
+<!-- Node4&#45;&gt;Node26 -->
+<g id="edge61" class="edge">
+<title>Node4&#45;&gt;Node26</title>
+<path fill="none" stroke="#191970" d="M2068.4557,-436.3051C2125.8246,-404.4426 2308.7749,-302.8324 2377.0118,-264.9338"/>
+<polygon fill="#191970" stroke="#191970" points="2378.8112,-267.938 2385.854,-260.0229 2375.4124,-261.8185 2378.8112,-267.938"/>
+</g>
+<!-- Node4&#45;&gt;Node27 -->
+<g id="edge32" class="edge">
+<title>Node4&#45;&gt;Node27</title>
+<path fill="none" stroke="#191970" d="M2084.125,-436.3906C2115.3404,-427.3352 2162.898,-413.539 2201.131,-402.4479"/>
+<polygon fill="#191970" stroke="#191970" points="2202.5101,-405.6922 2211.139,-399.5446 2200.5598,-398.9693 2202.5101,-405.6922"/>
+</g>
+<!-- Node28 -->
+<g id="node22" class="node">
+<title>Node28</title>
+<g id="a_node22"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1734.5,-308 1734.5,-327 1859.5,-327 1859.5,-308 1734.5,-308"/>
+<text text-anchor="middle" x="1797" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/ndarray.h</text>
+</a>
+</g>
+</g>
+<!-- Node4&#45;&gt;Node28 -->
+<g id="edge63" class="edge">
+<title>Node4&#45;&gt;Node28</title>
+<path fill="none" stroke="#191970" d="M2031.9087,-436.3416C1987.4863,-413.8681 1877.0276,-357.9864 1824.9766,-331.6535"/>
+<polygon fill="#191970" stroke="#191970" points="1826.4694,-328.4864 1815.9663,-327.0952 1823.3094,-334.7326 1826.4694,-328.4864"/>
+</g>
+<!-- Node19 -->
+<g id="node7" class="node">
+<title>Node19</title>
+<g id="a_node7"><a xlink:href="array_8h.html" target="_top" xlink:title="Runtime Array container types. ">
+<polygon fill="#ffffff" stroke="#000000" points="1514,-302.5 1514,-332.5 1640,-332.5 1640,-302.5 1514,-302.5"/>
+<text text-anchor="start" x="1522" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/container</text>
+<text text-anchor="middle" x="1577" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/array.h</text>
+</a>
+</g>
+</g>
+<!-- Node5&#45;&gt;Node19 -->
+<g id="edge6" class="edge">
+<title>Node5&#45;&gt;Node19</title>
+<path fill="none" stroke="#191970" d="M2337.393,-370.387C2334.5635,-369.8747 2331.7543,-369.4074 2329,-369 2063.4129,-329.713 1993.5829,-354.8948 1726,-333 1701.2778,-330.9771 1674.2954,-328.3101 1650.1683,-325.7597"/>
+<polygon fill="#191970" stroke="#191970" points="1650.3329,-322.2575 1640.0178,-324.6761 1649.5897,-329.218 1650.3329,-322.2575"/>
+</g>
+<!-- Node5&#45;&gt;Node14 -->
+<g id="edge31" class="edge">
+<title>Node5&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M2438.4201,-369.3685C2486.0752,-349.9817 2555,-311.4131 2555,-250.5 2555,-250.5 2555,-250.5 2555,-133 2555,-92.7538 2581.2381,-85.4619 2617,-67 2676.6042,-36.2296 2879.6195,-21.7846 2959.4145,-17.1954"/>
+<polygon fill="#191970" stroke="#191970" points="2960.0397,-20.666 2969.8284,-16.6126 2959.6484,-13.677 2960.0397,-20.666"/>
+</g>
+<!-- Node5&#45;&gt;Node26 -->
+<g id="edge26" class="edge">
+<title>Node5&#45;&gt;Node26</title>
+<path fill="none" stroke="#191970" d="M2395.0149,-369.389C2396.648,-345.0735 2399.8591,-297.2644 2401.6722,-270.2698"/>
+<polygon fill="#191970" stroke="#191970" points="2405.1769,-270.3163 2402.3549,-260.1042 2398.1926,-269.8471 2405.1769,-270.3163"/>
+</g>
+<!-- Node20 -->
+<g id="node8" class="node">
+<title>Node20</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="1552,-123.5 1552,-142.5 1616,-142.5 1616,-123.5 1552,-123.5"/>
+<text text-anchor="middle" x="1584" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">algorithm</text>
+</g>
+<!-- Node19&#45;&gt;Node20 -->
+<g id="edge7" class="edge">
+<title>Node19&#45;&gt;Node20</title>
+<path fill="none" stroke="#191970" d="M1596.0377,-302.4331C1634.1817,-272.149 1716.631,-206.1673 1720,-199 1723.7814,-190.9555 1725.1815,-186.2225 1720,-179 1708.8257,-163.4243 1661.9814,-149.959 1626.3655,-141.6912"/>
+<polygon fill="#191970" stroke="#191970" points="1626.7165,-138.1826 1616.1916,-139.3977 1625.1771,-145.0113 1626.7165,-138.1826"/>
+</g>
+<!-- Node21 -->
+<g id="node9" class="node">
+<title>Node21</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="1772,-179.5 1772,-198.5 1830,-198.5 1830,-179.5 1772,-179.5"/>
+<text text-anchor="middle" x="1801" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">memory</text>
+</g>
+<!-- Node19&#45;&gt;Node21 -->
+<g id="edge8" class="edge">
+<title>Node19&#45;&gt;Node21</title>
+<path fill="none" stroke="#191970" d="M1610.1509,-302.4717C1631.0777,-292.6848 1658.5006,-279.304 1682,-266 1683.2224,-265.3079 1743.2942,-226.3957 1777.6057,-204.1618"/>
+<polygon fill="#191970" stroke="#191970" points="1779.6381,-207.0155 1786.1266,-198.64 1775.8312,-201.1411 1779.6381,-207.0155"/>
+</g>
+<!-- Node19&#45;&gt;Node16 -->
+<g id="edge9" class="edge">
+<title>Node19&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1513.7589,-316.0658C1415.544,-312.753 1220.9,-301.837 1060,-266 972.6007,-246.5337 952.2701,-234.3441 870,-199 803.3731,-170.3764 609.4267,-67.8812 537.9019,-29.8429"/>
+<polygon fill="#191970" stroke="#191970" points="539.5029,-26.7302 529.0309,-25.1217 536.2142,-32.9096 539.5029,-26.7302"/>
+</g>
+<!-- Node19&#45;&gt;Node18 -->
+<g id="edge10" class="edge">
+<title>Node19&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1640.3078,-302.6675C1711.4661,-286.0332 1830.4629,-258.329 1933,-235 1993.6456,-221.2021 2064.4249,-205.4803 2105.2437,-196.4507"/>
+<polygon fill="#191970" stroke="#191970" points="2106.1872,-199.8267 2115.1958,-194.2504 2104.676,-192.9917 2106.1872,-199.8267"/>
+</g>
+<!-- Node22 -->
+<g id="node12" class="node">
+<title>Node22</title>
+<g id="a_node12"><a xlink:href="runtime_2container_2base_8h.html" target="_top" xlink:title="Base utilities for common POD(plain old data) container types. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1254.5,-179.5 1254.5,-198.5 1309.5,-198.5 1309.5,-179.5 1254.5,-179.5"/>
+<text text-anchor="middle" x="1282" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">./base.h</text>
+</a>
+</g>
+</g>
+<!-- Node19&#45;&gt;Node22 -->
+<g id="edge11" class="edge">
+<title>Node19&#45;&gt;Node22</title>
+<path fill="none" stroke="#191970" d="M1559.0957,-302.2104C1536.6412,-283.7691 1496.3025,-253.009 1457,-235 1412.0324,-214.3951 1356.1772,-201.7349 1319.8392,-195.0413"/>
+<polygon fill="#191970" stroke="#191970" points="1320.1367,-191.5393 1309.6779,-193.2316 1318.9093,-198.4308 1320.1367,-191.5393"/>
+</g>
+<!-- Node22&#45;&gt;Node20 -->
+<g id="edge24" class="edge">
+<title>Node22&#45;&gt;Node20</title>
+<path fill="none" stroke="#191970" d="M1309.5109,-182.2059C1314.3292,-181.0858 1319.3028,-179.9738 1324,-179 1400.4262,-163.1551 1490.2063,-148.0382 1541.7672,-139.6903"/>
+<polygon fill="#191970" stroke="#191970" points="1542.5471,-143.1098 1551.8628,-138.0633 1541.4333,-136.199 1542.5471,-143.1098"/>
+</g>
+<!-- Node22&#45;&gt;Node16 -->
+<g id="edge25" class="edge">
+<title>Node22&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1293.2589,-179.1032C1307.6252,-165.3031 1328.9266,-140.058 1314,-123 1262.211,-63.8158 688.0184,-25.9936 543.7408,-17.3804"/>
+<polygon fill="#191970" stroke="#191970" points="543.9209,-13.8851 533.7318,-16.7888 543.5078,-20.8729 543.9209,-13.8851"/>
+</g>
+<!-- Node7 -->
+<g id="node13" class="node">
+<title>Node7</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="1216.5,-123.5 1216.5,-142.5 1305.5,-142.5 1305.5,-123.5 1216.5,-123.5"/>
+<text text-anchor="middle" x="1261" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">dmlc/logging.h</text>
+</g>
+<!-- Node22&#45;&gt;Node7 -->
+<g id="edge12" class="edge">
+<title>Node22&#45;&gt;Node7</title>
+<path fill="none" stroke="#191970" d="M1278.3421,-179.2455C1275.5416,-171.7776 1271.591,-161.2427 1268.1676,-152.1137"/>
+<polygon fill="#191970" stroke="#191970" points="1271.4045,-150.777 1264.616,-142.6427 1264.8501,-153.2349 1271.4045,-150.777"/>
+</g>
+<!-- Node13 -->
+<g id="node14" class="node">
+<title>Node13</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="1880.5,-6 1880.5,-25 2005.5,-25 2005.5,-6 1880.5,-6"/>
+<text text-anchor="middle" x="1943" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/logging.h</text>
+</g>
+<!-- Node22&#45;&gt;Node13 -->
+<g id="edge13" class="edge">
+<title>Node22&#45;&gt;Node13</title>
+<path fill="none" stroke="#191970" d="M1298.3085,-179.4859C1323.4283,-165.2194 1373.4605,-138.3269 1419,-123 1613.7113,-57.4674 1670.9699,-73.3547 1872,-31 1877.7735,-29.7836 1883.807,-28.4943 1889.8128,-27.1995"/>
+<polygon fill="#191970" stroke="#191970" points="1890.8109,-30.5645 1899.8433,-25.0268 1889.329,-23.7232 1890.8109,-30.5645"/>
+</g>
+<!-- Node22&#45;&gt;Node23 -->
+<g id="edge14" class="edge">
+<title>Node22&#45;&gt;Node23</title>
+<path fill="none" stroke="#191970" d="M1254.4106,-182.1333C1217.318,-172.9014 1150.7828,-156.3415 1105.2967,-145.0205"/>
+<polygon fill="#191970" stroke="#191970" points="1105.9087,-141.5661 1095.3594,-142.5472 1104.218,-148.3589 1105.9087,-141.5661"/>
+</g>
+<!-- Node22&#45;&gt;Node8 -->
+<g id="edge23" class="edge">
+<title>Node22&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M1308.0141,-179.4756C1348.7815,-164.944 1430.4634,-137.4095 1502,-123 1628.2926,-97.561 1778.372,-85.5905 1864.2743,-80.4405"/>
+<polygon fill="#191970" stroke="#191970" points="1864.648,-83.9247 1874.4262,-79.8459 1864.2386,-76.9367 1864.648,-83.9247"/>
+</g>
+<!-- Node23&#45;&gt;Node16 -->
+<g id="edge22" class="edge">
+<title>Node23&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1022.423,-123.4981C972.4607,-109.9492 877.0648,-84.756 795,-67 704.5061,-47.4202 596.6957,-29.276 543.7072,-20.6949"/>
+<polygon fill="#191970" stroke="#191970" points="543.9891,-17.1952 533.5597,-19.0601 542.8757,-24.1061 543.9891,-17.1952"/>
+</g>
+<!-- Node23&#45;&gt;Node8 -->
+<g id="edge15" class="edge">
+<title>Node23&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M1121.6004,-128.6454C1148.0679,-126.8737 1179.0021,-124.819 1207,-123 1448.1403,-107.3331 1734.3205,-89.427 1863.9679,-81.3523"/>
+<polygon fill="#191970" stroke="#191970" points="1864.3894,-84.8329 1874.1525,-80.7181 1863.9543,-77.8464 1864.3894,-84.8329"/>
+</g>
+<!-- Node23&#45;&gt;Node15 -->
+<g id="edge21" class="edge">
+<title>Node23&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M1058.106,-123.1456C1059.0911,-113.8422 1060.4578,-99.4936 1061,-87 1061.3854,-78.1195 1062.1762,-75.8107 1061,-67 1059.5569,-56.1902 1056.4813,-44.4337 1053.5794,-34.8862"/>
+<polygon fill="#191970" stroke="#191970" points="1056.8632,-33.6646 1050.4731,-25.2137 1050.1984,-35.8049 1056.8632,-33.6646"/>
+</g>
+<!-- Node8&#45;&gt;Node16 -->
+<g id="edge20" class="edge">
+<title>Node8&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1874.2165,-74.4162C1632.0378,-63.9496 728.0823,-24.882 543.8891,-16.9214"/>
+<polygon fill="#191970" stroke="#191970" points="543.8911,-13.4183 533.7493,-16.4832 543.5888,-20.4118 543.8911,-13.4183"/>
+</g>
+<!-- Node8&#45;&gt;Node13 -->
+<g id="edge17" class="edge">
+<title>Node8&#45;&gt;Node13</title>
+<path fill="none" stroke="#191970" d="M1935.4063,-67.3906C1936.6538,-58.8657 1938.5162,-46.1392 1940.0844,-35.4235"/>
+<polygon fill="#191970" stroke="#191970" points="1943.589,-35.6463 1941.5739,-25.2449 1936.6627,-34.6326 1943.589,-35.6463"/>
+</g>
+<!-- Node8&#45;&gt;Node9 -->
+<g id="edge16" class="edge">
+<title>Node8&#45;&gt;Node9</title>
+<path fill="none" stroke="#191970" d="M1912.75,-67.3906C1893.4919,-58.682 1864.5378,-45.5888 1840.5329,-34.7336"/>
+<polygon fill="#191970" stroke="#191970" points="1841.8232,-31.4759 1831.2693,-30.5446 1838.9389,-37.8541 1841.8232,-31.4759"/>
+</g>
+<!-- Node8&#45;&gt;Node14 -->
+<g id="edge18" class="edge">
+<title>Node8&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1993.5313,-73.5395C2189.4776,-62.1495 2810.305,-26.0617 2959.5202,-17.388"/>
+<polygon fill="#191970" stroke="#191970" points="2960.0424,-20.8636 2969.8224,-16.7891 2959.6362,-13.8754 2960.0424,-20.8636"/>
+</g>
+<!-- Node8&#45;&gt;Node15 -->
+<g id="edge19" class="edge">
+<title>Node8&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M1874.4241,-72.8693C1707.71,-61.3102 1239.0604,-28.8165 1091.8403,-18.609"/>
+<polygon fill="#191970" stroke="#191970" points="1092.0227,-15.1133 1081.8045,-17.9132 1091.5384,-22.0966 1092.0227,-15.1133"/>
+</g>
+<!-- Node26&#45;&gt;Node13 -->
+<g id="edge28" class="edge">
+<title>Node26&#45;&gt;Node13</title>
+<path fill="none" stroke="#191970" d="M2402.6994,-240.964C2401.1686,-210.104 2391.8404,-112.3355 2335,-67 2310.5345,-47.4865 2121.9964,-29.6398 2015.5627,-20.9878"/>
+<polygon fill="#191970" stroke="#191970" points="2015.776,-17.4937 2005.5272,-20.1795 2015.2139,-24.4711 2015.776,-17.4937"/>
+</g>
+<!-- Node26&#45;&gt;Node9 -->
+<g id="edge27" class="edge">
+<title>Node26&#45;&gt;Node9</title>
+<path fill="none" stroke="#191970" d="M2398.0375,-240.6451C2381.4082,-208.8084 2324.1535,-108.3872 2244,-67 2172.7985,-30.2352 1969.1207,-42.5683 1872.9692,-30.8907"/>
+<polygon fill="#191970" stroke="#191970" points="1873.2804,-27.4008 1862.8986,-29.515 1872.3329,-34.3364 1873.2804,-27.4008"/>
+</g>
+<!-- Node26&#45;&gt;Node14 -->
+<g id="edge29" class="edge">
+<title>Node26&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M2404.0647,-240.8321C2408.0712,-209.5681 2425.2638,-110.7024 2486,-67 2524.4587,-39.3272 2854.1001,-21.8562 2959.6397,-16.9321"/>
+<polygon fill="#191970" stroke="#191970" points="2959.8711,-20.4253 2969.6996,-16.4693 2959.5493,-13.4327 2959.8711,-20.4253"/>
+</g>
+<!-- Node26&#45;&gt;Node15 -->
+<g id="edge30" class="edge">
+<title>Node26&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M2390.8671,-240.7217C2361.1158,-217.191 2281.4532,-156.8573 2206,-123 2120.6104,-84.684 2095.3744,-82.0489 2003,-67 1824.1142,-37.8574 1256.2114,-20.9927 1091.9233,-16.6365"/>
+<polygon fill="#191970" stroke="#191970" points="1091.7826,-13.1317 1081.694,-16.3677 1091.5986,-20.1293 1091.7826,-13.1317"/>
+</g>
+<!-- Node27&#45;&gt;Node14 -->
+<g id="edge59" class="edge">
+<title>Node27&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M2316.0966,-369.3848C2366.1165,-352.3883 2439.4094,-319.8766 2481,-266 2502.5393,-238.0979 2500,-224.2487 2500,-189 2500,-189 2500,-189 2500,-133 2500,-88.5978 2534.498,-85.1973 2575,-67 2643.9141,-36.0373 2874.3206,-21.4634 2959.7596,-17.0282"/>
+<polygon fill="#191970" stroke="#191970" points="2960.0927,-20.5159 2969.9028,-16.5143 2959.7384,-13.5249 2960.0927,-20.5159"/>
+</g>
+<!-- Node27&#45;&gt;Node26 -->
+<g id="edge33" class="edge">
+<title>Node27&#45;&gt;Node26</title>
+<path fill="none" stroke="#191970" d="M2278.7876,-369.389C2305.2126,-344.0965 2358.1951,-293.3847 2385.6362,-267.1196"/>
+<polygon fill="#191970" stroke="#191970" points="2388.1617,-269.5472 2392.9658,-260.1042 2383.3215,-264.4903 2388.1617,-269.5472"/>
+</g>
+<!-- Node27&#45;&gt;Node28 -->
+<g id="edge34" class="edge">
+<title>Node27&#45;&gt;Node28</title>
+<path fill="none" stroke="#191970" d="M2206.3251,-376.3515C2121.8086,-364.2 1962.752,-341.3313 1869.7537,-327.9603"/>
+<polygon fill="#191970" stroke="#191970" points="1869.9771,-324.4565 1859.5808,-326.4977 1868.9809,-331.3853 1869.9771,-324.4565"/>
+</g>
+<!-- Node28&#45;&gt;Node16 -->
+<g id="edge57" class="edge">
+<title>Node28&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1734.3882,-310.5297C1708.0413,-307.7039 1677.0471,-304.5199 1649,-302 1435.9258,-282.8563 1379.5953,-303.6396 1169,-266 1062.5084,-246.9668 1036.6044,-236.1385 935,-199 800.4726,-149.8274 772.9484,-122.724 641,-67 607.8838,-53.0145 569.5815,-37.9768 543.1736,-27.7838"/>
+<polygon fill="#191970" stroke="#191970" points="544.2603,-24.4518 533.6705,-24.1267 541.7462,-30.9848 544.2603,-24.4518"/>
+</g>
+<!-- Node28&#45;&gt;Node18 -->
+<g id="edge58" class="edge">
+<title>Node28&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1822.4262,-307.9466C1883.3631,-285.0507 2037.7262,-227.0517 2105.8381,-201.4599"/>
+<polygon fill="#191970" stroke="#191970" points="2107.1102,-204.721 2115.2402,-197.9273 2104.6481,-198.1682 2107.1102,-204.721"/>
+</g>
+<!-- Node28&#45;&gt;Node8 -->
+<g id="edge56" class="edge">
+<title>Node28&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M1803.5399,-307.8585C1816.9756,-287.9055 1848.4036,-240.4784 1872,-199 1892.3534,-163.2222 1913.5542,-119.9941 1925.1336,-95.786"/>
+<polygon fill="#191970" stroke="#191970" points="1928.343,-97.1868 1929.4766,-86.6528 1922.0213,-94.1807 1928.343,-97.1868"/>
+</g>
+<!-- Node28&#45;&gt;Node9 -->
+<g id="edge35" class="edge">
+<title>Node28&#45;&gt;Node9</title>
+<path fill="none" stroke="#191970" d="M1800.4868,-307.9437C1810.3887,-280.7694 1838.0289,-204.6467 1839,-199 1848.8696,-141.6101 1825.0752,-75.0986 1809.7411,-40.0456"/>
+<polygon fill="#191970" stroke="#191970" points="1812.7924,-38.2981 1805.4879,-30.6238 1806.4123,-41.1782 1812.7924,-38.2981"/>
+</g>
+<!-- Node28&#45;&gt;Node26 -->
+<g id="edge55" class="edge">
+<title>Node28&#45;&gt;Node26</title>
+<path fill="none" stroke="#191970" d="M1859.5702,-310.5822C1970.607,-298.3058 2201.8686,-272.7373 2323.8122,-259.2551"/>
+<polygon fill="#191970" stroke="#191970" points="2324.2776,-262.7251 2333.8323,-258.1472 2323.5083,-255.7674 2324.2776,-262.7251"/>
+</g>
+<!-- Node28&#45;&gt;Node30 -->
+<g id="edge36" class="edge">
+<title>Node28&#45;&gt;Node30</title>
+<path fill="none" stroke="#191970" d="M1753.9774,-307.9673C1742.9442,-305.763 1731.0669,-303.5983 1720,-302 1543.5167,-276.5114 1494.3197,-292.5565 1314.2105,-266.0602"/>
+<polygon fill="#191970" stroke="#191970" points="1314.5422,-262.571 1304.1346,-264.554 1313.5072,-269.4941 1314.5422,-262.571"/>
+</g>
+<!-- Node31 -->
+<g id="node24" class="node">
+<title>Node31</title>
+<g id="a_node24"><a xlink:href="string_8h.html" target="_top" xlink:title="Runtime String container types. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1322,-235.5 1322,-265.5 1448,-265.5 1448,-235.5 1322,-235.5"/>
+<text text-anchor="start" x="1330" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/container</text>
+<text text-anchor="middle" x="1385" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/string.h</text>
+</a>
+</g>
+</g>
+<!-- Node28&#45;&gt;Node31 -->
+<g id="edge40" class="edge">
+<title>Node28&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M1751.4641,-307.9723C1741.136,-305.912 1730.2042,-303.8104 1720,-302 1630.1721,-286.0629 1526.2755,-270.5403 1458.2987,-260.7755"/>
+<polygon fill="#191970" stroke="#191970" points="1458.5159,-257.271 1448.1207,-259.318 1457.5235,-264.2003 1458.5159,-257.271"/>
+</g>
+<!-- Node30&#45;&gt;Node16 -->
+<g id="edge37" class="edge">
+<title>Node30&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1177.9879,-242.621C1125.1965,-234.9028 1048.3604,-221.0417 984,-199 921.7587,-177.6841 780.7466,-89.7092 719,-67 658.7767,-44.851 585.2816,-29.1694 543.7384,-21.295"/>
+<polygon fill="#191970" stroke="#191970" points="544.1173,-17.8055 533.6458,-19.417 542.8367,-24.6874 544.1173,-17.8055"/>
+</g>
+<!-- Node30&#45;&gt;Node18 -->
+<g id="edge38" class="edge">
+<title>Node30&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1304.1178,-236.3281C1307.1134,-235.8394 1310.0854,-235.3924 1313,-235 1470.1235,-213.8446 1970.5508,-194.9667 2105.3052,-190.1717"/>
+<polygon fill="#191970" stroke="#191970" points="2105.5646,-193.6648 2115.4346,-189.8134 2105.317,-186.6692 2105.5646,-193.6648"/>
+</g>
+<!-- Node30&#45;&gt;Node22 -->
+<g id="edge39" class="edge">
+<title>Node30&#45;&gt;Node22</title>
+<path fill="none" stroke="#191970" d="M1251.1348,-235.2977C1256.7668,-226.8498 1263.8151,-216.2773 1269.754,-207.369"/>
+<polygon fill="#191970" stroke="#191970" points="1272.8005,-209.1089 1275.4354,-198.8469 1266.9762,-205.226 1272.8005,-209.1089"/>
+</g>
+<!-- Node31&#45;&gt;Node20 -->
+<g id="edge46" class="edge">
+<title>Node31&#45;&gt;Node20</title>
+<path fill="none" stroke="#191970" d="M1448.157,-236.1823C1474.993,-228.1202 1505.6399,-216.141 1530,-199 1547.878,-186.4202 1563.0971,-166.3953 1572.777,-151.6987"/>
+<polygon fill="#191970" stroke="#191970" points="1575.9272,-153.2655 1578.3104,-142.9422 1570.0096,-149.526 1575.9272,-153.2655"/>
+</g>
+<!-- Node31&#45;&gt;Node21 -->
+<g id="edge49" class="edge">
+<title>Node31&#45;&gt;Node21</title>
+<path fill="none" stroke="#191970" d="M1448.3897,-237.4066C1452.9895,-236.5588 1457.5625,-235.7469 1462,-235 1570.188,-216.7898 1698.7449,-200.9096 1761.95,-193.4778"/>
+<polygon fill="#191970" stroke="#191970" points="1762.3577,-196.954 1771.8835,-192.3162 1761.5447,-190.0014 1762.3577,-196.954"/>
+</g>
+<!-- Node31&#45;&gt;Node16 -->
+<g id="edge52" class="edge">
+<title>Node31&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1321.7973,-236.8273C1318.8244,-236.2051 1315.8804,-235.5933 1313,-235 1231.8123,-218.2768 1210.1392,-220.1852 1130,-199 978.2242,-158.8772 940.0126,-147.1422 795,-87 776.6402,-79.3855 773.7658,-73.5502 755,-67 681.6566,-41.3993 591.2589,-26.3858 543.7439,-19.6949"/>
+<polygon fill="#191970" stroke="#191970" points="544.1083,-16.2122 533.725,-18.3187 543.1557,-23.1471 544.1083,-16.2122"/>
+</g>
+<!-- Node31&#45;&gt;Node18 -->
+<g id="edge54" class="edge">
+<title>Node31&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1448.3384,-237.0672C1452.9502,-236.2991 1457.5399,-235.5978 1462,-235 1707.3098,-202.1193 2005.9496,-192.2259 2105.1644,-189.7351"/>
+<polygon fill="#191970" stroke="#191970" points="2105.291,-193.2331 2115.2032,-189.4915 2105.1212,-186.2352 2105.291,-193.2331"/>
+</g>
+<!-- Node31&#45;&gt;Node22 -->
+<g id="edge42" class="edge">
+<title>Node31&#45;&gt;Node22</title>
+<path fill="none" stroke="#191970" d="M1359.8034,-235.4554C1343.6728,-225.8241 1322.8362,-213.3828 1306.7864,-203.7996"/>
+<polygon fill="#191970" stroke="#191970" points="1308.3416,-200.6518 1297.9613,-198.5303 1304.753,-206.662 1308.3416,-200.6518"/>
+</g>
+<!-- Node31&#45;&gt;Node7 -->
+<g id="edge41" class="edge">
+<title>Node31&#45;&gt;Node7</title>
+<path fill="none" stroke="#191970" d="M1324.0216,-235.4964C1290.8605,-225.9711 1254.6688,-212.8589 1245,-199 1235.2435,-185.0154 1241.6173,-165.7673 1249.0098,-151.6661"/>
+<polygon fill="#191970" stroke="#191970" points="1252.1294,-153.263 1254.1048,-142.854 1246.0694,-149.7592 1252.1294,-153.263"/>
+</g>
+<!-- Node31&#45;&gt;Node13 -->
+<g id="edge43" class="edge">
+<title>Node31&#45;&gt;Node13</title>
+<path fill="none" stroke="#191970" d="M1441.6416,-235.4601C1474.7918,-226.1099 1517.2289,-213.1896 1554,-199 1693.8586,-145.0302 1853.5921,-62.8565 1916.0152,-29.9062"/>
+<polygon fill="#191970" stroke="#191970" points="1917.9812,-32.8256 1925.1803,-25.0524 1914.705,-26.6396 1917.9812,-32.8256"/>
+</g>
+<!-- Node31&#45;&gt;Node23 -->
+<g id="edge44" class="edge">
+<title>Node31&#45;&gt;Node23</title>
+<path fill="none" stroke="#191970" d="M1321.7293,-235.9816C1264.7351,-222.7521 1187.8292,-204.4675 1174,-199 1139.4983,-185.3594 1102.6961,-163.1855 1079.7755,-148.351"/>
+<polygon fill="#191970" stroke="#191970" points="1081.4151,-145.2406 1071.1346,-142.679 1077.5738,-151.0925 1081.4151,-145.2406"/>
+</g>
+<!-- Node31&#45;&gt;Node8 -->
+<g id="edge45" class="edge">
+<title>Node31&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M1432.5704,-235.4868C1453.6799,-227.1475 1477.8041,-215.1426 1496,-199 1525.7089,-172.6435 1509.5003,-144.3319 1543,-123 1569.468,-106.1457 1759.1544,-89.8019 1864.2789,-81.9087"/>
+<polygon fill="#191970" stroke="#191970" points="1864.7777,-85.3813 1874.4903,-81.1486 1864.258,-78.4006 1864.7777,-85.3813"/>
+</g>
+<!-- Node31&#45;&gt;Node14 -->
+<g id="edge50" class="edge">
+<title>Node31&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1448.1047,-238.0026C1523.0729,-223.2859 1651.9748,-198.3912 1763,-179 2072.9376,-124.8676 2149.9395,-107.1228 2462,-67 2650.2017,-42.8022 2877.3172,-24.3005 2959.9639,-17.9162"/>
+<polygon fill="#191970" stroke="#191970" points="2960.2809,-21.4023 2969.9836,-17.1471 2959.7451,-14.4228 2960.2809,-21.4023"/>
+</g>
+<!-- Node31&#45;&gt;Node15 -->
+<g id="edge53" class="edge">
+<title>Node31&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M1322.928,-235.4309C1295.3729,-227.1332 1263.3014,-215.1774 1237,-199 1160.6601,-152.045 1090.144,-69.8357 1061.0522,-33.5667"/>
+<polygon fill="#191970" stroke="#191970" points="1063.5235,-31.0497 1054.5702,-25.385 1058.0367,-35.3967 1063.5235,-31.0497"/>
+</g>
+<!-- Node32 -->
+<g id="node25" class="node">
+<title>Node32</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="1434.5,-179.5 1434.5,-198.5 1487.5,-198.5 1487.5,-179.5 1434.5,-179.5"/>
+<text text-anchor="middle" x="1461" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cstddef</text>
+</g>
+<!-- Node31&#45;&gt;Node32 -->
+<g id="edge47" class="edge">
+<title>Node31&#45;&gt;Node32</title>
+<path fill="none" stroke="#191970" d="M1403.7865,-235.2977C1415.1053,-226.1384 1429.5105,-214.4816 1441.0346,-205.1562"/>
+<polygon fill="#191970" stroke="#191970" points="1443.2595,-207.8583 1448.8314,-198.8469 1438.8561,-202.4167 1443.2595,-207.8583"/>
+</g>
+<!-- Node33 -->
+<g id="node26" class="node">
+<title>Node33</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="1366,-179.5 1366,-198.5 1416,-198.5 1416,-179.5 1366,-179.5"/>
+<text text-anchor="middle" x="1391" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cstring</text>
+</g>
+<!-- Node31&#45;&gt;Node33 -->
+<g id="edge48" class="edge">
+<title>Node31&#45;&gt;Node33</title>
+<path fill="none" stroke="#191970" d="M1386.4831,-235.2977C1387.2553,-227.3834 1388.2093,-217.6043 1389.0414,-209.0759"/>
+<polygon fill="#191970" stroke="#191970" points="1392.5517,-209.1396 1390.0393,-198.8469 1385.5848,-208.4598 1392.5517,-209.1396"/>
+</g>
+<!-- Node34 -->
+<g id="node27" class="node">
+<title>Node34</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="572.5,-179.5 572.5,-198.5 665.5,-198.5 665.5,-179.5 572.5,-179.5"/>
+<text text-anchor="middle" x="619" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">unordered_map</text>
+</g>
+<!-- Node31&#45;&gt;Node34 -->
+<g id="edge51" class="edge">
+<title>Node31&#45;&gt;Node34</title>
+<path fill="none" stroke="#191970" d="M1321.877,-236.3663C1318.8828,-235.8674 1315.9125,-235.4078 1313,-235 1077.9369,-202.0869 794.6874,-192.5972 675.8391,-189.9649"/>
+<polygon fill="#191970" stroke="#191970" points="675.6057,-186.4592 665.5333,-189.7448 675.4562,-193.4576 675.6057,-186.4592"/>
+</g>
+<!-- Node46&#45;&gt;Node14 -->
+<g id="edge135" class="edge">
+<title>Node46&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1498.5743,-892.0755C1736.3508,-882.5588 2743.9027,-836.8857 3040,-736 3177.8117,-689.045 3315,-703.5913 3315,-558 3315,-558 3315,-558 3315,-133 3315,-98.6999 3303.2514,-86.4513 3275,-67 3234.5756,-39.1675 3089.3925,-23.7144 3024.1499,-18.0387"/>
+<polygon fill="#191970" stroke="#191970" points="3024.2886,-14.538 3014.0288,-17.1812 3023.6977,-21.513 3024.2886,-14.538"/>
+</g>
+<!-- Node46&#45;&gt;Node28 -->
+<g id="edge109" class="edge">
+<title>Node46&#45;&gt;Node28</title>
+<path fill="none" stroke="#191970" d="M1397.3612,-892.7441C1239.4168,-888.5705 762.4857,-873.9387 698,-848 656.495,-831.3051 605.8841,-808.3228 632,-772 843.8433,-477.3621 1070.7526,-650.9182 1406,-512 1547.2803,-453.457 1708.6671,-366.4182 1770.765,-332.1339"/>
+<polygon fill="#191970" stroke="#191970" points="1772.8081,-335.0034 1779.8606,-327.0968 1769.4168,-328.8797 1772.8081,-335.0034"/>
+</g>
+<!-- Node47 -->
+<g id="node30" class="node">
+<title>Node47</title>
+<g id="a_node30"><a xlink:href="ir_2function_8h.html" target="_top" xlink:title="Function nodes. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1182,-716.5 1182,-735.5 1280,-735.5 1280,-716.5 1182,-716.5"/>
+<text text-anchor="middle" x="1231" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/ir/function.h</text>
+</a>
+</g>
+</g>
+<!-- Node46&#45;&gt;Node47 -->
+<g id="edge80" class="edge">
+<title>Node46&#45;&gt;Node47</title>
+<path fill="none" stroke="#191970" d="M1423.1419,-884.4239C1386.37,-869.2909 1316.8904,-836.8884 1271,-792 1257.1267,-778.4296 1246.1473,-759.0871 1239.2283,-744.8484"/>
+<polygon fill="#191970" stroke="#191970" points="1242.2975,-743.1465 1234.9245,-735.5379 1235.9435,-746.0837 1242.2975,-743.1465"/>
+</g>
+<!-- Node53 -->
+<g id="node36" class="node">
+<title>Node53</title>
+<g id="a_node36"><a xlink:href="buffer_8h.html" target="_top" xlink:title="Symbolic n&#45;dimensional array, to represent a memory buffer. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1388.5,-716.5 1388.5,-735.5 1477.5,-735.5 1477.5,-716.5 1388.5,-716.5"/>
+<text text-anchor="middle" x="1433" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/tir/buffer.h</text>
+</a>
+</g>
+</g>
+<!-- Node46&#45;&gt;Node53 -->
+<g id="edge110" class="edge">
+<title>Node46&#45;&gt;Node53</title>
+<path fill="none" stroke="#191970" d="M1464.7373,-884.2988C1476.7584,-876.2823 1492.023,-863.6887 1499,-848 1502.6119,-839.878 1501.5175,-836.5249 1499,-828 1489.217,-794.8727 1464.9415,-762.3878 1448.719,-743.28"/>
+<polygon fill="#191970" stroke="#191970" points="1451.3314,-740.9505 1442.1191,-735.7173 1446.0572,-745.5531 1451.3314,-740.9505"/>
+</g>
+<!-- Node55 -->
+<g id="node37" class="node">
+<title>Node55</title>
+<g id="a_node37"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1280.5,-772.5 1280.5,-791.5 1363.5,-791.5 1363.5,-772.5 1280.5,-772.5"/>
+<text text-anchor="middle" x="1322" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/tir/expr.h</text>
+</a>
+</g>
+</g>
+<!-- Node46&#45;&gt;Node55 -->
+<g id="edge115" class="edge">
+<title>Node46&#45;&gt;Node55</title>
+<path fill="none" stroke="#191970" d="M1437.2573,-884.4509C1415.6841,-865.2747 1366.8833,-821.8962 1340.2237,-798.1988"/>
+<polygon fill="#191970" stroke="#191970" points="1342.5149,-795.5526 1332.7155,-791.5249 1337.8643,-800.7845 1342.5149,-795.5526"/>
+</g>
+<!-- Node56 -->
+<g id="node38" class="node">
+<title>Node56</title>
+<g id="a_node38"><a xlink:href="stmt_8h.html" target="_top" xlink:title="TIR statements. ">
+<polygon fill="#ffffff" stroke="#000000" points="1406,-828.5 1406,-847.5 1490,-847.5 1490,-828.5 1406,-828.5"/>
+<text text-anchor="middle" x="1448" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/tir/stmt.h</text>
+</a>
+</g>
+</g>
+<!-- Node46&#45;&gt;Node56 -->
+<g id="edge129" class="edge">
+<title>Node46&#45;&gt;Node56</title>
+<path fill="none" stroke="#191970" d="M1448,-884.2455C1448,-876.9382 1448,-866.6944 1448,-857.7046"/>
+<polygon fill="#191970" stroke="#191970" points="1451.5001,-857.6426 1448,-847.6427 1444.5001,-857.6427 1451.5001,-857.6426"/>
+</g>
+<!-- Node47&#45;&gt;Node19 -->
+<g id="edge100" class="edge">
+<title>Node47&#45;&gt;Node19</title>
+<path fill="none" stroke="#191970" d="M1237.0964,-716.4485C1264.9675,-673.1991 1384.3073,-492.484 1510,-369 1521.0322,-358.1616 1534.3393,-347.5169 1546.1771,-338.7442"/>
+<polygon fill="#191970" stroke="#191970" points="1548.4494,-341.4196 1554.4837,-332.7111 1544.3357,-335.7558 1548.4494,-341.4196"/>
+</g>
+<!-- Node47&#45;&gt;Node14 -->
+<g id="edge107" class="edge">
+<title>Node47&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1280.3322,-722.6476C1532.4152,-705.5035 2665.5486,-628.2678 2683,-624 2784.3803,-599.207 3087,-488.8679 3087,-384.5 3087,-384.5 3087,-384.5 3087,-133 3087,-88.262 3044.839,-50.9849 3016.6909,-31.0828"/>
+<polygon fill="#191970" stroke="#191970" points="3018.3512,-27.979 3008.1155,-25.2441 3014.4116,-33.7652 3018.3512,-27.979"/>
+</g>
+<!-- Node47&#45;&gt;Node15 -->
+<g id="edge108" class="edge">
+<title>Node47&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M1206.4778,-716.4595C1075.8788,-665.4773 468,-425.9522 468,-384.5 468,-384.5 468,-384.5 468,-317.5 468,-250.0582 475.9232,-219.3001 530,-179 679.3307,-67.7131 906.6125,-30.7862 1002.1856,-19.7509"/>
+<polygon fill="#191970" stroke="#191970" points="1002.8167,-23.2023 1012.3676,-18.6164 1002.0415,-16.2454 1002.8167,-23.2023"/>
+</g>
+<!-- Node47&#45;&gt;Node31 -->
+<g id="edge106" class="edge">
+<title>Node47&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M1228.1906,-716.4187C1214.0195,-665.909 1155.3435,-428.1108 1267,-302 1279.6896,-287.6677 1297.0947,-277.1612 1314.6402,-269.5247"/>
+<polygon fill="#191970" stroke="#191970" points="1316.4253,-272.5774 1324.373,-265.5714 1313.791,-266.092 1316.4253,-272.5774"/>
+</g>
+<!-- Node50 -->
+<g id="node31" class="node">
+<title>Node50</title>
+<g id="a_node31"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM. ">
+<polygon fill="#ffffff" stroke="#000000" points="1576.5,-660.5 1576.5,-679.5 1655.5,-679.5 1655.5,-660.5 1576.5,-660.5"/>
+<text text-anchor="middle" x="1616" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/ir/expr.h</text>
+</a>
+</g>
+</g>
+<!-- Node47&#45;&gt;Node50 -->
+<g id="edge81" class="edge">
+<title>Node47&#45;&gt;Node50</title>
+<path fill="none" stroke="#191970" d="M1280.1516,-718.8507C1353.9173,-708.1211 1492.4717,-687.9678 1566.4626,-677.2054"/>
+<polygon fill="#191970" stroke="#191970" points="1567.069,-680.6542 1576.4611,-675.7511 1566.0614,-673.727 1567.069,-680.6542"/>
+</g>
+<!-- Node40 -->
+<g id="node35" class="node">
+<title>Node40</title>
+<g id="a_node35"><a xlink:href="map_8h.html" target="_top" xlink:title="Runtime Map container types. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="686,-235.5 686,-265.5 812,-265.5 812,-235.5 686,-235.5"/>
+<text text-anchor="start" x="694" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/runtime/container</text>
+<text text-anchor="middle" x="749" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/map.h</text>
+</a>
+</g>
+</g>
+<!-- Node47&#45;&gt;Node40 -->
+<g id="edge101" class="edge">
+<title>Node47&#45;&gt;Node40</title>
+<path fill="none" stroke="#191970" d="M1223.0746,-716.4116C1173.5605,-656.5738 907.3591,-335.852 862,-302 844.182,-288.7022 822.3824,-277.7609 802.7004,-269.4354"/>
+<polygon fill="#191970" stroke="#191970" points="803.8157,-266.1101 793.2352,-265.5596 801.1631,-272.588 803.8157,-266.1101"/>
+</g>
+<!-- Node50&#45;&gt;Node3 -->
+<g id="edge93" class="edge">
+<title>Node50&#45;&gt;Node3</title>
+<path fill="none" stroke="#191970" d="M1630.9727,-660.3477C1668.0939,-636.9119 1768.0294,-576.8184 1860,-548 1947.4131,-520.6097 2053.5309,-509.4313 2118.3882,-504.9365"/>
+<polygon fill="#191970" stroke="#191970" points="2118.6872,-508.4245 2128.434,-504.2711 2118.2245,-501.4398 2118.6872,-508.4245"/>
+</g>
+<!-- Node50&#45;&gt;Node20 -->
+<g id="edge96" class="edge">
+<title>Node50&#45;&gt;Node20</title>
+<path fill="none" stroke="#191970" d="M1610.817,-660.0518C1593.0233,-625.357 1534.1934,-506.0486 1510,-400 1500.2997,-357.4802 1488.508,-342.3738 1505,-302 1529.2448,-242.6467 1581.7552,-258.3533 1606,-199 1612.4685,-183.1645 1605.0468,-164.6505 1597.1238,-151.2681"/>
+<polygon fill="#191970" stroke="#191970" points="1599.8392,-149.023 1591.4576,-142.5423 1593.9684,-152.8353 1599.8392,-149.023"/>
+</g>
+<!-- Node50&#45;&gt;Node8 -->
+<g id="edge95" class="edge">
+<title>Node50&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M1622.4986,-660.4713C1644.4875,-628.3349 1718.3897,-521.1854 1784,-436 1820.2169,-388.9776 1841.798,-385.7524 1869,-333 1910.9521,-251.643 1927.001,-141.5051 1932.0351,-96.9411"/>
+<polygon fill="#191970" stroke="#191970" points="1935.5304,-97.1708 1933.1092,-86.8563 1928.5697,-96.4294 1935.5304,-97.1708"/>
+</g>
+<!-- Node50&#45;&gt;Node14 -->
+<g id="edge98" class="edge">
+<title>Node50&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1655.6499,-669.099C1840.2043,-664.7966 2608.0889,-645.6542 2654,-624 2725.4399,-590.305 2712.8034,-543.1409 2773,-492 2795.5492,-472.843 2804.9712,-473.2648 2829,-456 2861.3558,-432.7522 2870.9051,-428.2495 2899,-400 2925.7738,-373.0789 2929.1724,-363.3394 2952,-333 2979.1024,-296.979 3011,-295.5783 3011,-250.5 3011,-250.5 3011,-250.5 3011,-133 3011,-98.1936 3002.7747,-58.3226 2997.1479,-35.1197"/>
+<polygon fill="#191970" stroke="#191970" points="3000.477,-34.0065 2994.6419,-25.1633 2993.6887,-35.7152 3000.477,-34.0065"/>
+</g>
+<!-- Node50&#45;&gt;Node15 -->
+<g id="edge99" class="edge">
+<title>Node50&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M1591.7357,-660.3984C1484.0914,-617.4058 1050.7575,-440.0268 954,-333 891.3376,-263.687 911.4788,-210.597 944,-123 953.6168,-97.0968 952.9422,-87.9135 971,-67 984.2353,-51.6716 1003.055,-38.8722 1018.655,-29.8675"/>
+<polygon fill="#191970" stroke="#191970" points="1020.3559,-32.9265 1027.4014,-25.0138 1016.9592,-26.8058 1020.3559,-32.9265"/>
+</g>
+<!-- Node50&#45;&gt;Node31 -->
+<g id="edge94" class="edge">
+<title>Node50&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M1604.6553,-660.4419C1567.4883,-628.3277 1449.1901,-519.5839 1404,-400 1388.3494,-358.5847 1385.0875,-306.5995 1384.6744,-276.1139"/>
+<polygon fill="#191970" stroke="#191970" points="1388.1737,-275.9003 1384.6335,-265.9144 1381.1737,-275.9284 1388.1737,-275.9003"/>
+</g>
+<!-- Node51 -->
+<g id="node32" class="node">
+<title>Node51</title>
+<g id="a_node32"><a xlink:href="ir_2span_8h.html" target="_top" xlink:title="Span information for debugging purposes. ">
+<polygon fill="#ffffff" stroke="#000000" points="2411.5,-548.5 2411.5,-567.5 2492.5,-567.5 2492.5,-548.5 2411.5,-548.5"/>
+<text text-anchor="middle" x="2452" y="-555.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/ir/span.h</text>
+</a>
+</g>
+</g>
+<!-- Node50&#45;&gt;Node51 -->
+<g id="edge82" class="edge">
+<title>Node50&#45;&gt;Node51</title>
+<path fill="none" stroke="#191970" d="M1655.7596,-664.6734C1793.1087,-646.2725 2247.5498,-585.3905 2400.9274,-564.8423"/>
+<polygon fill="#191970" stroke="#191970" points="2401.5689,-568.2877 2411.0155,-563.4907 2400.6393,-561.3497 2401.5689,-568.2877"/>
+</g>
+<!-- Node52 -->
+<g id="node33" class="node">
+<title>Node52</title>
+<g id="a_node33"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM. ">
+<polygon fill="#ffffff" stroke="#000000" points="2245,-604.5 2245,-623.5 2325,-623.5 2325,-604.5 2245,-604.5"/>
+<text text-anchor="middle" x="2285" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/ir/type.h</text>
+</a>
+</g>
+</g>
+<!-- Node50&#45;&gt;Node52 -->
+<g id="edge86" class="edge">
+<title>Node50&#45;&gt;Node52</title>
+<path fill="none" stroke="#191970" d="M1655.8455,-666.6646C1771.4432,-656.9883 2106.7883,-628.9176 2234.6585,-618.2139"/>
+<polygon fill="#191970" stroke="#191970" points="2235.2682,-621.6752 2244.9413,-617.3532 2234.6842,-614.6996 2235.2682,-621.6752"/>
+</g>
+<!-- Node42 -->
+<g id="node34" class="node">
+<title>Node42</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="1396,-604.5 1396,-623.5 1440,-623.5 1440,-604.5 1396,-604.5"/>
+<text text-anchor="middle" x="1418" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">limits</text>
+</g>
+<!-- Node50&#45;&gt;Node42 -->
+<g id="edge97" class="edge">
+<title>Node50&#45;&gt;Node42</title>
+<path fill="none" stroke="#191970" d="M1581.9626,-660.3733C1545.0297,-649.9276 1486.5005,-633.3739 1450.2732,-623.1278"/>
+<polygon fill="#191970" stroke="#191970" points="1450.8143,-619.6436 1440.2392,-620.2899 1448.9091,-626.3793 1450.8143,-619.6436"/>
+</g>
+<!-- Node51&#45;&gt;Node3 -->
+<g id="edge83" class="edge">
+<title>Node51&#45;&gt;Node3</title>
+<path fill="none" stroke="#191970" d="M2411.2753,-549.6767C2364.498,-540.1164 2287.4416,-524.3676 2234.7876,-513.6062"/>
+<polygon fill="#191970" stroke="#191970" points="2235.4242,-510.1641 2224.9258,-511.5907 2234.0225,-517.0223 2235.4242,-510.1641"/>
+</g>
+<!-- Node51&#45;&gt;Node8 -->
+<g id="edge84" class="edge">
+<title>Node51&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M2455.9417,-548.4697C2470.451,-511.7036 2516.9187,-377.3954 2455,-302 2416.9508,-255.6693 2379.0516,-291.9364 2325,-266 2303.7591,-255.8076 2301.8927,-247.6231 2282,-235 2195.324,-179.9986 2174.3197,-163.5175 2080,-123 2047.8914,-109.2069 2010.2473,-97.4469 1981.226,-89.2705"/>
+<polygon fill="#191970" stroke="#191970" points="1981.9153,-85.8296 1971.3437,-86.5304 1980.0449,-92.5751 1981.9153,-85.8296"/>
+</g>
+<!-- Node51&#45;&gt;Node14 -->
+<g id="edge85" class="edge">
+<title>Node51&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M2471.1221,-548.4374C2527.4887,-520.1055 2692.0358,-436.3246 2740,-400 2780.9637,-368.9771 2821,-368.8853 2821,-317.5 2821,-317.5 2821,-317.5 2821,-133 2821,-101.7875 2822.7996,-88.9401 2845,-67 2876.2399,-36.1264 2927.0122,-23.6981 2959.9566,-18.7374"/>
+<polygon fill="#191970" stroke="#191970" points="2960.5415,-22.1902 2969.979,-17.3753 2959.5987,-15.2539 2960.5415,-22.1902"/>
+</g>
+<!-- Node52&#45;&gt;Node3 -->
+<g id="edge88" class="edge">
+<title>Node52&#45;&gt;Node3</title>
+<path fill="none" stroke="#191970" d="M2275.8772,-604.4509C2257.7151,-585.4401 2216.828,-542.6423 2194.0653,-518.816"/>
+<polygon fill="#191970" stroke="#191970" points="2196.5383,-516.3378 2187.0997,-511.5249 2191.4768,-521.1733 2196.5383,-516.3378"/>
+</g>
+<!-- Node52&#45;&gt;Node19 -->
+<g id="edge89" class="edge">
+<title>Node52&#45;&gt;Node19</title>
+<path fill="none" stroke="#191970" d="M2244.8788,-611.8355C2160.9773,-606.8644 1969.8058,-593.0867 1910,-568 1779.0404,-513.0665 1776.0902,-450.7996 1660,-369 1644.6169,-358.1607 1626.9746,-347.0418 1611.9221,-337.9223"/>
+<polygon fill="#191970" stroke="#191970" points="1613.303,-334.669 1602.9278,-332.5228 1609.7001,-340.6707 1613.303,-334.669"/>
+</g>
+<!-- Node52&#45;&gt;Node8 -->
+<g id="edge91" class="edge">
+<title>Node52&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M2244.7579,-607.6236C2174.2779,-594.0465 2030.1878,-555.004 1969,-456 1891.0905,-329.9397 2046.8697,-258.1146 1986,-123 1980.4303,-110.6369 1969.7137,-100.2563 1959.4494,-92.5033"/>
+<polygon fill="#191970" stroke="#191970" points="1961.2549,-89.4948 1951.0567,-86.623 1957.2382,-95.2277 1961.2549,-89.4948"/>
+</g>
+<!-- Node52&#45;&gt;Node14 -->
+<g id="edge92" class="edge">
+<title>Node52&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M2325.1047,-611.3515C2374.4538,-606.9918 2460.0487,-595.8097 2528,-568 2570.6862,-550.5303 2859,-363.6227 2859,-317.5 2859,-317.5 2859,-317.5 2859,-133 2859,-79.1753 2920.9347,-44.0942 2960.2752,-27.2401"/>
+<polygon fill="#191970" stroke="#191970" points="2961.822,-30.3884 2969.7388,-23.3475 2959.1591,-23.9147 2961.822,-30.3884"/>
+</g>
+<!-- Node52&#45;&gt;Node26 -->
+<g id="edge90" class="edge">
+<title>Node52&#45;&gt;Node26</title>
+<path fill="none" stroke="#191970" d="M2325.3383,-609.2637C2379.9766,-602.2134 2473.9176,-587.65 2502,-568 2574.143,-517.5195 2582.726,-484.6384 2607,-400 2625.4196,-335.7745 2550.7981,-335.5197 2493,-302 2471.3841,-289.464 2446.7499,-275.3818 2428.7253,-265.1156"/>
+<polygon fill="#191970" stroke="#191970" points="2430.3753,-262.0276 2419.953,-260.1233 2426.913,-268.1114 2430.3753,-262.0276"/>
+</g>
+<!-- Node52&#45;&gt;Node51 -->
+<g id="edge87" class="edge">
+<title>Node52&#45;&gt;Node51</title>
+<path fill="none" stroke="#191970" d="M2313.7083,-604.3733C2341.3577,-595.1016 2383.3576,-581.0178 2413.8166,-570.804"/>
+<polygon fill="#191970" stroke="#191970" points="2415.2979,-573.9989 2423.6663,-567.5011 2413.0724,-567.3621 2415.2979,-573.9989"/>
+</g>
+<!-- Node40&#45;&gt;Node20 -->
+<g id="edge102" class="edge">
+<title>Node40&#45;&gt;Node20</title>
+<path fill="none" stroke="#191970" d="M812.2422,-247.8203C939.9738,-241.9108 1224.5172,-226.0897 1318,-199 1336.7099,-193.5782 1338.6154,-185.4391 1357,-179 1419.4491,-157.1275 1495.4068,-144.3676 1541.7039,-138.0426"/>
+<polygon fill="#191970" stroke="#191970" points="1542.2289,-141.5037 1551.6806,-136.7168 1541.3067,-134.5647 1542.2289,-141.5037"/>
+</g>
+<!-- Node40&#45;&gt;Node16 -->
+<g id="edge104" class="edge">
+<title>Node40&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M733.209,-235.4235C718.039,-220.9452 694.4677,-198.4625 674,-179 630.9413,-138.0559 618.7295,-129.298 577,-87 559.3464,-69.1059 539.9174,-47.8579 526.7409,-33.2001"/>
+<polygon fill="#191970" stroke="#191970" points="529.043,-30.524 519.766,-25.4065 523.8268,-35.1923 529.043,-30.524"/>
+</g>
+<!-- Node40&#45;&gt;Node22 -->
+<g id="edge105" class="edge">
+<title>Node40&#45;&gt;Node22</title>
+<path fill="none" stroke="#191970" d="M812.2352,-243.2036C924.1714,-230.2879 1153.8981,-203.781 1244.2798,-193.3523"/>
+<polygon fill="#191970" stroke="#191970" points="1244.8113,-196.8143 1254.3442,-192.1911 1244.0089,-189.8605 1244.8113,-196.8143"/>
+</g>
+<!-- Node40&#45;&gt;Node34 -->
+<g id="edge103" class="edge">
+<title>Node40&#45;&gt;Node34</title>
+<path fill="none" stroke="#191970" d="M717.1984,-235.4554C696.1735,-225.509 668.8141,-212.5659 648.3157,-202.8686"/>
+<polygon fill="#191970" stroke="#191970" points="649.6816,-199.6429 639.1454,-198.5303 646.6881,-205.9706 649.6816,-199.6429"/>
+</g>
+<!-- Node53&#45;&gt;Node19 -->
+<g id="edge112" class="edge">
+<title>Node53&#45;&gt;Node19</title>
+<path fill="none" stroke="#191970" d="M1424.7453,-716.3499C1408.3076,-695.9257 1374.1293,-646.6954 1387,-604 1404.573,-545.7062 1514.8184,-398.3528 1558.8586,-340.9236"/>
+<polygon fill="#191970" stroke="#191970" points="1561.7734,-342.8748 1565.0961,-332.8144 1556.2249,-338.6069 1561.7734,-342.8748"/>
+</g>
+<!-- Node53&#45;&gt;Node14 -->
+<g id="edge114" class="edge">
+<title>Node53&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1477.8092,-722.6472C1697.7678,-706.1515 2653.8443,-634.0006 2683,-624 2705.9853,-616.1159 3049,-408.7998 3049,-384.5 3049,-384.5 3049,-384.5 3049,-133 3049,-94.341 3023.7138,-55.0543 3006.825,-33.1259"/>
+<polygon fill="#191970" stroke="#191970" points="3009.3871,-30.7255 3000.4105,-25.0977 3003.9183,-35.095 3009.3871,-30.7255"/>
+</g>
+<!-- Node53&#45;&gt;Node31 -->
+<g id="edge113" class="edge">
+<title>Node53&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M1421.5931,-716.2685C1411.8054,-707.4998 1397.7737,-693.8868 1388,-680 1308.3737,-566.8647 1283.0114,-534.8267 1252,-400 1238.7775,-342.5132 1301.6092,-295.5143 1345.4206,-270.3817"/>
+<polygon fill="#191970" stroke="#191970" points="1347.1433,-273.4286 1354.1736,-265.5024 1343.7349,-267.3144 1347.1433,-273.4286"/>
+</g>
+<!-- Node53&#45;&gt;Node50 -->
+<g id="edge111" class="edge">
+<title>Node53&#45;&gt;Node50</title>
+<path fill="none" stroke="#191970" d="M1464.4588,-716.3733C1495.0207,-707.021 1541.5826,-692.7725 1575.0261,-682.5385"/>
+<polygon fill="#191970" stroke="#191970" points="1576.4136,-685.7742 1584.9517,-679.5011 1574.3652,-679.0806 1576.4136,-685.7742"/>
+</g>
+<!-- Node55&#45;&gt;Node3 -->
+<g id="edge117" class="edge">
+<title>Node55&#45;&gt;Node3</title>
+<path fill="none" stroke="#191970" d="M1363.5201,-773.8551C1404.028,-765.5686 1467.2285,-751.7339 1521,-736 1764.5532,-664.7345 2049.6699,-553.32 2145.0556,-515.2603"/>
+<polygon fill="#191970" stroke="#191970" points="2146.4736,-518.4628 2154.4594,-511.5002 2143.8747,-511.9631 2146.4736,-518.4628"/>
+</g>
+<!-- Node55&#45;&gt;Node19 -->
+<g id="edge119" class="edge">
+<title>Node55&#45;&gt;Node19</title>
+<path fill="none" stroke="#191970" d="M1280.2804,-775.5047C1217.3212,-763.3238 1107.2318,-731.5286 1126,-660 1163.6781,-516.4024 1168.9638,-454.966 1290,-369 1323.5543,-345.1681 1430.269,-330.8337 1503.6695,-323.5465"/>
+<polygon fill="#191970" stroke="#191970" points="1504.179,-327.0136 1513.7945,-322.5647 1503.5033,-320.0462 1504.179,-327.0136"/>
+</g>
+<!-- Node55&#45;&gt;Node20 -->
+<g id="edge124" class="edge">
+<title>Node55&#45;&gt;Node20</title>
+<path fill="none" stroke="#191970" d="M1280.4301,-776.2405C1233.0171,-768.8857 1159.4089,-754.8224 1139,-736 1058.7958,-662.0305 1123.2644,-592.3886 1166,-492 1191.6381,-431.7743 1196.2434,-410.3305 1247,-369 1327.6106,-303.3597 1367.319,-318.574 1457,-266 1502.2009,-239.5017 1520.3873,-239.193 1554,-199 1565.4531,-185.3047 1573.4245,-166.5238 1578.2563,-152.4974"/>
+<polygon fill="#191970" stroke="#191970" points="1581.6256,-153.4522 1581.3448,-142.8611 1574.9596,-151.3156 1581.6256,-153.4522"/>
+</g>
+<!-- Node55&#45;&gt;Node16 -->
+<g id="edge128" class="edge">
+<title>Node55&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1280.2299,-780.865C1163.7178,-777.3619 836.9571,-765.1458 734,-736 524.0011,-676.5521 435.7086,-680.5037 297,-512 277.6002,-488.4331 278,-476.5246 278,-446 278,-446 278,-446 278,-133 278,-44.3808 414.0378,-22.5872 478.2197,-17.2366"/>
+<polygon fill="#191970" stroke="#191970" points="478.5238,-20.7237 488.2347,-16.4871 478.0014,-13.7432 478.5238,-20.7237"/>
+</g>
+<!-- Node55&#45;&gt;Node9 -->
+<g id="edge118" class="edge">
+<title>Node55&#45;&gt;Node9</title>
+<path fill="none" stroke="#191970" d="M1280.394,-781.3475C1170.5164,-779.1657 874.7995,-770.1938 784,-736 705.4698,-706.4266 686.7005,-687.6352 632,-624 612.3991,-601.1975 506,-414.5691 506,-384.5 506,-384.5 506,-384.5 506,-317.5 506,-250.9353 510.7069,-220.1861 563,-179 690.5524,-78.5397 1123.9437,-87.561 1285,-67 1440.5876,-47.1372 1623.5369,-30.3368 1723.4906,-21.7128"/>
+<polygon fill="#191970" stroke="#191970" points="1723.8272,-25.1969 1733.4908,-20.8534 1723.2278,-18.2226 1723.8272,-25.1969"/>
+</g>
+<!-- Node55&#45;&gt;Node14 -->
+<g id="edge126" class="edge">
+<title>Node55&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1363.8146,-780.7329C1485.2973,-776.8237 1848.641,-763.5188 2149,-736 2344.4328,-718.0945 2394.0617,-715.9078 2587,-680 2689.5836,-660.9081 2715.8549,-656.5291 2815,-624 2963.1579,-575.39 3023.0299,-575.6648 3123,-456 3146.3451,-428.0557 3163,-420.9126 3163,-384.5 3163,-384.5 3163,-384.5 3163,-133 3163,-66.2473 3073.3907,-34.5655 3023.9084,-22.1594"/>
+<polygon fill="#191970" stroke="#191970" points="3024.5442,-18.713 3014.0052,-19.799 3022.9212,-25.5223 3024.5442,-18.713"/>
+</g>
+<!-- Node55&#45;&gt;Node26 -->
+<g id="edge122" class="edge">
+<title>Node55&#45;&gt;Node26</title>
+<path fill="none" stroke="#191970" d="M1363.7031,-779.9741C1585.0865,-768.8709 2616.7063,-712.6416 2725,-624 2772.2415,-585.3315 2788.2685,-547.5744 2763,-492 2702.8944,-359.8063 2528.8809,-289.6921 2446.8142,-263.1746"/>
+<polygon fill="#191970" stroke="#191970" points="2447.6302,-259.7619 2437.0402,-260.0827 2445.5189,-266.4359 2447.6302,-259.7619"/>
+</g>
+<!-- Node55&#45;&gt;Node31 -->
+<g id="edge121" class="edge">
+<title>Node55&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M1280.2053,-779.5218C1185.8325,-773.5737 962.3778,-757.3811 936,-736 829.1485,-649.389 810.6168,-564.3745 860,-436 888.8098,-361.1073 909.5372,-338.4963 981,-302 1110.2117,-236.0112 1164.042,-287.2342 1311.5368,-266.0592"/>
+<polygon fill="#191970" stroke="#191970" points="1312.4977,-269.453 1321.8542,-264.4826 1311.4402,-262.5334 1312.4977,-269.453"/>
+</g>
+<!-- Node55&#45;&gt;Node34 -->
+<g id="edge127" class="edge">
+<title>Node55&#45;&gt;Node34</title>
+<path fill="none" stroke="#191970" d="M1280.4716,-781.4542C1184.1792,-779.5926 948.5911,-771.4421 879,-736 789.5396,-690.4386 619.1107,-491.1356 577,-400 558.6536,-360.2949 558.7976,-344.7598 568,-302 575.5791,-266.7829 595.0468,-229.315 607.6186,-207.5921"/>
+<polygon fill="#191970" stroke="#191970" points="610.7518,-209.1704 612.8421,-198.7839 604.7308,-205.5999 610.7518,-209.1704"/>
+</g>
+<!-- Node55&#45;&gt;Node50 -->
+<g id="edge116" class="edge">
+<title>Node55&#45;&gt;Node50</title>
+<path fill="none" stroke="#191970" d="M1363.5062,-772.7505C1397.1076,-764.6965 1445.3601,-751.8386 1486,-736 1523.8077,-721.2652 1565.2433,-699.1028 1590.9367,-684.5938"/>
+<polygon fill="#191970" stroke="#191970" points="1592.7014,-687.6166 1599.6545,-679.6225 1589.2338,-681.5357 1592.7014,-687.6166"/>
+</g>
+<!-- Node55&#45;&gt;Node42 -->
+<g id="edge125" class="edge">
+<title>Node55&#45;&gt;Node42</title>
+<path fill="none" stroke="#191970" d="M1327.4364,-772.4862C1342.8089,-745.5845 1386.8003,-668.5994 1407.2758,-632.7673"/>
+<polygon fill="#191970" stroke="#191970" points="1410.4615,-634.2468 1412.3841,-623.8279 1404.3838,-630.7738 1410.4615,-634.2468"/>
+</g>
+<!-- Node55&#45;&gt;Node40 -->
+<g id="edge120" class="edge">
+<title>Node55&#45;&gt;Node40</title>
+<path fill="none" stroke="#191970" d="M1280.2947,-781.1357C1188.8327,-778.6373 973.7067,-769.2943 910,-736 798.183,-677.5624 729.6341,-382.7875 720,-333 717.3825,-319.4731 716.5056,-315.3273 720,-302 722.5228,-292.3784 727.2931,-282.6592 732.2472,-274.2958"/>
+<polygon fill="#191970" stroke="#191970" points="735.2183,-276.1459 737.5974,-265.8216 729.2993,-272.4089 735.2183,-276.1459"/>
+</g>
+<!-- Node55&#45;&gt;Node53 -->
+<g id="edge123" class="edge">
+<title>Node55&#45;&gt;Node53</title>
+<path fill="none" stroke="#191970" d="M1341.0816,-772.3733C1358.7402,-763.4644 1385.2053,-750.1127 1405.2098,-740.0203"/>
+<polygon fill="#191970" stroke="#191970" points="1406.8158,-743.1303 1414.1674,-735.5011 1403.6628,-736.8806 1406.8158,-743.1303"/>
+</g>
+<!-- Node56&#45;&gt;Node16 -->
+<g id="edge133" class="edge">
+<title>Node56&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1405.6927,-837.1931C1309.8602,-834.8071 1069.1424,-825.6706 871,-792 774.4996,-775.6015 752.1311,-762.8433 658,-736 576.6132,-712.791 553.1845,-714.7135 476,-680 341.2891,-619.4141 240,-593.7081 240,-446 240,-446 240,-446 240,-133 240,-96.1996 259.1315,-87.0351 290,-67 320.9029,-46.9425 424.6127,-28.7039 478.2504,-20.3324"/>
+<polygon fill="#191970" stroke="#191970" points="478.9216,-23.7704 488.2739,-18.792 477.8583,-16.8516 478.9216,-23.7704"/>
+</g>
+<!-- Node56&#45;&gt;Node18 -->
+<g id="edge134" class="edge">
+<title>Node56&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1490.1284,-837.5431C1712.3955,-835.0099 2740.8857,-821.7147 2801,-792 2863.8505,-760.9328 2901,-740.1096 2901,-670 2901,-670 2901,-670 2901,-614 2901,-399.722 2800.5293,-318.0496 2603,-235 2525.1284,-202.2595 2265.831,-192.3292 2172.6834,-189.7775"/>
+<polygon fill="#191970" stroke="#191970" points="2172.7626,-186.2785 2162.674,-189.5145 2172.5786,-193.2761 2172.7626,-186.2785"/>
+</g>
+<!-- Node56&#45;&gt;Node14 -->
+<g id="edge131" class="edge">
+<title>Node56&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1490.0844,-837.8897C1707.8662,-837.1469 2701.8653,-831.5965 2833,-792 3089.4121,-714.5756 3277,-652.3464 3277,-384.5 3277,-384.5 3277,-384.5 3277,-133 3277,-101.7875 3276.7025,-87.308 3253,-67 3218.9329,-37.8118 3086.2767,-23.2664 3024.274,-17.9483"/>
+<polygon fill="#191970" stroke="#191970" points="3024.5105,-14.456 3014.2553,-17.1169 3023.9316,-21.432 3024.5105,-14.456"/>
+</g>
+<!-- Node56&#45;&gt;Node15 -->
+<g id="edge132" class="edge">
+<title>Node56&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M1405.6997,-834.7512C1271.5755,-824.0167 857.3835,-787.4189 734,-736 695.9289,-720.1342 690.4306,-707.8409 660,-680 643.6483,-665.0398 392,-406.6627 392,-384.5 392,-384.5 392,-384.5 392,-250.5 392,-148.8045 493.203,-172.5688 582,-123 634.4474,-93.7225 647.4141,-84.081 705,-67 808.8202,-36.2051 936.0988,-23.2397 1002.2552,-18.2662"/>
+<polygon fill="#191970" stroke="#191970" points="1002.6145,-21.7494 1012.3351,-17.5351 1002.1081,-14.7678 1002.6145,-21.7494"/>
+</g>
+<!-- Node56&#45;&gt;Node55 -->
+<g id="edge130" class="edge">
+<title>Node56&#45;&gt;Node55</title>
+<path fill="none" stroke="#191970" d="M1426.3398,-828.3733C1406.0228,-819.3435 1375.436,-805.7494 1352.625,-795.6111"/>
+<polygon fill="#191970" stroke="#191970" points="1353.9372,-792.3642 1343.3775,-791.5011 1351.0941,-798.7609 1353.9372,-792.3642"/>
+</g>
+<!-- Node57&#45;&gt;Node3 -->
+<g id="edge163" class="edge">
+<title>Node57&#45;&gt;Node3</title>
+<path fill="none" stroke="#191970" d="M1699.2388,-953.2913C1951.41,-942.9473 2983.0067,-897.7016 3029,-848 3069.2568,-804.4974 3054.9399,-754.6457 3010,-716 2833.7074,-564.3987 2713.9542,-702.2375 2495,-624 2429.7955,-600.7009 2423.3224,-573.634 2359,-548 2319.769,-532.3655 2273.6022,-520.7322 2237.7137,-513.076"/>
+<polygon fill="#191970" stroke="#191970" points="2238.3825,-509.6402 2227.8782,-511.022 2236.9515,-516.4924 2238.3825,-509.6402"/>
+</g>
+<!-- Node57&#45;&gt;Node18 -->
+<g id="edge186" class="edge">
+<title>Node57&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1699.1041,-954.1926C1972.1468,-947.36 3167,-913.1663 3167,-838 3167,-838 3167,-838 3167,-670 3167,-387.3246 2974.2687,-314.49 2703,-235 2602.5102,-205.5534 2278.2829,-193.2508 2172.6271,-189.9589"/>
+<polygon fill="#191970" stroke="#191970" points="2172.6347,-186.4576 2162.5327,-189.6513 2172.4214,-193.4543 2172.6347,-186.4576"/>
+</g>
+<!-- Node57&#45;&gt;Node14 -->
+<g id="edge184" class="edge">
+<title>Node57&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1699.4069,-954.6564C1992.9363,-949.8323 3353,-922.8989 3353,-838 3353,-838 3353,-838 3353,-133 3353,-95.6561 3333.1387,-86.0176 3301,-67 3254.4612,-39.4614 3093.7681,-23.6307 3024.3537,-17.9358"/>
+<polygon fill="#191970" stroke="#191970" points="3024.2759,-14.4185 3014.0283,-17.1086 3023.7169,-21.3961 3024.2759,-14.4185"/>
+</g>
+<!-- Node57&#45;&gt;Node50 -->
+<g id="edge137" class="edge">
+<title>Node57&#45;&gt;Node50</title>
+<path fill="none" stroke="#191970" d="M1640.1067,-945.9356C1632.4131,-926.143 1616,-879.1022 1616,-838 1616,-838 1616,-838 1616,-782 1616,-749.7116 1616,-712.1872 1616,-689.8048"/>
+<polygon fill="#191970" stroke="#191970" points="1619.5001,-689.5883 1616,-679.5884 1612.5001,-689.5884 1619.5001,-689.5883"/>
+</g>
+<!-- Node58 -->
+<g id="node40" class="node">
+<title>Node58</title>
+<g id="a_node40"><a xlink:href="ir_2module_8h.html" target="_top" xlink:title="IRModule that holds the functions and type definitions. ">
+<polygon fill="#ffffff" stroke="#000000" points="1644.5,-772.5 1644.5,-791.5 1739.5,-791.5 1739.5,-772.5 1644.5,-772.5"/>
+<text text-anchor="middle" x="1692" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/ir/module.h</text>
+</a>
+</g>
+</g>
+<!-- Node57&#45;&gt;Node58 -->
+<g id="edge138" class="edge">
+<title>Node57&#45;&gt;Node58</title>
+<path fill="none" stroke="#191970" d="M1646.6491,-945.9248C1654.2693,-918.3807 1676.3557,-838.5477 1686.6284,-801.416"/>
+<polygon fill="#191970" stroke="#191970" points="1690.0068,-802.3308 1689.3,-791.7595 1683.2602,-800.4642 1690.0068,-802.3308"/>
+</g>
+<!-- Node64 -->
+<g id="node43" class="node">
+<title>Node64</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="2749,-716.5 2749,-735.5 2835,-735.5 2835,-716.5 2749,-716.5"/>
+<text text-anchor="middle" x="2792" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">unordered_set</text>
+</g>
+<!-- Node57&#45;&gt;Node64 -->
+<g id="edge185" class="edge">
+<title>Node57&#45;&gt;Node64</title>
+<path fill="none" stroke="#191970" d="M1691.8666,-945.9309C1876.9665,-908.927 2545.1631,-775.3459 2738.9667,-736.602"/>
+<polygon fill="#191970" stroke="#191970" points="2739.7887,-740.007 2748.9086,-734.6145 2738.4164,-733.1429 2739.7887,-740.007"/>
+</g>
+<!-- Node65 -->
+<g id="node44" class="node">
+<title>Node65</title>
+<g id="a_node44"><a xlink:href="with_8h.html" target="_top" xlink:title="RAII wrapper function to enter and exit a context object similar to python&#39;s with syntax...">
+<polygon fill="#ffffff" stroke="#000000" points="332.5,-772.5 332.5,-791.5 441.5,-791.5 441.5,-772.5 332.5,-772.5"/>
+<text text-anchor="middle" x="387" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/support/with.h</text>
+</a>
+</g>
+</g>
+<!-- Node57&#45;&gt;Node65 -->
+<g id="edge164" class="edge">
+<title>Node57&#45;&gt;Node65</title>
+<path fill="none" stroke="#191970" d="M1597.3896,-945.9591C1584.9608,-943.7008 1571.5092,-941.5122 1559,-940 1314.8154,-910.4821 678.8791,-952.0304 456,-848 432.8955,-837.2158 412.646,-815.5648 400.1614,-799.9982"/>
+<polygon fill="#191970" stroke="#191970" points="402.6188,-797.4527 393.745,-791.6641 397.0721,-801.723 402.6188,-797.4527"/>
+</g>
+<!-- Node66 -->
+<g id="node46" class="node">
+<title>Node66</title>
+<g id="a_node46"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="971,-884.5 971,-903.5 1107,-903.5 1107,-884.5 971,-884.5"/>
+<text text-anchor="middle" x="1039" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/target/target_kind.h</text>
+</a>
+</g>
+</g>
+<!-- Node57&#45;&gt;Node66 -->
+<g id="edge167" class="edge">
+<title>Node57&#45;&gt;Node66</title>
+<path fill="none" stroke="#191970" d="M1596.0239,-945.954C1583.9717,-943.776 1571.0408,-941.6269 1559,-940 1403.1364,-918.9405 1219.6311,-905.2944 1117.5852,-898.6884"/>
+<polygon fill="#191970" stroke="#191970" points="1117.5676,-895.1802 1107.364,-898.0327 1117.1194,-902.1658 1117.5676,-895.1802"/>
+</g>
+<!-- Node58&#45;&gt;Node19 -->
+<g id="edge155" class="edge">
+<title>Node58&#45;&gt;Node19</title>
+<path fill="none" stroke="#191970" d="M1656.9261,-772.3935C1613.1605,-758.0216 1544,-726.3894 1544,-670 1544,-670 1544,-670 1544,-614 1544,-512.91 1563.1822,-393.6161 1572.297,-342.6377"/>
+<polygon fill="#191970" stroke="#191970" points="1575.785,-343.0183 1574.1292,-332.5537 1568.8978,-341.7669 1575.785,-343.0183"/>
+</g>
+<!-- Node58&#45;&gt;Node16 -->
+<g id="edge161" class="edge">
+<title>Node58&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1644.2551,-779.6455C1522.1869,-773.4126 1200.947,-755.6111 1096,-736 926.2737,-704.2839 875.378,-707.0521 724,-624 590.277,-550.6341 567.6319,-511.9143 464,-400 407.9518,-339.4724 354,-332.9923 354,-250.5 354,-250.5 354,-250.5 354,-133 354,-71.4381 432.3309,-38.2206 478.3354,-24.0203"/>
+<polygon fill="#191970" stroke="#191970" points="479.5688,-27.3057 488.1709,-21.1207 477.5892,-20.5914 479.5688,-27.3057"/>
+</g>
+<!-- Node58&#45;&gt;Node18 -->
+<g id="edge162" class="edge">
+<title>Node58&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1739.5236,-777.1728C1899.0216,-759.8729 2410.3628,-695.1399 2502,-568 2535.0846,-522.0975 2706.1189,-696.0654 2460,-369 2454.9458,-362.2835 2241.1745,-244.914 2165.3403,-203.4023"/>
+<polygon fill="#191970" stroke="#191970" points="2166.8468,-200.2369 2156.3942,-198.5068 2163.4865,-206.3777 2166.8468,-200.2369"/>
+</g>
+<!-- Node58&#45;&gt;Node14 -->
+<g id="edge158" class="edge">
+<title>Node58&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1739.5095,-780.21C1886.9722,-774.4988 2335.592,-755.9142 2480,-736 2508.7903,-732.0298 2964.9785,-636.9432 2991,-624 3015.9346,-611.5975 3162.441,-479.7401 3177,-456 3194.524,-427.4253 3201,-418.0202 3201,-384.5 3201,-384.5 3201,-384.5 3201,-133 3201,-101.7875 3199.9066,-88.2017 3177,-67 3154.7648,-46.4197 3070.8503,-29.103 3024.0461,-20.7896"/>
+<polygon fill="#191970" stroke="#191970" points="3024.5582,-17.3262 3014.1063,-19.0604 3023.3584,-24.2226 3024.5582,-17.3262"/>
+</g>
+<!-- Node58&#45;&gt;Node31 -->
+<g id="edge157" class="edge">
+<title>Node58&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M1644.4458,-780.3728C1567.5344,-776.8741 1420.281,-766.3153 1379,-736 1285.9129,-667.6402 1266,-617.4914 1266,-502 1266,-502 1266,-502 1266,-446 1266,-374.1508 1325.3718,-306.2628 1360.2415,-272.5873"/>
+<polygon fill="#191970" stroke="#191970" points="1362.8293,-274.9575 1367.6964,-265.5467 1358.023,-269.8683 1362.8293,-274.9575"/>
+</g>
+<!-- Node58&#45;&gt;Node34 -->
+<g id="edge159" class="edge">
+<title>Node58&#45;&gt;Node34</title>
+<path fill="none" stroke="#191970" d="M1644.468,-779.7697C1518.9127,-773.636 1184.881,-755.6592 1139,-736 869.615,-620.5732 674.0051,-289.2793 628.8959,-207.4449"/>
+<polygon fill="#191970" stroke="#191970" points="631.9017,-205.6461 624.0425,-198.5409 625.7554,-208.9964 631.9017,-205.6461"/>
+</g>
+<!-- Node58&#45;&gt;Node47 -->
+<g id="edge148" class="edge">
+<title>Node58&#45;&gt;Node47</title>
+<path fill="none" stroke="#191970" d="M1644.4012,-776.2179C1559.5872,-765.9152 1382.5656,-744.4114 1290.1064,-733.18"/>
+<polygon fill="#191970" stroke="#191970" points="1290.4232,-729.6928 1280.074,-731.9613 1289.579,-736.6417 1290.4232,-729.6928"/>
+</g>
+<!-- Node58&#45;&gt;Node50 -->
+<g id="edge147" class="edge">
+<title>Node58&#45;&gt;Node50</title>
+<path fill="none" stroke="#191970" d="M1685.5203,-772.4509C1672.8444,-753.7707 1644.584,-712.1238 1628.266,-688.0761"/>
+<polygon fill="#191970" stroke="#191970" points="1630.9745,-685.8344 1622.4633,-679.5249 1625.1822,-689.7649 1630.9745,-685.8344"/>
+</g>
+<!-- Node58&#45;&gt;Node52 -->
+<g id="edge149" class="edge">
+<title>Node58&#45;&gt;Node52</title>
+<path fill="none" stroke="#191970" d="M1727.1611,-772.4925C1792.8442,-754.6849 1938.6103,-714.9436 2061,-680 2124.7876,-661.7879 2198.544,-639.894 2243.467,-626.4649"/>
+<polygon fill="#191970" stroke="#191970" points="2244.5708,-629.7881 2253.148,-623.5685 2242.5644,-623.0818 2244.5708,-629.7881"/>
+</g>
+<!-- Node58&#45;&gt;Node40 -->
+<g id="edge156" class="edge">
+<title>Node58&#45;&gt;Node40</title>
+<path fill="none" stroke="#191970" d="M1644.2147,-779.7963C1523.7758,-773.9559 1214.4195,-757.074 1173,-736 1063.5549,-680.315 830.1517,-363.2995 765.757,-273.9429"/>
+<polygon fill="#191970" stroke="#191970" points="768.4111,-271.6387 759.7323,-265.5618 762.7273,-275.7245 768.4111,-271.6387"/>
+</g>
+<!-- Node59 -->
+<g id="node41" class="node">
+<title>Node59</title>
+<g id="a_node41"><a xlink:href="ir_2adt_8h.html" target="_top" xlink:title="Algebraic data type definitions. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1773,-716.5 1773,-735.5 1847,-735.5 1847,-716.5 1773,-716.5"/>
+<text text-anchor="middle" x="1810" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/ir/adt.h</text>
+</a>
+</g>
+</g>
+<!-- Node58&#45;&gt;Node59 -->
+<g id="edge139" class="edge">
+<title>Node58&#45;&gt;Node59</title>
+<path fill="none" stroke="#191970" d="M1712.2849,-772.3733C1731.1421,-763.4241 1759.446,-749.9917 1780.7455,-739.8835"/>
+<polygon fill="#191970" stroke="#191970" points="1782.4461,-742.9506 1789.9798,-735.5011 1779.4449,-736.6266 1782.4461,-742.9506"/>
+</g>
+<!-- Node61 -->
+<g id="node42" class="node">
+<title>Node61</title>
+<g id="a_node42"><a xlink:href="source__map_8h.html" target="_top" xlink:title="A map from source names to source code. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="2503.5,-604.5 2503.5,-623.5 2644.5,-623.5 2644.5,-604.5 2503.5,-604.5"/>
+<text text-anchor="middle" x="2574" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/parser/source_map.h</text>
+</a>
+</g>
+</g>
+<!-- Node58&#45;&gt;Node61 -->
+<g id="edge150" class="edge">
+<title>Node58&#45;&gt;Node61</title>
+<path fill="none" stroke="#191970" d="M1739.7302,-781.0576C1896.0465,-777.7028 2386.3122,-764.9595 2451,-736 2501.5601,-713.3652 2543.0352,-660.1511 2562.3273,-632.0745"/>
+<polygon fill="#191970" stroke="#191970" points="2565.3476,-633.8543 2568.0005,-623.597 2559.5301,-629.9612 2565.3476,-633.8543"/>
+</g>
+<!-- Node58&#45;&gt;Node64 -->
+<g id="edge160" class="edge">
+<title>Node58&#45;&gt;Node64</title>
+<path fill="none" stroke="#191970" d="M1739.6084,-780.7215C1916.8061,-775.835 2538.0416,-757.5286 2735,-736 2736.264,-735.8618 2737.5424,-735.7129 2738.8306,-735.5546"/>
+<polygon fill="#191970" stroke="#191970" points="2739.3941,-739.0101 2748.8241,-734.1805 2738.4405,-732.0754 2739.3941,-739.0101"/>
+</g>
+<!-- Node59&#45;&gt;Node3 -->
+<g id="edge142" class="edge">
+<title>Node59&#45;&gt;Node3</title>
+<path fill="none" stroke="#191970" d="M1825.8125,-716.375C1883.6121,-681.1927 2083.6991,-559.4006 2153.6378,-516.8292"/>
+<polygon fill="#191970" stroke="#191970" points="2155.5242,-519.7784 2162.2464,-511.5891 2151.8846,-513.799 2155.5242,-519.7784"/>
+</g>
+<!-- Node59&#45;&gt;Node19 -->
+<g id="edge143" class="edge">
+<title>Node59&#45;&gt;Node19</title>
+<path fill="none" stroke="#191970" d="M1805.4141,-716.1968C1792.64,-689.0582 1755.269,-610.8011 1720,-548 1676.5874,-470.6982 1619.6901,-382.435 1592.6193,-341.1378"/>
+<polygon fill="#191970" stroke="#191970" points="1595.4246,-339.0336 1587.0077,-332.5989 1589.5748,-342.878 1595.4246,-339.0336"/>
+</g>
+<!-- Node59&#45;&gt;Node8 -->
+<g id="edge145" class="edge">
+<title>Node59&#45;&gt;Node8</title>
+<path fill="none" stroke="#191970" d="M1812.4049,-716.3385C1825.3901,-664.0133 1888.133,-409.1744 1931,-199 1937.8085,-165.6183 1943.57,-156.9718 1941,-123 1940.3464,-114.361 1939.0119,-104.8868 1937.6817,-96.7935"/>
+<polygon fill="#191970" stroke="#191970" points="1941.1078,-96.0674 1935.9347,-86.8213 1934.2128,-97.2753 1941.1078,-96.0674"/>
+</g>
+<!-- Node59&#45;&gt;Node14 -->
+<g id="edge146" class="edge">
+<title>Node59&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M1847.1125,-723.3204C1933.2695,-716.9775 2153.493,-700.0607 2337,-680 2649.898,-645.7945 2751.765,-668.262 3025,-512 3087.5155,-476.2476 3125,-456.5168 3125,-384.5 3125,-384.5 3125,-384.5 3125,-133 3125,-101.7875 3122.0252,-90.0686 3101,-67 3080.522,-44.5318 3048.1921,-30.9807 3024.0518,-23.4609"/>
+<polygon fill="#191970" stroke="#191970" points="3024.8462,-20.0467 3014.2658,-20.599 3022.8813,-26.7653 3024.8462,-20.0467"/>
+</g>
+<!-- Node59&#45;&gt;Node31 -->
+<g id="edge144" class="edge">
+<title>Node59&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M1801.1233,-716.0685C1748.9277,-657.6709 1481.6536,-358.6384 1405.3582,-273.2773"/>
+<polygon fill="#191970" stroke="#191970" points="1407.8583,-270.8223 1398.5846,-265.6988 1402.6391,-275.4872 1407.8583,-270.8223"/>
+</g>
+<!-- Node59&#45;&gt;Node50 -->
+<g id="edge140" class="edge">
+<title>Node59&#45;&gt;Node50</title>
+<path fill="none" stroke="#191970" d="M1776.6502,-716.3733C1743.972,-706.9404 1694.0382,-692.5265 1658.523,-682.2747"/>
+<polygon fill="#191970" stroke="#191970" points="1659.493,-678.9119 1648.9146,-679.5011 1657.5516,-685.6373 1659.493,-678.9119"/>
+</g>
+<!-- Node59&#45;&gt;Node52 -->
+<g id="edge141" class="edge">
+<title>Node59&#45;&gt;Node52</title>
+<path fill="none" stroke="#191970" d="M1847.2725,-717.2115C1931.9953,-697.2348 2139.0952,-648.4028 2234.8881,-625.8159"/>
+<polygon fill="#191970" stroke="#191970" points="2235.9749,-629.1557 2244.9048,-623.454 2234.3684,-622.3425 2235.9749,-629.1557"/>
+</g>
+<!-- Node61&#45;&gt;Node16 -->
+<g id="edge153" class="edge">
+<title>Node61&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M2503.2255,-608.9859C2285.2553,-592.4873 1605.8298,-533.1521 1059,-400 827.8951,-343.7264 708.4202,-387.2264 563,-199 524.4567,-149.111 514.482,-71.93 511.9009,-35.6479"/>
+<polygon fill="#191970" stroke="#191970" points="515.3788,-35.168 511.2959,-25.3915 508.3909,-35.5803 515.3788,-35.168"/>
+</g>
+<!-- Node61&#45;&gt;Node18 -->
+<g id="edge154" class="edge">
+<title>Node61&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M2581.4545,-604.0934C2603.8499,-573.3145 2669,-475.9196 2669,-384.5 2669,-384.5 2669,-384.5 2669,-317.5 2669,-215.0133 2289.9666,-193.9687 2172.974,-189.9141"/>
+<polygon fill="#191970" stroke="#191970" points="2172.9115,-186.4102 2162.8026,-189.582 2172.6831,-193.4065 2172.9115,-186.4102"/>
+</g>
+<!-- Node61&#45;&gt;Node14 -->
+<g id="edge152" class="edge">
+<title>Node61&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M2585.1721,-604.3733C2595.6611,-595.2307 2611.6871,-580.9909 2625,-568 2658.3011,-535.5043 2658.0545,-517.4595 2697,-492 2736.538,-466.1532 2755.328,-478.243 2797,-456 2834.0143,-436.2431 2846.3195,-432.3813 2873,-400 2938.9915,-319.9082 2973,-292.7766 2973,-189 2973,-189 2973,-189 2973,-133 2973,-98.1936 2981.2253,-58.3226 2986.8521,-35.1197"/>
+<polygon fill="#191970" stroke="#191970" points="2990.3113,-35.7152 2989.3581,-25.1633 2983.523,-34.0065 2990.3113,-35.7152"/>
+</g>
+<!-- Node61&#45;&gt;Node51 -->
+<g id="edge151" class="edge">
+<title>Node61&#45;&gt;Node51</title>
+<path fill="none" stroke="#191970" d="M2553.0275,-604.3733C2533.4433,-595.3838 2504.0039,-581.8706 2481.949,-571.7471"/>
+<polygon fill="#191970" stroke="#191970" points="2483.2473,-568.4919 2472.6989,-567.5011 2480.3271,-574.8538 2483.2473,-568.4919"/>
+</g>
+<!-- Node65&#45;&gt;Node16 -->
+<g id="edge166" class="edge">
+<title>Node65&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M371.3882,-772.4562C357.8598,-763.8078 338.1352,-750.2658 323,-736 216.0358,-635.1794 164,-592.9902 164,-446 164,-446 164,-446 164,-133 164,-101.7875 163.9288,-86.8696 188,-67 231.9311,-30.737 405.3957,-19.6819 478.374,-16.5962"/>
+<polygon fill="#191970" stroke="#191970" points="478.5323,-20.0927 488.3848,-16.1967 478.2532,-13.0983 478.5323,-20.0927"/>
+</g>
+<!-- Node49 -->
+<g id="node45" class="node">
+<title>Node49</title>
+<polygon fill="#ffffff" stroke="#bfbfbf" points="332.5,-716.5 332.5,-735.5 427.5,-735.5 427.5,-716.5 332.5,-716.5"/>
+<text text-anchor="middle" x="380" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">dmlc/common.h</text>
+</g>
+<!-- Node65&#45;&gt;Node49 -->
+<g id="edge165" class="edge">
+<title>Node65&#45;&gt;Node49</title>
+<path fill="none" stroke="#191970" d="M385.7807,-772.2455C384.8673,-764.9382 383.5868,-754.6944 382.4631,-745.7046"/>
+<polygon fill="#191970" stroke="#191970" points="385.9187,-745.1313 381.2053,-735.6427 378.9728,-745.9996 385.9187,-745.1313"/>
+</g>
+<!-- Node66&#45;&gt;Node3 -->
+<g id="edge179" class="edge">
+<title>Node66&#45;&gt;Node3</title>
+<path fill="none" stroke="#191970" d="M1084.0197,-884.4967C1151.6872,-870.4864 1283.7609,-844.2021 1397,-828 1607.9517,-797.8173 2205.7874,-794.2149 2334,-624 2371.252,-574.5443 2278.9001,-534.2975 2220.8493,-514.776"/>
+<polygon fill="#191970" stroke="#191970" points="2221.7432,-511.3859 2211.1505,-511.5983 2219.5637,-518.038 2221.7432,-511.3859"/>
+</g>
+<!-- Node66&#45;&gt;Node21 -->
+<g id="edge180" class="edge">
+<title>Node66&#45;&gt;Node21</title>
+<path fill="none" stroke="#191970" d="M1107.2073,-890.5901C1429.2031,-874.1718 2784.098,-801.3746 2844,-736 3003.4873,-561.9421 2667.0942,-482.3329 2460,-369 2244.4947,-251.0642 1946.294,-206.135 1840.3079,-193.2801"/>
+<polygon fill="#191970" stroke="#191970" points="1840.4219,-189.7692 1830.0794,-192.0675 1839.5978,-196.7205 1840.4219,-189.7692"/>
+</g>
+<!-- Node66&#45;&gt;Node16 -->
+<g id="edge182" class="edge">
+<title>Node66&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M970.9842,-893.5429C745.6858,-891.1397 38,-876.1015 38,-782 38,-782 38,-782 38,-133 38,-42.1971 370.474,-21.0601 477.9334,-16.5999"/>
+<polygon fill="#191970" stroke="#191970" points="478.3313,-20.087 488.1862,-16.1972 478.0565,-13.0924 478.3313,-20.087"/>
+</g>
+<!-- Node66&#45;&gt;Node18 -->
+<g id="edge183" class="edge">
+<title>Node66&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1107.0122,-891.6504C1263.4937,-886.0411 1661.0992,-870.6278 1993,-848 2275.6614,-828.7292 2348.301,-837.1366 2628,-792 2762.7668,-770.2519 2864.8468,-807.3539 2914,-680 2996.8029,-465.4613 2870.1906,-301.3269 2650,-235 2560.098,-207.9193 2271.7227,-194.2453 2172.7319,-190.2622"/>
+<polygon fill="#191970" stroke="#191970" points="2172.8145,-186.7628 2162.6841,-189.8652 2172.5381,-193.7573 2172.8145,-186.7628"/>
+</g>
+<!-- Node66&#45;&gt;Node34 -->
+<g id="edge181" class="edge">
+<title>Node66&#45;&gt;Node34</title>
+<path fill="none" stroke="#191970" d="M970.9521,-889.3904C800.264,-877.1305 364.5853,-841.2618 323,-792 220.1661,-670.1834 388.2527,-804.3098 577,-400 607.4985,-334.67 615.883,-247.8955 618.1625,-209.1599"/>
+<polygon fill="#191970" stroke="#191970" points="621.679,-208.9226 618.6916,-198.7577 614.688,-208.567 621.679,-208.9226"/>
+</g>
+<!-- Node67 -->
+<g id="node47" class="node">
+<title>Node67</title>
+<g id="a_node47"><a xlink:href="ir_2transform_8h.html" target="_top" xlink:title="tvm/ir/transform.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="707,-828.5 707,-847.5 813,-847.5 813,-828.5 707,-828.5"/>
+<text text-anchor="middle" x="760" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/ir/transform.h</text>
+</a>
+</g>
+</g>
+<!-- Node66&#45;&gt;Node67 -->
+<g id="edge168" class="edge">
+<title>Node66&#45;&gt;Node67</title>
+<path fill="none" stroke="#191970" d="M991.3552,-884.4369C943.2053,-874.7724 868.7729,-859.8326 817.4007,-849.5213"/>
+<polygon fill="#191970" stroke="#191970" points="817.9415,-846.0601 807.4483,-847.5237 816.5639,-852.9232 817.9415,-846.0601"/>
+</g>
+<!-- Node72 -->
+<g id="node48" class="node">
+<title>Node72</title>
+<g id="a_node48"><a xlink:href="attr__registry__map_8h.html" target="_top" xlink:title="Attribute map used in registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="990,-302.5 990,-332.5 1116,-332.5 1116,-302.5 990,-302.5"/>
+<text text-anchor="start" x="998" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/node/attr_registry</text>
+<text text-anchor="middle" x="1053" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_map.h</text>
+</a>
+</g>
+</g>
+<!-- Node66&#45;&gt;Node72 -->
+<g id="edge175" class="edge">
+<title>Node66&#45;&gt;Node72</title>
+<path fill="none" stroke="#191970" d="M970.7003,-889.3424C885.5464,-882.7528 745.4109,-869.1071 698,-848 662.8559,-832.354 648.1623,-826.9096 632,-792 534.4843,-581.3714 882.8822,-395.9447 1009.0665,-336.9849"/>
+<polygon fill="#191970" stroke="#191970" points="1010.8588,-340.0122 1018.4644,-332.6361 1007.9191,-333.6594 1010.8588,-340.0122"/>
+</g>
+<!-- Node67&#45;&gt;Node19 -->
+<g id="edge170" class="edge">
+<title>Node67&#45;&gt;Node19</title>
+<path fill="none" stroke="#191970" d="M773.8085,-828.1886C845.6514,-777.3087 1184.5913,-539.3149 1477,-369 1496.1993,-357.8173 1518.0856,-346.4019 1536.478,-337.1697"/>
+<polygon fill="#191970" stroke="#191970" points="1538.0814,-340.2812 1545.4711,-332.6889 1534.9597,-334.0158 1538.0814,-340.2812"/>
+</g>
+<!-- Node67&#45;&gt;Node16 -->
+<g id="edge174" class="edge">
+<title>Node67&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M706.6583,-834.3274C659.0001,-829.4269 588.2288,-818.085 532,-792 482.6348,-769.099 481.1658,-746.3551 436,-716 366.9571,-669.5976 328.2973,-686.1474 273,-624 216.3831,-560.3695 202,-531.1723 202,-446 202,-446 202,-446 202,-133 202,-101.7875 202.1354,-87.1172 226,-67 263.782,-35.1509 411.5594,-21.8491 478.1493,-17.389"/>
+<polygon fill="#191970" stroke="#191970" points="478.7278,-20.8591 488.4826,-16.7246 478.2787,-13.8735 478.7278,-20.8591"/>
+</g>
+<!-- Node67&#45;&gt;Node14 -->
+<g id="edge173" class="edge">
+<title>Node67&#45;&gt;Node14</title>
+<path fill="none" stroke="#191970" d="M813.487,-837.0421C1119.8869,-831.3348 2645.6293,-799.8735 2844,-736 3067.6903,-663.9738 3239,-619.5003 3239,-384.5 3239,-384.5 3239,-384.5 3239,-133 3239,-98.6999 3226.6163,-87.3429 3199,-67 3171.3721,-46.6485 3075.2694,-28.7743 3024.3076,-20.4556"/>
+<polygon fill="#191970" stroke="#191970" points="3024.5871,-16.9558 3014.159,-18.828 3023.4786,-23.8674 3024.5871,-16.9558"/>
+</g>
+<!-- Node67&#45;&gt;Node31 -->
+<g id="edge171" class="edge">
+<title>Node67&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M765.1012,-828.371C782.4141,-795.9176 841.0264,-687.8825 898,-604 1012.3089,-435.7024 1062.6023,-397.9535 1242,-302 1267.1714,-288.5367 1296.6048,-277.2556 1322.2032,-268.7165"/>
+<polygon fill="#191970" stroke="#191970" points="1323.3901,-272.0108 1331.8094,-265.5792 1321.2169,-265.3567 1323.3901,-272.0108"/>
+</g>
+<!-- Node67&#45;&gt;Node58 -->
+<g id="edge169" class="edge">
+<title>Node67&#45;&gt;Node58</title>
+<path fill="none" stroke="#191970" d="M813.1168,-834.8084C975.6658,-825.0415 1465.5266,-795.6078 1634.1949,-785.4733"/>
+<polygon fill="#191970" stroke="#191970" points="1634.5888,-788.956 1644.3608,-784.8624 1634.1689,-781.9686 1634.5888,-788.956"/>
+</g>
+<!-- Node67&#45;&gt;Node65 -->
+<g id="edge172" class="edge">
+<title>Node67&#45;&gt;Node65</title>
+<path fill="none" stroke="#191970" d="M706.9543,-830.036C639.721,-819.942 523.8955,-802.5527 451.5868,-791.6967"/>
+<polygon fill="#191970" stroke="#191970" points="452.091,-788.2332 441.6822,-790.2097 451.0517,-795.1557 452.091,-788.2332"/>
+</g>
+<!-- Node72&#45;&gt;Node16 -->
+<g id="edge177" class="edge">
+<title>Node72&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M1019.8614,-302.4244C997.3344,-292.1696 966.8607,-278.2842 940,-266 825.2057,-213.5014 791.4145,-209.302 684,-143 653.3025,-124.0519 570.2697,-60.9798 531.4823,-31.2553"/>
+<polygon fill="#191970" stroke="#191970" points="533.547,-28.4279 523.4828,-25.1168 529.2855,-33.9813 533.547,-28.4279"/>
+</g>
+<!-- Node72&#45;&gt;Node18 -->
+<g id="edge178" class="edge">
+<title>Node72&#45;&gt;Node18</title>
+<path fill="none" stroke="#191970" d="M1116.082,-310.0359C1318.9983,-286.026 1950.6377,-211.2878 2104.8034,-193.0463"/>
+<polygon fill="#191970" stroke="#191970" points="2105.5463,-196.4829 2115.0657,-191.832 2104.7237,-189.5314 2105.5463,-196.4829"/>
+</g>
+<!-- Node72&#45;&gt;Node31 -->
+<g id="edge176" class="edge">
+<title>Node72&#45;&gt;Node31</title>
+<path fill="none" stroke="#191970" d="M1116.0276,-304.7891C1120.7553,-303.8429 1125.4529,-302.9049 1130,-302 1208.1222,-286.453 1230.1169,-282.9852 1311.5624,-266.2775"/>
+<polygon fill="#191970" stroke="#191970" points="1312.7074,-269.6154 1321.7973,-264.1727 1311.2972,-262.7589 1312.7074,-269.6154"/>
+</g>
+<!-- Node74 -->
+<g id="node50" class="node">
+<title>Node74</title>
+<g id="a_node50"><a xlink:href="instruction_8h.html" target="_top" xlink:title="tvm/tir/schedule/instruction.h">
+<polygon fill="#ffffff" stroke="#000000" points="306,-492.5 306,-511.5 466,-511.5 466,-492.5 306,-492.5"/>
+<text text-anchor="middle" x="386" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm/tir/schedule/instruction.h</text>
+</a>
+</g>
+</g>
+<!-- Node73&#45;&gt;Node74 -->
+<g id="edge188" class="edge">
+<title>Node73&#45;&gt;Node74</title>
+<path fill="none" stroke="#191970" d="M147.3273,-660.4862C189.2372,-632.6567 311.8618,-551.2301 363.0933,-517.2108"/>
+<polygon fill="#191970" stroke="#191970" points="365.1218,-520.0652 371.5163,-511.6177 361.2495,-514.2338 365.1218,-520.0652"/>
+</g>
+<!-- Node74&#45;&gt;Node4 -->
+<g id="edge189" class="edge">
+<title>Node74&#45;&gt;Node4</title>
+<path fill="none" stroke="#191970" d="M466.0257,-499.3084C750.5788,-489.7379 1710.7615,-457.4435 1980.1795,-448.382"/>
+<polygon fill="#191970" stroke="#191970" points="1980.3502,-451.8783 1990.2269,-448.044 1980.1149,-444.8822 1980.3502,-451.8783"/>
+</g>
+<!-- Node74&#45;&gt;Node16 -->
+<g id="edge190" class="edge">
+<title>Node74&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M375.3685,-492.4806C355.7862,-473.8398 316,-430.3277 316,-384.5 316,-384.5 316,-384.5 316,-133 316,-101.7875 317.3176,-88.4413 340,-67 360.0247,-48.071 434.6812,-30.5999 478.4499,-21.6879"/>
+<polygon fill="#191970" stroke="#191970" points="479.2161,-25.104 488.3369,-19.7131 477.845,-18.2396 479.2161,-25.104"/>
+</g>
+</g>
+</svg>
diff --git a/docs/reference/api/doxygen/apply__history__best_8h_source.html b/docs/reference/api/doxygen/apply__history__best_8h_source.html
new file mode 100644
index 000000000..a10565833
--- /dev/null
+++ b/docs/reference/api/doxygen/apply__history__best_8h_source.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>tvm: include/tvm/meta_schedule/apply_history_best.h Source File</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.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4c7d8e826c599ba55146c099a14beb5.html">tvm</a></li><li class="navelem"><a class="el" href="dir_4378f18824ae7d4ad48f8d7785cd7ac8.html">meta_schedule</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">apply_history_best.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="apply__history__best_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">  [...]
+<div class="ttc" id="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode_html_ae4c80b6dfe62636442a96bafb6887aa4"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html#ae4c80b6dfe62636442a96bafb6887aa4">tvm::meta_schedule::ApplyHistoryBestNode::database</a></div><div class="ttdeci">Database database</div><div class="ttdoc">The database to be queried from. </div><div class="ttdef"><b>Definition:</b> apply_history_best.h:35</div></div>
+<div class="ttc" id="namespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">runtime implementation for LibTorch/TorchScript. </div><div class="ttdef"><b>Definition:</b> analyzer.h:36</div></div>
+<div class="ttc" id="classtvm_1_1meta__schedule_1_1ApplyHistoryBest_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">tvm::meta_schedule::ApplyHistoryBest</a></div><div class="ttdoc">Managed reference to ApplyHistoryBestNode. </div><div class="ttdef"><b>Definition:</b> apply_history_best.h:56</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1Object_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></div><div class="ttdoc">base class of all object containers. </div><div class="ttdef"><b>Definition:</b> object.h:167</div></div>
+<div class="ttc" id="classtvm_1_1AttrVisitor_html"><div class="ttname"><a href="classtvm_1_1AttrVisitor.html">tvm::AttrVisitor</a></div><div class="ttdoc">Visitor class to get the attributes of an AST/IR node. The content is going to be called for each fie...</div><div class="ttdef"><b>Definition:</b> reflection.h:52</div></div>
+<div class="ttc" id="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode_html_a86fc3705d9a37c98f75a9a843878178a"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html#a86fc3705d9a37c98f75a9a843878178a">tvm::meta_schedule::ApplyHistoryBestNode::Query</a></div><div class="ttdeci">Optional&lt; IRModule &gt; Query(runtime::String task_name, IRModule mod, Target target, Optional&lt; Array&lt; IRModule &gt;&gt; dispatched)</div><div class="ttdoc">Query the best en [...]
+<div class="ttc" id="classtvm_1_1meta__schedule_1_1Database_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1Database.html">tvm::meta_schedule::Database</a></div><div class="ttdoc">Managed reference to DatabaseNode. </div><div class="ttdef"><b>Definition:</b> database.h:281</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1Array_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Array.html">tvm::runtime::Array</a></div><div class="ttdoc">Array, container representing a contiguous sequence of ObjectRefs. </div><div class="ttdef"><b>Definition:</b> array.h:270</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:129</div></div>
+<div class="ttc" id="classtvm_1_1Target_html"><div class="ttname"><a href="classtvm_1_1Target.html">tvm::Target</a></div><div class="ttdoc">Managed reference class to TargetNode. </div><div class="ttdef"><b>Definition:</b> target.h:141</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1ObjectRef_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></div><div class="ttdoc">Base class of all object reference. </div><div class="ttdef"><b>Definition:</b> object.h:511</div></div>
+<div class="ttc" id="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode_html_a755012568d85aa7cba250c5f8be766cc"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html#a755012568d85aa7cba250c5f8be766cc">tvm::meta_schedule::ApplyHistoryBestNode::_type_key</a></div><div class="ttdeci">static constexpr const char * _type_key</div><div class="ttdef"><b>Definition:</b> apply_history_best.h:48</div></div>
+<div class="ttc" id="classtvm_1_1IRModule_html"><div class="ttname"><a href="classtvm_1_1IRModule.html">tvm::IRModule</a></div><div class="ttdoc">Managed reference class to IRModuleNode. </div><div class="ttdef"><b>Definition:</b> module.h:395</div></div>
+<div class="ttc" id="target_8h_html"><div class="ttname"><a href="target_8h.html">target.h</a></div><div class="ttdoc">Compilation target object. </div></div>
+<div class="ttc" id="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode_html"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html">tvm::meta_schedule::ApplyHistoryBestNode</a></div><div class="ttdoc">An integration context that allows application of historically best records from a database...</div><div class="ttdef"><b>Definition:</b> apply_history_best.h:32</div></div>
+<div class="ttc" id="classtvm_1_1runtime_1_1Optional_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Optional.html">tvm::runtime::Optional</a></div><div class="ttdoc">Optional container that to represent to a Nullable variant of T. </div><div class="ttdef"><b>Definition:</b> optional.h:51</div></div>
+<div class="ttc" id="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode_html_a124bdf490b05d2534053b09299db18dd"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html#a124bdf490b05d2534053b09299db18dd">tvm::meta_schedule::ApplyHistoryBestNode::TVM_DECLARE_FINAL_OBJECT_INFO</a></div><div class="ttdeci">TVM_DECLARE_FINAL_OBJECT_INFO(ApplyHistoryBestNode, runtime::Object)</div></div>
+<div class="ttc" id="database_8h_html"><div class="ttname"><a href="database_8h.html">database.h</a></div></div>
+<div class="ttc" id="namespacetvm_1_1topi_html_aaa95d3ad68932ab206efbe0a326db6a2"><div class="ttname"><a href="namespacetvm_1_1topi.html#aaa95d3ad68932ab206efbe0a326db6a2">tvm::topi::mod</a></div><div class="ttdeci">tvm::PrimExpr mod(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)</div><div class="ttdef"><b>Definition:</b> broadcast.h:290</div></div>
+<div class="ttc" id="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode_html_a1ef1c1f1d65ff784abf4c7e064d54637"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html#a1ef1c1f1d65ff784abf4c7e064d54637">tvm::meta_schedule::ApplyHistoryBestNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> apply_history_best.h:37</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>
diff --git a/docs/reference/api/doxygen/arg__info_8h__dep__incl.svg b/docs/reference/api/doxygen/arg__info_8h__dep__incl.svg
index 8a354a058..757c5345a 100644
--- a/docs/reference/api/doxygen/arg__info_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/arg__info_8h__dep__incl.svg
@@ -67,10 +67,10 @@
 <!-- Node57 -->
 <g id="node3" class="node">
 <title>Node57</title>
-<g id="a_node3"><a xlink:href="integration_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/integration.h">
+<g id="a_node3"><a xlink:href="apply__history__best_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/apply_history_best.h">
 <polygon fill="#ffffff" stroke="#000000" points="0,-201.5 0,-231.5 152,-231.5 152,-201.5 0,-201.5"/>
 <text text-anchor="start" x="8" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="76" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/integration.h</text>
+<text text-anchor="middle" x="76" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/arg__info_8h_source.html b/docs/reference/api/doxygen/arg__info_8h_source.html
index abd24e922..6e5146171 100644
--- a/docs/reference/api/doxygen/arg__info_8h_source.html
+++ b/docs/reference/api/doxygen/arg__info_8h_source.html
@@ -66,7 +66,7 @@ $(function() {
 <div class="title">arg_info.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="arg__info_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more c [...]
+<a href="arg__info_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * or more c [...]
 <div class="ttc" id="node_8h_html"><div class="ttname"><a href="node_8h.html">node.h</a></div><div class="ttdoc">Definitions and helper macros for IR/AST nodes. </div></div>
 <div class="ttc" id="namespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">runtime implementation for LibTorch/TorchScript. </div><div class="ttdef"><b>Definition:</b> analyzer.h:36</div></div>
 <div class="ttc" id="classtvm_1_1meta__schedule_1_1ArgInfoNode_html_afa222e9c13224606febc09458b55de8d"><div class="ttname"><a href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html#afa222e9c13224606febc09458b55de8d">tvm::meta_schedule::ArgInfoNode::~ArgInfoNode</a></div><div class="ttdeci">virtual ~ArgInfoNode()=default</div><div class="ttdoc">Default destructor. </div></div>
diff --git a/docs/reference/api/doxygen/array_8h__dep__incl.svg b/docs/reference/api/doxygen/array_8h__dep__incl.svg
index 8cdb1ce4d..ecbb1dba4 100644
--- a/docs/reference/api/doxygen/array_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/array_8h__dep__incl.svg
@@ -61,69 +61,69 @@
 <path fill="none" stroke="#191970" d="M1629.9029,-1009.1018C1724.9482,-990.2088 1889.986,-951.2626 1925,-903 2051.1461,-729.1226 1804.8457,-459.1322 1752.502,-405.0989"/>
 <polygon fill="#191970" stroke="#191970" points="1629.2211,-1005.6687 1620.084,-1011.0318 1630.5713,-1012.5373 1629.2211,-1005.6687"/>
 </g>
-<!-- Node148 -->
+<!-- Node149 -->
 <g id="node32" class="node">
-<title>Node148</title>
+<title>Node149</title>
 <g id="a_node32"><a xlink:href="ir_2function_8h.html" target="_top" xlink:title="Function nodes. ">
 <polygon fill="#ffffff" stroke="#000000" points="979,-565 979,-584 1115,-584 1115,-565 979,-565"/>
 <text text-anchor="middle" x="1047" y="-572" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/function.h</text>
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node148 -->
+<!-- Node19&#45;&gt;Node149 -->
 <g id="edge61" class="edge">
-<title>Node19&#45;&gt;Node148</title>
+<title>Node19&#45;&gt;Node149</title>
 <path fill="none" stroke="#191970" d="M1493.9135,-1014.7252C1371.7601,-1000.6702 1128,-963.146 1128,-887.5 1128,-887.5 1128,-887.5 1128,-764.5 1128,-689.9142 1074.5273,-611.1006 1054.4751,-584.1677"/>
 <polygon fill="#191970" stroke="#191970" points="1493.5895,-1018.2108 1503.9192,-1015.8553 1494.3752,-1011.255 1493.5895,-1018.2108"/>
 </g>
-<!-- Node152 -->
+<!-- Node153 -->
 <g id="node34" class="node">
-<title>Node152</title>
+<title>Node153</title>
 <g id="a_node34"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM. ">
 <polygon fill="#ffffff" stroke="#000000" points="655,-755 655,-774 773,-774 773,-755 655,-755"/>
 <text text-anchor="middle" x="714" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type.h</text>
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node152 -->
+<!-- Node19&#45;&gt;Node153 -->
 <g id="edge71" class="edge">
-<title>Node19&#45;&gt;Node152</title>
+<title>Node19&#45;&gt;Node153</title>
 <path fill="none" stroke="#191970" d="M1493.7806,-1016.6683C1386.4684,-1008.5613 1183.3117,-991.0252 1114,-970 952.2501,-920.9345 777.9995,-807.8823 728.0777,-774.1632"/>
 <polygon fill="#191970" stroke="#191970" points="1493.6252,-1020.1663 1503.8587,-1017.4232 1494.1481,-1013.1859 1493.6252,-1020.1663"/>
 </g>
-<!-- Node174 -->
+<!-- Node175 -->
 <g id="node39" class="node">
-<title>Node174</title>
+<title>Node175</title>
 <g id="a_node39"><a xlink:href="buffer_8h.html" target="_top" xlink:title="Symbolic n&#45;dimensional array, to represent a memory buffer. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="2065,-565 2065,-584 2193,-584 2193,-565 2065,-565"/>
 <text text-anchor="middle" x="2129" y="-572" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/buffer.h</text>
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node174 -->
+<!-- Node19&#45;&gt;Node175 -->
 <g id="edge141" class="edge">
-<title>Node19&#45;&gt;Node174</title>
+<title>Node19&#45;&gt;Node175</title>
 <path fill="none" stroke="#191970" d="M1630.4994,-1018.4843C1840.3197,-1008.3444 2460,-971.3034 2460,-887.5 2460,-887.5 2460,-887.5 2460,-703 2460,-644.4384 2277.6712,-602.021 2183.6579,-584.0419"/>
 <polygon fill="#191970" stroke="#191970" points="1630.0499,-1015.0017 1620.2284,-1018.9749 1630.384,-1021.9937 1630.0499,-1015.0017"/>
 </g>
-<!-- Node175 -->
+<!-- Node176 -->
 <g id="node40" class="node">
-<title>Node175</title>
+<title>Node176</title>
 <g id="a_node40"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="2023.5,-447.5 2023.5,-466.5 2144.5,-466.5 2144.5,-447.5 2023.5,-447.5"/>
 <text text-anchor="middle" x="2084" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/expr.h</text>
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node175 -->
+<!-- Node19&#45;&gt;Node176 -->
 <g id="edge142" class="edge">
-<title>Node19&#45;&gt;Node175</title>
+<title>Node19&#45;&gt;Node176</title>
 <path fill="none" stroke="#191970" d="M1630.1904,-1019.5326C1788.7778,-1014.5127 2178.5565,-999.4928 2306,-970 2396.4861,-949.0599 2498,-980.3775 2498,-887.5 2498,-887.5 2498,-887.5 2498,-574.5 2498,-501.9343 2259.635,-471.8408 2144.6425,-461.5451"/>
 <polygon fill="#191970" stroke="#191970" points="1629.9697,-1016.0377 1620.0841,-1019.8488 1630.1887,-1023.0343 1629.9697,-1016.0377"/>
 </g>
-<!-- Node181 -->
+<!-- Node182 -->
 <g id="node41" class="node">
-<title>Node181</title>
+<title>Node182</title>
 <g id="a_node41"><a xlink:href="index__map_8h.html" target="_top" xlink:title="Defines a remapping of buffer indices. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1552,-626.5 1552,-656.5 1670,-656.5 1670,-626.5 1552,-626.5"/>
 <text text-anchor="start" x="1560" y="-644.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/index</text>
@@ -131,15 +131,15 @@
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node181 -->
+<!-- Node19&#45;&gt;Node182 -->
 <g id="edge143" class="edge">
-<title>Node19&#45;&gt;Node181</title>
+<title>Node19&#45;&gt;Node182</title>
 <path fill="none" stroke="#191970" d="M1562,-996.1092C1562,-969.1594 1562,-925.3265 1562,-887.5 1562,-887.5 1562,-887.5 1562,-764.5 1562,-723.1247 1586.2249,-679.1241 1600.6084,-656.6453"/>
 <polygon fill="#191970" stroke="#191970" points="1558.5001,-996.227 1562,-1006.2271 1565.5001,-996.2271 1558.5001,-996.227"/>
 </g>
-<!-- Node185 -->
+<!-- Node186 -->
 <g id="node42" class="node">
-<title>Node185</title>
+<title>Node186</title>
 <g id="a_node42"><a xlink:href="structural__equal_8h.html" target="_top" xlink:title="Structural equality comparison. ">
 <polygon fill="#ffffff" stroke="#000000" points="1339.5,-939.5 1339.5,-969.5 1490.5,-969.5 1490.5,-939.5 1339.5,-939.5"/>
 <text text-anchor="start" x="1347.5" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/structural</text>
@@ -147,15 +147,15 @@
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node185 -->
+<!-- Node19&#45;&gt;Node186 -->
 <g id="edge115" class="edge">
-<title>Node19&#45;&gt;Node185</title>
+<title>Node19&#45;&gt;Node186</title>
 <path fill="none" stroke="#191970" d="M1519.9036,-1002.3132C1497.1153,-991.9267 1469.3667,-979.2794 1448.1336,-969.6017"/>
 <polygon fill="#191970" stroke="#191970" points="1518.4593,-1005.5013 1529.0103,-1006.4639 1521.3625,-999.1317 1518.4593,-1005.5013"/>
 </g>
-<!-- Node194 -->
+<!-- Node195 -->
 <g id="node46" class="node">
-<title>Node194</title>
+<title>Node195</title>
 <g id="a_node46"><a xlink:href="papi_8h.html" target="_top" xlink:title="include/tvm/runtime\l/contrib/papi.h">
 <polygon fill="#ffffff" stroke="#000000" points="2526,-939.5 2526,-969.5 2642,-969.5 2642,-939.5 2526,-939.5"/>
 <text text-anchor="start" x="2534" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -163,15 +163,15 @@
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node194 -->
+<!-- Node19&#45;&gt;Node195 -->
 <g id="edge127" class="edge">
-<title>Node19&#45;&gt;Node194</title>
+<title>Node19&#45;&gt;Node195</title>
 <path fill="none" stroke="#191970" d="M1630.2512,-1019.2026C1818.3071,-1012.6489 2341.2992,-992.8553 2512,-970 2516.5624,-969.3891 2521.2654,-968.6436 2525.9793,-967.8132"/>
 <polygon fill="#191970" stroke="#191970" points="1630.0882,-1015.7061 1620.2156,-1019.5509 1630.331,-1022.7019 1630.0882,-1015.7061"/>
 </g>
-<!-- Node195 -->
+<!-- Node196 -->
 <g id="node47" class="node">
-<title>Node195</title>
+<title>Node196</title>
 <g id="a_node47"><a xlink:href="packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1590,-939.5 1590,-969.5 1706,-969.5 1706,-939.5 1590,-939.5"/>
 <text text-anchor="start" x="1598" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -179,9 +179,9 @@
 </a>
 </g>
 </g>
-<!-- Node19&#45;&gt;Node195 -->
+<!-- Node19&#45;&gt;Node196 -->
 <g id="edge128" class="edge">
-<title>Node19&#45;&gt;Node195</title>
+<title>Node19&#45;&gt;Node196</title>
 <path fill="none" stroke="#191970" d="M1589.5145,-1000.0643C1602.2304,-990.1577 1617.0316,-978.6265 1628.5625,-969.6432"/>
 <polygon fill="#191970" stroke="#191970" points="1587.2523,-997.3899 1581.5147,-1006.2967 1591.5544,-1002.9119 1587.2523,-997.3899"/>
 </g>
@@ -191,18 +191,18 @@
 <path fill="none" stroke="#191970" d="M725.9749,-623.4504C740.0007,-603.9497 765.1541,-573.7008 795,-559 848.4396,-532.6779 1013.6858,-520.6413 1107.3826,-515.8062"/>
 <polygon fill="#191970" stroke="#191970" points="723.004,-621.5924 720.1739,-631.8023 728.7532,-625.5857 723.004,-621.5924"/>
 </g>
-<!-- Node78 -->
+<!-- Node79 -->
 <g id="node17" class="node">
-<title>Node78</title>
+<title>Node79</title>
 <g id="a_node17"><a xlink:href="relay_2adt_8h.html" target="_top" xlink:title="Algebraic data types for Relay. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="206,-56.5 206,-75.5 336,-75.5 336,-56.5 206,-56.5"/>
 <text text-anchor="middle" x="271" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/adt.h</text>
 </a>
 </g>
 </g>
-<!-- Node20&#45;&gt;Node78 -->
+<!-- Node20&#45;&gt;Node79 -->
 <g id="edge60" class="edge">
-<title>Node20&#45;&gt;Node78</title>
+<title>Node20&#45;&gt;Node79</title>
 <path fill="none" stroke="#191970" d="M669.5258,-628.942C567.6307,-597.1553 326,-503.3446 326,-328.5 326,-328.5 326,-328.5 326,-194.5 326,-146.6948 293.4302,-96.3699 278.4175,-75.7124"/>
 <polygon fill="#191970" stroke="#191970" points="668.6396,-632.3309 679.2261,-631.9118 670.6889,-625.6376 668.6396,-632.3309"/>
 </g>
@@ -275,9 +275,9 @@
 <path fill="none" stroke="#191970" d="M1210.2406,-499.3756C1227.7319,-491.638 1248.2781,-480.7345 1264,-467 1326.7664,-412.1679 1304.7737,-363.5989 1371,-313 1397.7468,-292.5646 1433.2907,-279.7695 1462.4928,-272.0443"/>
 <polygon fill="#191970" stroke="#191970" points="1208.7246,-496.2168 1200.8876,-503.3464 1211.4602,-502.6601 1208.7246,-496.2168"/>
 </g>
-<!-- Node44 -->
+<!-- Node45 -->
 <g id="node11" class="node">
-<title>Node44</title>
+<title>Node45</title>
 <g id="a_node11"><a xlink:href="builder_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/builder.h">
 <polygon fill="#ffffff" stroke="#ff0000" points="1124,-179.5 1124,-209.5 1276,-209.5 1276,-179.5 1124,-179.5"/>
 <text text-anchor="start" x="1132" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
@@ -285,15 +285,15 @@
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node44 -->
+<!-- Node21&#45;&gt;Node45 -->
 <g id="edge47" class="edge">
-<title>Node21&#45;&gt;Node44</title>
+<title>Node21&#45;&gt;Node45</title>
 <path fill="none" stroke="#191970" d="M1181.0659,-493.6686C1183.7238,-485.5447 1186.4706,-475.9246 1188,-467 1204.5974,-370.1505 1202.1727,-251.2744 1200.6582,-209.7076"/>
 <polygon fill="#191970" stroke="#191970" points="1177.695,-492.7073 1177.7328,-503.3021 1184.3102,-494.9961 1177.695,-492.7073"/>
 </g>
-<!-- Node47 -->
+<!-- Node48 -->
 <g id="node12" class="node">
-<title>Node47</title>
+<title>Node48</title>
 <g id="a_node12"><a xlink:href="tune__context_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/tune_context.h">
 <polygon fill="#ffffff" stroke="#ff0000" points="1072,-112.5 1072,-142.5 1224,-142.5 1224,-112.5 1072,-112.5"/>
 <text text-anchor="start" x="1080" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
@@ -301,30 +301,30 @@
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node47 -->
+<!-- Node21&#45;&gt;Node48 -->
 <g id="edge50" class="edge">
-<title>Node21&#45;&gt;Node47</title>
+<title>Node21&#45;&gt;Node48</title>
 <path fill="none" stroke="#191970" d="M1175.241,-493.3234C1177.3711,-447.8648 1178.5091,-332.8009 1143,-246 1135.3253,-227.2393 1121.5783,-229.1726 1115,-210 1110.5286,-196.968 1111.1272,-192.2223 1115,-179 1118.9401,-165.548 1127.5907,-152.2761 1135.0465,-142.5751"/>
 <polygon fill="#191970" stroke="#191970" points="1171.7455,-493.1468 1174.6997,-503.3214 1178.7353,-493.5252 1171.7455,-493.1468"/>
 </g>
-<!-- Node50 -->
+<!-- Node51 -->
 <g id="node13" class="node">
-<title>Node50</title>
+<title>Node51</title>
 <g id="a_node13"><a xlink:href="interpreter_8h.html" target="_top" xlink:title="An interpreter for Relay. ">
 <polygon fill="#ffffff" stroke="#000000" points="1221.5,-56.5 1221.5,-75.5 1386.5,-75.5 1386.5,-56.5 1221.5,-56.5"/>
 <text text-anchor="middle" x="1304" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/interpreter.h</text>
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node50 -->
+<!-- Node21&#45;&gt;Node51 -->
 <g id="edge55" class="edge">
-<title>Node21&#45;&gt;Node50</title>
+<title>Node21&#45;&gt;Node51</title>
 <path fill="none" stroke="#191970" d="M1187.8055,-494.9957C1193.5185,-486.8188 1199.7805,-476.7982 1204,-467 1243.9508,-374.2293 1213.2283,-337.0303 1257,-246 1265.7839,-227.7324 1277.1792,-228.7002 1285,-210 1304.8482,-162.5413 1305.1285,-99.2785 1304.4235,-75.5361"/>
 <polygon fill="#191970" stroke="#191970" points="1184.7894,-493.1916 1181.7267,-503.3341 1190.4459,-497.3152 1184.7894,-493.1916"/>
 </g>
-<!-- Node53 -->
+<!-- Node54 -->
 <g id="node14" class="node">
-<title>Node53</title>
+<title>Node54</title>
 <g id="a_node14"><a xlink:href="codegen_8h.html" target="_top" xlink:title="Translates IRModule to runtime::Module. ">
 <polygon fill="#ffffff" stroke="#000000" points="2406.5,-179.5 2406.5,-209.5 2513.5,-209.5 2513.5,-179.5 2406.5,-179.5"/>
 <text text-anchor="start" x="2414.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
@@ -332,75 +332,75 @@
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node53 -->
+<!-- Node21&#45;&gt;Node54 -->
 <g id="edge56" class="edge">
-<title>Node21&#45;&gt;Node53</title>
+<title>Node21&#45;&gt;Node54</title>
 <path fill="none" stroke="#191970" d="M1250.641,-512.2436C1450.0273,-509.8215 1981.4046,-500.3404 2154,-467 2277.5449,-443.1347 2313.5677,-426.0095 2409,-344 2440.466,-316.9598 2458.4139,-315.4494 2474,-277 2483.0597,-254.6505 2474.4835,-226.5966 2467.3336,-209.6336"/>
 <polygon fill="#191970" stroke="#191970" points="1250.5031,-508.7449 1240.5455,-512.3637 1250.5864,-515.7444 1250.5031,-508.7449"/>
 </g>
-<!-- Node76 -->
+<!-- Node77 -->
 <g id="node16" class="node">
-<title>Node76</title>
+<title>Node77</title>
 <g id="a_node16"><a xlink:href="relay_2expr_8h.html" target="_top" xlink:title="Relay expression language. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="652.5,-118 652.5,-137 787.5,-137 787.5,-118 652.5,-118"/>
 <text text-anchor="middle" x="720" y="-125" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node76 -->
+<!-- Node21&#45;&gt;Node77 -->
 <g id="edge53" class="edge">
-<title>Node21&#45;&gt;Node76</title>
+<title>Node21&#45;&gt;Node77</title>
 <path fill="none" stroke="#191970" d="M1141.421,-499.134C1123.7259,-490.9298 1101.8747,-479.675 1084,-467 967.8352,-384.6273 956.5516,-342.6874 852,-246 807.6842,-205.0176 753.851,-157.327 731.051,-137.2232"/>
 <polygon fill="#191970" stroke="#191970" points="1140.219,-502.4317 1150.7724,-503.3677 1143.106,-496.0548 1140.219,-502.4317"/>
 </g>
-<!-- Node79 -->
+<!-- Node80 -->
 <g id="node18" class="node">
-<title>Node79</title>
+<title>Node80</title>
 <g id="a_node18"><a xlink:href="relay_2analysis_8h.html" target="_top" xlink:title="The set of Relay analysis passes written in C++. ">
 <polygon fill="#ffffff" stroke="#000000" points="286.5,-.5 286.5,-19.5 441.5,-19.5 441.5,-.5 286.5,-.5"/>
 <text text-anchor="middle" x="364" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/analysis.h</text>
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node79 -->
+<!-- Node21&#45;&gt;Node80 -->
 <g id="edge52" class="edge">
-<title>Node21&#45;&gt;Node79</title>
+<title>Node21&#45;&gt;Node80</title>
 <path fill="none" stroke="#191970" d="M1133.0027,-500.1831C1109.488,-492.0958 1079.8057,-480.6141 1055,-467 1018.2184,-446.8132 1012.4512,-436.3262 979,-411 922.4382,-368.1766 911.2351,-353.5187 853,-313 673.8716,-188.3665 444.2899,-55.7541 380.8733,-19.5772"/>
 <polygon fill="#191970" stroke="#191970" points="1132.0765,-503.5643 1142.6706,-503.4376 1134.3098,-496.9301 1132.0765,-503.5643"/>
 </g>
-<!-- Node87 -->
+<!-- Node88 -->
 <g id="node19" class="node">
-<title>Node87</title>
+<title>Node88</title>
 <g id="a_node19"><a xlink:href="relay_2feature_8h.html" target="_top" xlink:title="Detect features used in Expr/Module. ">
 <polygon fill="#ffffff" stroke="#000000" points="891.5,-56.5 891.5,-75.5 1040.5,-75.5 1040.5,-56.5 891.5,-56.5"/>
 <text text-anchor="middle" x="966" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/feature.h</text>
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node87 -->
+<!-- Node21&#45;&gt;Node88 -->
 <g id="edge54" class="edge">
-<title>Node21&#45;&gt;Node87</title>
+<title>Node21&#45;&gt;Node88</title>
 <path fill="none" stroke="#191970" d="M1153.2171,-497.1079C1110.0125,-462.6304 1011.339,-376.0464 973,-277 944.8185,-204.195 958.6869,-106.4718 964.1408,-75.697"/>
 <polygon fill="#191970" stroke="#191970" points="1151.0606,-499.8647 1161.0841,-503.2969 1155.3888,-494.3631 1151.0606,-499.8647"/>
 </g>
-<!-- Node91 -->
+<!-- Node92 -->
 <g id="node21" class="node">
-<title>Node91</title>
+<title>Node92</title>
 <g id="a_node21"><a xlink:href="tir_2analysis_8h.html" target="_top" xlink:title="Analysis utilitie and passes for TIR. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1898,-319 1898,-338 2038,-338 2038,-319 1898,-319"/>
 <text text-anchor="middle" x="1968" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/analysis.h</text>
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node91 -->
+<!-- Node21&#45;&gt;Node92 -->
 <g id="edge58" class="edge">
-<title>Node21&#45;&gt;Node91</title>
+<title>Node21&#45;&gt;Node92</title>
 <path fill="none" stroke="#191970" d="M1251.0392,-503.3725C1252.3693,-503.2442 1253.6904,-503.1199 1255,-503 1321.7294,-496.8918 1797.4853,-497.7916 1857,-467 1913.9264,-437.5476 1951.6248,-364.5237 1963.7603,-338.1752"/>
 <polygon fill="#191970" stroke="#191970" points="1250.3025,-499.9294 1240.7093,-504.4259 1251.0128,-506.8933 1250.3025,-499.9294"/>
 </g>
-<!-- Node108 -->
+<!-- Node109 -->
 <g id="node23" class="node">
-<title>Node108</title>
+<title>Node109</title>
 <g id="a_node23"><a xlink:href="type__relation_8h.html" target="_top" xlink:title="Type relation and function for type inference(checking). ">
 <polygon fill="#ffffff" stroke="#000000" points="506.5,-380.5 506.5,-410.5 615.5,-410.5 615.5,-380.5 506.5,-380.5"/>
 <text text-anchor="start" x="514.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
@@ -408,30 +408,30 @@
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node108 -->
+<!-- Node21&#45;&gt;Node109 -->
 <g id="edge46" class="edge">
-<title>Node21&#45;&gt;Node108</title>
+<title>Node21&#45;&gt;Node109</title>
 <path fill="none" stroke="#191970" d="M1096.9795,-504.9792C1028.8095,-497.2737 926.8017,-484.2595 839,-467 758.9282,-451.26 667.5482,-426.4019 612.088,-410.5305"/>
 <polygon fill="#191970" stroke="#191970" points="1096.8767,-508.4895 1107.204,-506.1238 1097.6555,-501.5329 1096.8767,-508.4895"/>
 </g>
-<!-- Node138 -->
+<!-- Node139 -->
 <g id="node29" class="node">
-<title>Node138</title>
+<title>Node139</title>
 <g id="a_node29"><a xlink:href="error_8h.html" target="_top" xlink:title="Utilities for error tracking and reporting. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1563.5,-447.5 1563.5,-466.5 1682.5,-466.5 1682.5,-447.5 1563.5,-447.5"/>
 <text text-anchor="middle" x="1623" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/error.h</text>
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node138 -->
+<!-- Node21&#45;&gt;Node139 -->
 <g id="edge43" class="edge">
-<title>Node21&#45;&gt;Node138</title>
+<title>Node21&#45;&gt;Node139</title>
 <path fill="none" stroke="#191970" d="M1250.7171,-503.4317C1339.2378,-492.3913 1482.9163,-474.4715 1563.4401,-464.4284"/>
 <polygon fill="#191970" stroke="#191970" points="1250.2249,-499.9659 1240.735,-504.6767 1251.0913,-506.9121 1250.2249,-499.9659"/>
 </g>
-<!-- Node139 -->
+<!-- Node140 -->
 <g id="node30" class="node">
-<title>Node139</title>
+<title>Node140</title>
 <g id="a_node30"><a xlink:href="space__generator_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/space_generator.h">
 <polygon fill="#ffffff" stroke="#000000" points="982,-246.5 982,-276.5 1134,-276.5 1134,-246.5 982,-246.5"/>
 <text text-anchor="start" x="990" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
@@ -439,15 +439,15 @@
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node139 -->
+<!-- Node21&#45;&gt;Node140 -->
 <g id="edge48" class="edge">
-<title>Node21&#45;&gt;Node139</title>
+<title>Node21&#45;&gt;Node140</title>
 <path fill="none" stroke="#191970" d="M1165.3479,-494.2413C1143.2846,-446.4059 1085.2434,-320.5664 1065.0478,-276.7804"/>
 <polygon fill="#191970" stroke="#191970" points="1162.2277,-495.8333 1169.5943,-503.448 1168.5842,-492.9014 1162.2277,-495.8333"/>
 </g>
-<!-- Node140 -->
+<!-- Node141 -->
 <g id="node31" class="node">
-<title>Node140</title>
+<title>Node141</title>
 <g id="a_node31"><a xlink:href="state_8h.html" target="_top" xlink:title="This file defines ScheduleState, the core data structure of TensorIR scheduling. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="2222,-313.5 2222,-343.5 2356,-343.5 2356,-313.5 2222,-313.5"/>
 <text text-anchor="start" x="2230" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/schedule</text>
@@ -455,9 +455,9 @@
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node140 -->
+<!-- Node21&#45;&gt;Node141 -->
 <g id="edge59" class="edge">
-<title>Node21&#45;&gt;Node140</title>
+<title>Node21&#45;&gt;Node141</title>
 <path fill="none" stroke="#191970" d="M1250.9419,-509.7701C1422.3263,-502.324 1825.1405,-483.3379 1885,-467 1967.6442,-444.4433 1976.3334,-408.8404 2057,-380 2072.5157,-374.4527 2159.0091,-355.7743 2221.8548,-342.5132"/>
 <polygon fill="#191970" stroke="#191970" points="1250.5725,-506.2827 1240.7332,-510.2119 1250.8752,-513.2762 1250.5725,-506.2827"/>
 </g>
@@ -467,9 +467,9 @@
 <path fill="none" stroke="#191970" d="M1004.6741,-450.7397C1166.3005,-438.6472 1518.875,-412.2685 1670.8847,-400.8955"/>
 <polygon fill="#191970" stroke="#191970" points="1004.0193,-447.2788 994.3083,-451.5153 1004.5416,-454.2593 1004.0193,-447.2788"/>
 </g>
-<!-- Node23&#45;&gt;Node108 -->
+<!-- Node23&#45;&gt;Node109 -->
 <g id="edge33" class="edge">
-<title>Node23&#45;&gt;Node108</title>
+<title>Node23&#45;&gt;Node109</title>
 <path fill="none" stroke="#191970" d="M855.2827,-445.7733C786.5069,-434.0241 679.7729,-415.7904 615.5109,-404.8123"/>
 <polygon fill="#191970" stroke="#191970" points="854.6984,-449.2241 865.145,-447.4581 855.8772,-442.3241 854.6984,-449.2241"/>
 </g>
@@ -516,9 +516,9 @@
 <path fill="none" stroke="#191970" d="M1725.6731,-378.6753C1714.5442,-367.8691 1700.2152,-353.9553 1689.4702,-343.5218"/>
 <polygon fill="#191970" stroke="#191970" points="1723.5015,-381.4452 1733.114,-385.9005 1728.3779,-376.4232 1723.5015,-381.4452"/>
 </g>
-<!-- Node72 -->
+<!-- Node73 -->
 <g id="node15" class="node">
-<title>Node72</title>
+<title>Node73</title>
 <g id="a_node15"><a xlink:href="virtual__device_8h.html" target="_top" xlink:title="A compile time representation for where data is to be stored at runtime, and how to compile code to c...">
 <polygon fill="#ffffff" stroke="#ff0000" points="1408.5,-179.5 1408.5,-209.5 1515.5,-209.5 1515.5,-179.5 1408.5,-179.5"/>
 <text text-anchor="start" x="1416.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
@@ -526,30 +526,30 @@
 </a>
 </g>
 </g>
-<!-- Node25&#45;&gt;Node72 -->
+<!-- Node25&#45;&gt;Node73 -->
 <g id="edge30" class="edge">
-<title>Node25&#45;&gt;Node72</title>
+<title>Node25&#45;&gt;Node73</title>
 <path fill="none" stroke="#191970" d="M1746.9276,-375.8176C1749.3751,-357.7909 1749.9591,-331.2191 1737,-313 1685.4729,-240.5586 1580.0827,-212.0218 1515.7776,-201.0578"/>
 <polygon fill="#191970" stroke="#191970" points="1743.4578,-375.3473 1745.2673,-385.7864 1750.3627,-376.4973 1743.4578,-375.3473"/>
 </g>
-<!-- Node25&#45;&gt;Node91 -->
+<!-- Node25&#45;&gt;Node92 -->
 <g id="edge31" class="edge">
-<title>Node25&#45;&gt;Node91</title>
+<title>Node25&#45;&gt;Node92</title>
 <path fill="none" stroke="#191970" d="M1784.9916,-382.9958C1828.6908,-369.9832 1896.1692,-349.8896 1935.8228,-338.0817"/>
 <polygon fill="#191970" stroke="#191970" points="1783.8222,-379.6921 1775.237,-385.9005 1785.82,-386.401 1783.8222,-379.6921"/>
 </g>
-<!-- Node107 -->
+<!-- Node108 -->
 <g id="node22" class="node">
-<title>Node107</title>
+<title>Node108</title>
 <g id="a_node22"><a xlink:href="tir_2transform_8h.html" target="_top" xlink:title="TIR specific transformation passes. ">
 <polygon fill="#ffffff" stroke="#000000" points="2056,-319 2056,-338 2204,-338 2204,-319 2056,-319"/>
 <text text-anchor="middle" x="2130" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/transform.h</text>
 </a>
 </g>
 </g>
-<!-- Node25&#45;&gt;Node107 -->
+<!-- Node25&#45;&gt;Node108 -->
 <g id="edge32" class="edge">
-<title>Node25&#45;&gt;Node107</title>
+<title>Node25&#45;&gt;Node108</title>
 <path fill="none" stroke="#191970" d="M1811.0398,-384.3095C1872.6873,-374.0904 1966.0021,-358.4228 2047,-344 2057.5352,-342.124 2068.8112,-340.0576 2079.5487,-338.0619"/>
 <polygon fill="#191970" stroke="#191970" points="1810.3399,-380.8776 1801.046,-385.9643 1811.4835,-387.7836 1810.3399,-380.8776"/>
 </g>
@@ -571,330 +571,330 @@
 <path fill="none" stroke="#191970" d="M1522.4792,-236.2883C1525.7789,-219.8856 1528.4399,-198.0754 1525,-179 1513.5527,-115.5199 1479.7345,-44.7719 1466.961,-19.5575"/>
 <polygon fill="#191970" stroke="#191970" points="1519.0286,-235.6821 1520.2763,-246.2032 1525.862,-237.2004 1519.0286,-235.6821"/>
 </g>
-<!-- Node30&#45;&gt;Node44 -->
+<!-- Node30&#45;&gt;Node45 -->
 <g id="edge12" class="edge">
-<title>Node30&#45;&gt;Node44</title>
+<title>Node30&#45;&gt;Node45</title>
 <path fill="none" stroke="#191970" d="M1452.518,-248.0402C1399.9533,-236.8952 1325.3202,-221.071 1270.8259,-209.5169"/>
 <polygon fill="#191970" stroke="#191970" points="1451.8864,-251.484 1462.3949,-250.1344 1453.3384,-244.6363 1451.8864,-251.484"/>
 </g>
-<!-- Node30&#45;&gt;Node47 -->
+<!-- Node30&#45;&gt;Node48 -->
 <g id="edge14" class="edge">
-<title>Node30&#45;&gt;Node47</title>
+<title>Node30&#45;&gt;Node48</title>
 <path fill="none" stroke="#191970" d="M1461.1284,-243.1713C1432.6624,-233.5338 1397.3715,-221.3847 1366,-210 1329.7658,-196.8506 1321.0408,-192.6707 1285,-179 1252.4515,-166.654 1215.5043,-152.7729 1188.1881,-142.5355"/>
 <polygon fill="#191970" stroke="#191970" points="1460.3008,-246.5859 1470.895,-246.4701 1462.5408,-239.954 1460.3008,-246.5859"/>
 </g>
-<!-- Node30&#45;&gt;Node50 -->
+<!-- Node30&#45;&gt;Node51 -->
 <g id="edge15" class="edge">
-<title>Node30&#45;&gt;Node50</title>
+<title>Node30&#45;&gt;Node51</title>
 <path fill="none" stroke="#191970" d="M1456.8328,-242.7582C1437.3673,-234.718 1416.5062,-223.9117 1400,-210 1352.6722,-170.1113 1319.3505,-101.1753 1308.1396,-75.7688"/>
 <polygon fill="#191970" stroke="#191970" points="1455.6649,-246.0601 1466.2513,-246.4845 1458.2402,-239.551 1455.6649,-246.0601"/>
 </g>
-<!-- Node30&#45;&gt;Node53 -->
+<!-- Node30&#45;&gt;Node54 -->
 <g id="edge17" class="edge">
-<title>Node30&#45;&gt;Node53</title>
+<title>Node30&#45;&gt;Node54</title>
 <path fill="none" stroke="#191970" d="M1579.9226,-256.9631C1755.599,-244.4946 2243.4707,-209.8681 2406.3096,-198.3107"/>
 <polygon fill="#191970" stroke="#191970" points="1579.5278,-253.4822 1569.8007,-257.6815 1580.0234,-260.4647 1579.5278,-253.4822"/>
 </g>
-<!-- Node30&#45;&gt;Node72 -->
+<!-- Node30&#45;&gt;Node73 -->
 <g id="edge18" class="edge">
-<title>Node30&#45;&gt;Node72</title>
+<title>Node30&#45;&gt;Node73</title>
 <path fill="none" stroke="#191970" d="M1497.3425,-238.3509C1489.6836,-228.8482 1481.0315,-218.1132 1474.2049,-209.6432"/>
 <polygon fill="#191970" stroke="#191970" points="1494.7462,-240.707 1503.7466,-246.2967 1500.1964,-236.3143 1494.7462,-240.707"/>
 </g>
-<!-- Node44&#45;&gt;Node47 -->
+<!-- Node45&#45;&gt;Node48 -->
 <g id="edge13" class="edge">
-<title>Node44&#45;&gt;Node47</title>
+<title>Node45&#45;&gt;Node48</title>
 <path fill="none" stroke="#191970" d="M1182.0335,-171.3509C1174.6583,-161.8482 1166.3266,-151.1132 1159.7529,-142.6432"/>
 <polygon fill="#191970" stroke="#191970" points="1179.3042,-173.5427 1188.2004,-179.2967 1184.8341,-169.2508 1179.3042,-173.5427"/>
 </g>
-<!-- Node72&#45;&gt;Node27 -->
+<!-- Node73&#45;&gt;Node27 -->
 <g id="edge29" class="edge">
-<title>Node72&#45;&gt;Node27</title>
+<title>Node73&#45;&gt;Node27</title>
 <path fill="none" stroke="#191970" d="M1462,-169.309C1462,-127.9154 1462,-47.3366 1462,-19.6295"/>
 <polygon fill="#191970" stroke="#191970" points="1458.5001,-169.4016 1462,-179.4016 1465.5001,-169.4016 1458.5001,-169.4016"/>
 </g>
-<!-- Node72&#45;&gt;Node76 -->
+<!-- Node73&#45;&gt;Node77 -->
 <g id="edge19" class="edge">
-<title>Node72&#45;&gt;Node76</title>
+<title>Node73&#45;&gt;Node77</title>
 <path fill="none" stroke="#191970" d="M1398.2718,-188.7456C1259.3435,-176.2008 930.2646,-146.4862 787.7487,-133.6175"/>
 <polygon fill="#191970" stroke="#191970" points="1398.0644,-192.241 1408.3387,-189.6546 1398.694,-185.2694 1398.0644,-192.241"/>
 </g>
-<!-- Node76&#45;&gt;Node27 -->
+<!-- Node77&#45;&gt;Node27 -->
 <g id="edge28" class="edge">
-<title>Node76&#45;&gt;Node27</title>
+<title>Node77&#45;&gt;Node27</title>
 <path fill="none" stroke="#191970" d="M709.9785,-108.6763C702.9487,-92.593 696.9139,-69.911 710,-56 732.7134,-31.8548 1191.1423,-17.1016 1380.8732,-12.0088"/>
 <polygon fill="#191970" stroke="#191970" points="706.8312,-110.2078 714.322,-117.7004 713.1386,-107.1718 706.8312,-110.2078"/>
 </g>
-<!-- Node76&#45;&gt;Node50 -->
+<!-- Node77&#45;&gt;Node51 -->
 <g id="edge27" class="edge">
-<title>Node76&#45;&gt;Node50</title>
+<title>Node77&#45;&gt;Node51</title>
 <path fill="none" stroke="#191970" d="M797.6004,-119.328C907.6604,-107.7378 1108.2375,-86.6154 1221.1141,-74.7286"/>
 <polygon fill="#191970" stroke="#191970" points="797.1412,-115.857 787.5627,-120.3851 797.8743,-122.8185 797.1412,-115.857"/>
 </g>
-<!-- Node76&#45;&gt;Node78 -->
+<!-- Node77&#45;&gt;Node79 -->
 <g id="edge20" class="edge">
-<title>Node76&#45;&gt;Node78</title>
+<title>Node77&#45;&gt;Node79</title>
 <path fill="none" stroke="#191970" d="M642.2681,-116.853C555.755,-105.0032 417.4797,-86.0635 336.3325,-74.9487"/>
 <polygon fill="#191970" stroke="#191970" points="641.9115,-120.3367 652.294,-118.2262 642.8615,-113.4015 641.9115,-120.3367"/>
 </g>
-<!-- Node76&#45;&gt;Node79 -->
+<!-- Node77&#45;&gt;Node80 -->
 <g id="edge22" class="edge">
-<title>Node76&#45;&gt;Node79</title>
+<title>Node77&#45;&gt;Node80</title>
 <path fill="none" stroke="#191970" d="M681.5923,-114.8233C609.7762,-91.12 456.6616,-40.5835 392.8517,-19.5227"/>
 <polygon fill="#191970" stroke="#191970" points="680.5754,-118.1733 691.1686,-117.984 682.7695,-111.526 680.5754,-118.1733"/>
 </g>
-<!-- Node76&#45;&gt;Node87 -->
+<!-- Node77&#45;&gt;Node88 -->
 <g id="edge23" class="edge">
-<title>Node76&#45;&gt;Node87</title>
+<title>Node77&#45;&gt;Node88</title>
 <path fill="none" stroke="#191970" d="M768.0486,-115.4878C814.7354,-103.8162 884.706,-86.3235 927.7429,-75.5643"/>
 <polygon fill="#191970" stroke="#191970" points="767.0201,-112.1372 758.1676,-117.9581 768.7179,-118.9282 767.0201,-112.1372"/>
 </g>
-<!-- Node88 -->
+<!-- Node89 -->
 <g id="node20" class="node">
-<title>Node88</title>
+<title>Node89</title>
 <g id="a_node20"><a xlink:href="relay_2function_8h.html" target="_top" xlink:title="Relay Function. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="719,-56.5 719,-75.5 873,-75.5 873,-56.5 719,-56.5"/>
 <text text-anchor="middle" x="796" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/function.h</text>
 </a>
 </g>
 </g>
-<!-- Node76&#45;&gt;Node88 -->
+<!-- Node77&#45;&gt;Node89 -->
 <g id="edge24" class="edge">
-<title>Node76&#45;&gt;Node88</title>
+<title>Node77&#45;&gt;Node89</title>
 <path fill="none" stroke="#191970" d="M739.934,-111.3692C753.9125,-100.0576 772.1419,-85.3062 783.9576,-75.7449"/>
 <polygon fill="#191970" stroke="#191970" points="737.447,-108.8793 731.875,-117.8906 741.8504,-114.3209 737.447,-108.8793"/>
 </g>
-<!-- Node78&#45;&gt;Node79 -->
+<!-- Node79&#45;&gt;Node80 -->
 <g id="edge21" class="edge">
-<title>Node78&#45;&gt;Node79</title>
+<title>Node79&#45;&gt;Node80</title>
 <path fill="none" stroke="#191970" d="M295.8335,-51.0465C312.3811,-41.0824 333.6432,-28.2794 347.9863,-19.6427"/>
 <polygon fill="#191970" stroke="#191970" points="293.9607,-48.0886 287.1994,-56.2455 297.5717,-54.0854 293.9607,-48.0886"/>
 </g>
-<!-- Node88&#45;&gt;Node27 -->
+<!-- Node89&#45;&gt;Node27 -->
 <g id="edge26" class="edge">
-<title>Node88&#45;&gt;Node27</title>
+<title>Node89&#45;&gt;Node27</title>
 <path fill="none" stroke="#191970" d="M883.462,-55.8857C1067.2025,-38.078 1270.5246,-23.1757 1380.7492,-15.5014"/>
 <polygon fill="#191970" stroke="#191970" points="882.9544,-52.4185 873.3408,-56.8716 883.633,-59.3855 882.9544,-52.4185"/>
 </g>
-<!-- Node88&#45;&gt;Node79 -->
+<!-- Node89&#45;&gt;Node80 -->
 <g id="edge25" class="edge">
-<title>Node88&#45;&gt;Node79</title>
+<title>Node89&#45;&gt;Node80</title>
 <path fill="none" stroke="#191970" d="M712.2148,-55.139C632.4587,-44.8002 513.6181,-29.3949 437.4683,-19.5237"/>
 <polygon fill="#191970" stroke="#191970" points="711.8604,-58.6222 722.2274,-56.4369 712.7604,-51.6803 711.8604,-58.6222"/>
 </g>
-<!-- Node109 -->
+<!-- Node110 -->
 <g id="node24" class="node">
-<title>Node109</title>
+<title>Node110</title>
 <g id="a_node24"><a xlink:href="ir_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics) and registry for them. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="736,-319 736,-338 844,-338 844,-319 736,-319"/>
 <text text-anchor="middle" x="790" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
 </a>
 </g>
 </g>
-<!-- Node108&#45;&gt;Node109 -->
+<!-- Node109&#45;&gt;Node110 -->
 <g id="edge34" class="edge">
-<title>Node108&#45;&gt;Node109</title>
+<title>Node109&#45;&gt;Node110</title>
 <path fill="none" stroke="#191970" d="M622.0245,-377.6457C665.5509,-364.9109 722.3737,-348.2859 757.5118,-338.0053"/>
 <polygon fill="#191970" stroke="#191970" points="621.0069,-374.2966 612.3921,-380.4639 622.9726,-381.015 621.0069,-374.2966"/>
 </g>
-<!-- Node135 -->
+<!-- Node136 -->
 <g id="node26" class="node">
-<title>Node135</title>
+<title>Node136</title>
 <g id="a_node26"><a xlink:href="executor_8h.html" target="_top" xlink:title="Object representation of Executor configuration and registry. ">
 <polygon fill="#ffffff" stroke="#000000" points="562,-319 562,-338 718,-338 718,-319 562,-319"/>
 <text text-anchor="middle" x="640" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/executor.h</text>
 </a>
 </g>
 </g>
-<!-- Node108&#45;&gt;Node135 -->
+<!-- Node109&#45;&gt;Node136 -->
 <g id="edge37" class="edge">
-<title>Node108&#45;&gt;Node135</title>
+<title>Node109&#45;&gt;Node136</title>
 <path fill="none" stroke="#191970" d="M586.8924,-373.5406C601.0547,-361.5296 617.8756,-347.2637 628.7337,-338.055"/>
 <polygon fill="#191970" stroke="#191970" points="584.289,-371.1593 578.9263,-380.2967 588.8167,-376.4979 584.289,-371.1593"/>
 </g>
-<!-- Node136 -->
+<!-- Node137 -->
 <g id="node27" class="node">
-<title>Node136</title>
+<title>Node137</title>
 <g id="a_node27"><a xlink:href="relay_2type_8h.html" target="_top" xlink:title="Relay typed AST nodes. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="86,-319 86,-338 222,-338 222,-319 86,-319"/>
 <text text-anchor="middle" x="154" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/type.h</text>
 </a>
 </g>
 </g>
-<!-- Node108&#45;&gt;Node136 -->
+<!-- Node109&#45;&gt;Node137 -->
 <g id="edge38" class="edge">
-<title>Node108&#45;&gt;Node136</title>
+<title>Node109&#45;&gt;Node137</title>
 <path fill="none" stroke="#191970" d="M495.8745,-384.7791C417.4727,-371.8727 287.01,-350.396 211.9551,-338.0405"/>
 <polygon fill="#191970" stroke="#191970" points="495.6744,-388.2932 506.1102,-386.4641 496.8115,-381.3862 495.6744,-388.2932"/>
 </g>
-<!-- Node137 -->
+<!-- Node138 -->
 <g id="node28" class="node">
-<title>Node137</title>
+<title>Node138</title>
 <g id="a_node28"><a xlink:href="runtime_8h.html" target="_top" xlink:title="Object representation of Runtime configuration and registry. ">
 <polygon fill="#ffffff" stroke="#000000" points="392,-319 392,-338 544,-338 544,-319 392,-319"/>
 <text text-anchor="middle" x="468" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/runtime.h</text>
 </a>
 </g>
 </g>
-<!-- Node108&#45;&gt;Node137 -->
+<!-- Node109&#45;&gt;Node138 -->
 <g id="edge42" class="edge">
-<title>Node108&#45;&gt;Node137</title>
+<title>Node109&#45;&gt;Node138</title>
 <path fill="none" stroke="#191970" d="M531.4506,-374.2117C514.5897,-362.0646 494.2841,-347.4358 481.2629,-338.055"/>
 <polygon fill="#191970" stroke="#191970" points="529.7373,-377.2911 539.8969,-380.2967 533.829,-371.6115 529.7373,-377.2911"/>
 </g>
-<!-- Node109&#45;&gt;Node76 -->
+<!-- Node110&#45;&gt;Node77 -->
 <g id="edge35" class="edge">
-<title>Node109&#45;&gt;Node76</title>
+<title>Node110&#45;&gt;Node77</title>
 <path fill="none" stroke="#191970" d="M783.2706,-309.1769C768.6028,-267.0593 734.197,-168.2656 723.3424,-137.0974"/>
 <polygon fill="#191970" stroke="#191970" points="780.0295,-310.5128 786.6238,-318.8054 786.6401,-308.2105 780.0295,-310.5128"/>
 </g>
-<!-- Node114 -->
+<!-- Node115 -->
 <g id="node25" class="node">
-<title>Node114</title>
+<title>Node115</title>
 <g id="a_node25"><a xlink:href="tir_2op_8h.html" target="_top" xlink:title="Common operators defined for Expr. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1266,-252 1266,-271 1378,-271 1378,-252 1266,-252"/>
 <text text-anchor="middle" x="1322" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/op.h</text>
 </a>
 </g>
 </g>
-<!-- Node109&#45;&gt;Node114 -->
+<!-- Node110&#45;&gt;Node115 -->
 <g id="edge36" class="edge">
-<title>Node109&#45;&gt;Node114</title>
+<title>Node110&#45;&gt;Node115</title>
 <path fill="none" stroke="#191970" d="M854.5913,-320.3654C959.7226,-307.1252 1166.0919,-281.135 1265.644,-268.5975"/>
 <polygon fill="#191970" stroke="#191970" points="853.9175,-316.9225 844.4332,-321.6447 854.7922,-323.8676 853.9175,-316.9225"/>
 </g>
-<!-- Node136&#45;&gt;Node76 -->
+<!-- Node137&#45;&gt;Node77 -->
 <g id="edge41" class="edge">
-<title>Node136&#45;&gt;Node76</title>
+<title>Node137&#45;&gt;Node77</title>
 <path fill="none" stroke="#191970" d="M172.9534,-312.4044C210.9606,-281.0806 300.3735,-212.1039 388,-179 435.1299,-161.1951 569.8328,-143.9687 652.4583,-134.6478"/>
 <polygon fill="#191970" stroke="#191970" points="170.6785,-309.744 165.235,-318.8335 175.1587,-315.1226 170.6785,-309.744"/>
 </g>
-<!-- Node136&#45;&gt;Node78 -->
+<!-- Node137&#45;&gt;Node79 -->
 <g id="edge39" class="edge">
-<title>Node136&#45;&gt;Node78</title>
+<title>Node137&#45;&gt;Node79</title>
 <path fill="none" stroke="#191970" d="M159.3984,-308.7233C170.5161,-269.6196 198.1369,-180.2917 236,-112 243.4934,-98.4845 254.637,-84.5834 262.3275,-75.6517"/>
 <polygon fill="#191970" stroke="#191970" points="155.9688,-307.9916 156.6498,-318.5645 162.7108,-309.8746 155.9688,-307.9916"/>
 </g>
-<!-- Node136&#45;&gt;Node79 -->
+<!-- Node137&#45;&gt;Node80 -->
 <g id="edge40" class="edge">
-<title>Node136&#45;&gt;Node79</title>
+<title>Node137&#45;&gt;Node80</title>
 <path fill="none" stroke="#191970" d="M149.6628,-308.7319C144.3365,-282.6883 136,-235.3941 136,-194.5 136,-194.5 136,-194.5 136,-127.5 136,-58.1436 220.3939,-29.6874 286.4915,-18.0363"/>
 <polygon fill="#191970" stroke="#191970" points="146.3002,-309.7484 151.7928,-318.8082 153.1489,-308.3005 146.3002,-309.7484"/>
 </g>
-<!-- Node138&#45;&gt;Node25 -->
+<!-- Node139&#45;&gt;Node25 -->
 <g id="edge44" class="edge">
-<title>Node138&#45;&gt;Node25</title>
+<title>Node139&#45;&gt;Node25</title>
 <path fill="none" stroke="#191970" d="M1650.8509,-442.7264C1673.4584,-431.1401 1704.7072,-415.1251 1724.3817,-405.0419"/>
 <polygon fill="#191970" stroke="#191970" points="1649.053,-439.7149 1641.75,-447.3906 1652.2457,-445.9444 1649.053,-439.7149"/>
 </g>
-<!-- Node139&#45;&gt;Node47 -->
+<!-- Node140&#45;&gt;Node48 -->
 <g id="edge49" class="edge">
-<title>Node139&#45;&gt;Node47</title>
+<title>Node140&#45;&gt;Node48</title>
 <path fill="none" stroke="#191970" d="M1061.1591,-236.3562C1064.2805,-219.0519 1070.3569,-196.179 1082,-179 1092.111,-164.0815 1107.9119,-151.5324 1121.5183,-142.5576"/>
 <polygon fill="#191970" stroke="#191970" points="1057.6902,-235.8843 1059.5741,-246.3103 1064.6032,-236.9851 1057.6902,-235.8843"/>
 </g>
-<!-- Node148&#45;&gt;Node21 -->
+<!-- Node149&#45;&gt;Node21 -->
 <g id="edge62" class="edge">
-<title>Node148&#45;&gt;Node21</title>
+<title>Node149&#45;&gt;Node21</title>
 <path fill="none" stroke="#191970" d="M1076.1557,-560.3813C1100.1063,-548.7832 1133.3805,-532.6701 1154.2956,-522.5419"/>
 <polygon fill="#191970" stroke="#191970" points="1074.3186,-557.3821 1066.8438,-564.8906 1077.3695,-563.6823 1074.3186,-557.3821"/>
 </g>
-<!-- Node148&#45;&gt;Node88 -->
+<!-- Node149&#45;&gt;Node89 -->
 <g id="edge63" class="edge">
-<title>Node148&#45;&gt;Node88</title>
+<title>Node149&#45;&gt;Node89</title>
 <path fill="none" stroke="#191970" d="M989.2044,-562.2121C939.7036,-548.3018 871.4331,-520.2709 839,-467 786.9634,-381.5305 904.1158,-343.5896 882,-246 866.155,-176.0814 819.7055,-101.546 802.5045,-75.5745"/>
 <polygon fill="#191970" stroke="#191970" points="988.584,-565.6697 999.1501,-564.8897 990.4038,-558.9103 988.584,-565.6697"/>
 </g>
-<!-- Node149 -->
+<!-- Node150 -->
 <g id="node33" class="node">
-<title>Node149</title>
+<title>Node150</title>
 <g id="a_node33"><a xlink:href="tir_2function_8h.html" target="_top" xlink:title="TIR Function. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="2066,-386 2066,-405 2206,-405 2206,-386 2066,-386"/>
 <text text-anchor="middle" x="2136" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/function.h</text>
 </a>
 </g>
 </g>
-<!-- Node148&#45;&gt;Node149 -->
+<!-- Node149&#45;&gt;Node150 -->
 <g id="edge64" class="edge">
-<title>Node148&#45;&gt;Node149</title>
+<title>Node149&#45;&gt;Node150</title>
 <path fill="none" stroke="#191970" d="M1118.1076,-563.3876C1216.8485,-548.2271 1401.1643,-520.9044 1559,-503 1741.6375,-482.2821 1793.223,-513.7014 1971,-467 1991.7761,-461.5422 1995.3382,-455.6513 2015,-447 2049.0622,-432.0124 2088.803,-415.2319 2113.1819,-405.0178"/>
 <polygon fill="#191970" stroke="#191970" points="1117.3023,-559.9702 1107.951,-564.9505 1118.367,-566.8888 1117.3023,-559.9702"/>
 </g>
-<!-- Node149&#45;&gt;Node22 -->
+<!-- Node150&#45;&gt;Node22 -->
 <g id="edge65" class="edge">
-<title>Node149&#45;&gt;Node22</title>
+<title>Node150&#45;&gt;Node22</title>
 <path fill="none" stroke="#191970" d="M2216.1523,-388.0192C2274.4954,-380.7215 2346.4093,-367.236 2365,-344 2373.6075,-333.2418 2373.5207,-323.827 2365,-313 2311.0083,-244.3946 2043.5889,-210.7517 1928.1783,-199.2432"/>
 <polygon fill="#191970" stroke="#191970" points="2215.6839,-384.5503 2206.1758,-389.2243 2216.5234,-391.4998 2215.6839,-384.5503"/>
 </g>
-<!-- Node149&#45;&gt;Node91 -->
+<!-- Node150&#45;&gt;Node92 -->
 <g id="edge66" class="edge">
-<title>Node149&#45;&gt;Node91</title>
+<title>Node150&#45;&gt;Node92</title>
 <path fill="none" stroke="#191970" d="M2102.3514,-382.0806C2069.6951,-369.057 2020.948,-349.6162 1992.0257,-338.0817"/>
 <polygon fill="#191970" stroke="#191970" points="2101.3446,-385.4471 2111.9297,-385.9005 2103.9377,-378.9451 2101.3446,-385.4471"/>
 </g>
-<!-- Node149&#45;&gt;Node107 -->
+<!-- Node150&#45;&gt;Node108 -->
 <g id="edge68" class="edge">
-<title>Node149&#45;&gt;Node107</title>
+<title>Node150&#45;&gt;Node108</title>
 <path fill="none" stroke="#191970" d="M2134.2186,-375.6079C2133.1087,-363.214 2131.7307,-347.8263 2130.8581,-338.0817"/>
 <polygon fill="#191970" stroke="#191970" points="2130.7623,-376.2526 2135.1403,-385.9005 2137.7344,-375.6282 2130.7623,-376.2526"/>
 </g>
-<!-- Node149&#45;&gt;Node140 -->
+<!-- Node150&#45;&gt;Node141 -->
 <g id="edge67" class="edge">
-<title>Node149&#45;&gt;Node140</title>
+<title>Node150&#45;&gt;Node141</title>
 <path fill="none" stroke="#191970" d="M2167.1109,-381.8763C2192.5369,-370.742 2228.4418,-355.019 2254.6966,-343.5218"/>
 <polygon fill="#191970" stroke="#191970" points="2165.6774,-378.6831 2157.9212,-385.9005 2168.4854,-385.0952 2165.6774,-378.6831"/>
 </g>
-<!-- Node152&#45;&gt;Node20 -->
+<!-- Node153&#45;&gt;Node20 -->
 <g id="edge72" class="edge">
-<title>Node152&#45;&gt;Node20</title>
+<title>Node153&#45;&gt;Node20</title>
 <path fill="none" stroke="#191970" d="M714,-744.7305C714,-717.9497 714,-671.186 714,-651.1068"/>
 <polygon fill="#191970" stroke="#191970" points="710.5001,-744.8484 714,-754.8484 717.5001,-744.8484 710.5001,-744.8484"/>
 </g>
-<!-- Node152&#45;&gt;Node21 -->
+<!-- Node153&#45;&gt;Node21 -->
 <g id="edge107" class="edge">
-<title>Node152&#45;&gt;Node21</title>
+<title>Node153&#45;&gt;Node21</title>
 <path fill="none" stroke="#191970" d="M723.7821,-745.6465C739.7518,-716.4772 773.9988,-660.2118 817,-626 902.7214,-557.8001 1030.2622,-530.4238 1107.4339,-519.6771"/>
 <polygon fill="#191970" stroke="#191970" points="720.5413,-744.2847 718.9113,-754.7534 726.7139,-747.5861 720.5413,-744.2847"/>
 </g>
-<!-- Node152&#45;&gt;Node108 -->
+<!-- Node153&#45;&gt;Node109 -->
 <g id="edge110" class="edge">
-<title>Node152&#45;&gt;Node108</title>
+<title>Node153&#45;&gt;Node109</title>
 <path fill="none" stroke="#191970" d="M648.0216,-752.1171C623.2557,-744.5113 596.6257,-732.35 578,-713 554.754,-688.8499 554,-675.0202 554,-641.5 554,-641.5 554,-641.5 554,-513 554,-476.2161 557.4607,-433.0694 559.5155,-410.6929"/>
 <polygon fill="#191970" stroke="#191970" points="647.1851,-755.5182 657.7625,-754.9113 649.1153,-748.7896 647.1851,-755.5182"/>
 </g>
-<!-- Node152&#45;&gt;Node109 -->
+<!-- Node153&#45;&gt;Node110 -->
 <g id="edge108" class="edge">
-<title>Node152&#45;&gt;Node109</title>
+<title>Node153&#45;&gt;Node110</title>
 <path fill="none" stroke="#191970" d="M697.323,-747.3288C674.7779,-721.9957 638.5241,-672.5638 649,-626 676.3492,-504.4371 759.3667,-374.1763 783.4099,-338.1836"/>
 <polygon fill="#191970" stroke="#191970" points="695.0043,-749.9774 704.3559,-754.9573 700.1509,-745.2326 695.0043,-749.9774"/>
 </g>
-<!-- Node152&#45;&gt;Node114 -->
+<!-- Node153&#45;&gt;Node115 -->
 <g id="edge114" class="edge">
-<title>Node152&#45;&gt;Node114</title>
+<title>Node153&#45;&gt;Node115</title>
 <path fill="none" stroke="#191970" d="M783.0995,-760.6537C961.015,-748.8722 1421,-705.7234 1421,-574.5 1421,-574.5 1421,-574.5 1421,-513 1421,-461.0314 1346.8856,-310.7123 1326.9094,-271.1404"/>
 <polygon fill="#191970" stroke="#191970" points="782.8148,-757.1647 773.0624,-761.3048 783.268,-764.15 782.8148,-757.1647"/>
 </g>
-<!-- Node152&#45;&gt;Node135 -->
+<!-- Node153&#45;&gt;Node136 -->
 <g id="edge111" class="edge">
-<title>Node152&#45;&gt;Node135</title>
+<title>Node153&#45;&gt;Node136</title>
 <path fill="none" stroke="#191970" d="M673.2264,-751.271C653.5382,-743.038 630.9923,-730.6057 616,-713 594.2676,-687.4793 592,-675.0202 592,-641.5 592,-641.5 592,-641.5 592,-574.5 592,-500.4546 609.8401,-483.6788 624,-411 629.1337,-384.6502 635.1533,-353.5586 638.1333,-338.1539"/>
 <polygon fill="#191970" stroke="#191970" points="672.0297,-754.5614 682.6163,-754.9796 674.6012,-748.0508 672.0297,-754.5614"/>
 </g>
-<!-- Node152&#45;&gt;Node136 -->
+<!-- Node153&#45;&gt;Node137 -->
 <g id="edge112" class="edge">
-<title>Node152&#45;&gt;Node136</title>
+<title>Node153&#45;&gt;Node137</title>
 <path fill="none" stroke="#191970" d="M644.8023,-761.7168C511.5647,-755.8143 224.1564,-740.2958 129,-713 65.9901,-694.9255 0,-707.051 0,-641.5 0,-641.5 0,-641.5 0,-457 0,-392.9291 79.5566,-354.5768 124.3073,-338.0718"/>
 <polygon fill="#191970" stroke="#191970" points="644.7521,-765.2179 654.8957,-762.1586 645.0583,-758.2246 644.7521,-765.2179"/>
 </g>
-<!-- Node152&#45;&gt;Node137 -->
+<!-- Node153&#45;&gt;Node138 -->
 <g id="edge113" class="edge">
-<title>Node152&#45;&gt;Node137</title>
+<title>Node153&#45;&gt;Node138</title>
 <path fill="none" stroke="#191970" d="M644.8335,-760.5571C517.4279,-751.6945 253.5762,-725.3479 198,-657 94.9546,-530.2743 371.699,-377.2256 448.7295,-338.0104"/>
 <polygon fill="#191970" stroke="#191970" points="644.6632,-764.0535 654.8774,-761.2391 645.1375,-757.0696 644.6632,-764.0535"/>
 </g>
-<!-- Node153 -->
+<!-- Node154 -->
 <g id="node35" class="node">
-<title>Node153</title>
+<title>Node154</title>
 <g id="a_node35"><a xlink:href="affine__type_8h.html" target="_top" xlink:title="Quantized Tensor Types. ">
 <polygon fill="#ffffff" stroke="#000000" points="826.5,-626.5 826.5,-656.5 941.5,-656.5 941.5,-626.5 826.5,-626.5"/>
 <text text-anchor="start" x="834.5" y="-644.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/affine</text>
@@ -902,30 +902,30 @@
 </a>
 </g>
 </g>
-<!-- Node152&#45;&gt;Node153 -->
+<!-- Node153&#45;&gt;Node154 -->
 <g id="edge73" class="edge">
-<title>Node152&#45;&gt;Node153</title>
+<title>Node153&#45;&gt;Node154</title>
 <path fill="none" stroke="#191970" d="M746.1503,-750.5912C765.9947,-741.2981 791.4897,-728.045 812,-713 835.0114,-696.1203 857.7315,-671.9717 871.3141,-656.5134"/>
 <polygon fill="#191970" stroke="#191970" points="744.5422,-747.478 736.9091,-754.8256 747.4581,-753.8418 744.5422,-747.478"/>
 </g>
-<!-- Node154 -->
+<!-- Node155 -->
 <g id="node36" class="node">
-<title>Node154</title>
+<title>Node155</title>
 <g id="a_node36"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="944.5,-693.5 944.5,-712.5 1061.5,-712.5 1061.5,-693.5 944.5,-693.5"/>
 <text text-anchor="middle" x="1003" y="-700.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/expr.h</text>
 </a>
 </g>
 </g>
-<!-- Node152&#45;&gt;Node154 -->
+<!-- Node153&#45;&gt;Node155 -->
 <g id="edge74" class="edge">
-<title>Node152&#45;&gt;Node154</title>
+<title>Node153&#45;&gt;Node155</title>
 <path fill="none" stroke="#191970" d="M768.7317,-752.8529C823.568,-741.1836 906.9662,-723.4363 958.0556,-712.5643"/>
 <polygon fill="#191970" stroke="#191970" points="767.8916,-749.4533 758.8392,-754.9581 769.3487,-756.2999 767.8916,-749.4533"/>
 </g>
-<!-- Node171 -->
+<!-- Node172 -->
 <g id="node38" class="node">
-<title>Node171</title>
+<title>Node172</title>
 <g id="a_node38"><a xlink:href="tensor__type_8h.html" target="_top" xlink:title="Polymorphic tensor types. ">
 <polygon fill="#ffffff" stroke="#000000" points="28,-626.5 28,-656.5 146,-656.5 146,-626.5 28,-626.5"/>
 <text text-anchor="start" x="36" y="-644.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/tensor</text>
@@ -933,282 +933,282 @@
 </a>
 </g>
 </g>
-<!-- Node152&#45;&gt;Node171 -->
+<!-- Node153&#45;&gt;Node172 -->
 <g id="edge109" class="edge">
-<title>Node152&#45;&gt;Node171</title>
+<title>Node153&#45;&gt;Node172</title>
 <path fill="none" stroke="#191970" d="M644.7617,-760.6597C505.9138,-752.5824 203.0202,-732.9311 160,-713 132.958,-700.4715 109.9702,-673.5942 97.3614,-656.5965"/>
 <polygon fill="#191970" stroke="#191970" points="644.6855,-764.1611 654.8709,-761.2442 645.0897,-757.1727 644.6855,-764.1611"/>
 </g>
-<!-- Node154&#45;&gt;Node20 -->
+<!-- Node155&#45;&gt;Node20 -->
 <g id="edge75" class="edge">
-<title>Node154&#45;&gt;Node20</title>
+<title>Node155&#45;&gt;Node20</title>
 <path fill="none" stroke="#191970" d="M948.2683,-691.3529C893.432,-679.6836 810.0338,-661.9363 758.9444,-651.0643"/>
 <polygon fill="#191970" stroke="#191970" points="947.6513,-694.7999 958.1608,-693.4581 949.1084,-687.9533 947.6513,-694.7999"/>
 </g>
-<!-- Node154&#45;&gt;Node21 -->
+<!-- Node155&#45;&gt;Node21 -->
 <g id="edge87" class="edge">
-<title>Node154&#45;&gt;Node21</title>
+<title>Node155&#45;&gt;Node21</title>
 <path fill="none" stroke="#191970" d="M1032.0876,-688.5259C1046.5617,-680.4676 1063.7483,-669.5352 1077,-657 1121.891,-614.5363 1157.0876,-547.7408 1169.3296,-522.8122"/>
 <polygon fill="#191970" stroke="#191970" points="1030.1853,-685.5749 1023.0363,-693.3943 1033.5011,-691.7398 1030.1853,-685.5749"/>
 </g>
-<!-- Node154&#45;&gt;Node30 -->
+<!-- Node155&#45;&gt;Node30 -->
 <g id="edge94" class="edge">
-<title>Node154&#45;&gt;Node30</title>
+<title>Node155&#45;&gt;Node30</title>
 <path fill="none" stroke="#191970" d="M1068.3018,-691.6305C1120.1985,-682.0656 1188.2063,-668.1973 1214,-657 1262.0621,-636.1358 1273.1643,-626.2456 1311,-590 1409.979,-495.1806 1439.0054,-468.1941 1497,-344 1507.3232,-321.8931 1512.2475,-293.7672 1514.4339,-276.7235"/>
 <polygon fill="#191970" stroke="#191970" points="1067.3628,-688.2441 1058.1546,-693.4841 1068.6207,-695.1301 1067.3628,-688.2441"/>
 </g>
-<!-- Node154&#45;&gt;Node76 -->
+<!-- Node155&#45;&gt;Node77 -->
 <g id="edge92" class="edge">
-<title>Node154&#45;&gt;Node76</title>
+<title>Node155&#45;&gt;Node77</title>
 <path fill="none" stroke="#191970" d="M934.1933,-700.3372C774.565,-693.8451 391.0488,-676.3122 371,-657 238.9649,-529.8158 284.7261,-383.4836 406,-246 437.1327,-210.706 445.6583,-199.545 488,-179 539.9671,-153.7846 604.4799,-140.7463 652.2747,-134.1077"/>
 <polygon fill="#191970" stroke="#191970" points="934.2446,-703.842 944.3778,-700.7487 934.5273,-696.8477 934.2446,-703.842"/>
 </g>
-<!-- Node154&#45;&gt;Node109 -->
+<!-- Node155&#45;&gt;Node110 -->
 <g id="edge88" class="edge">
-<title>Node154&#45;&gt;Node109</title>
+<title>Node155&#45;&gt;Node110</title>
 <path fill="none" stroke="#191970" d="M1014.8355,-684.6917C1023.7759,-668.3331 1032.816,-644.2083 1022,-626 1014.052,-612.6199 913.1195,-565.5449 899,-559 858.788,-540.3602 832.5318,-558.5036 806,-523 762.7995,-465.1912 780.4109,-368.9322 787.5461,-338.2261"/>
 <polygon fill="#191970" stroke="#191970" points="1011.8094,-682.933 1009.7338,-693.3226 1017.8354,-686.495 1011.8094,-682.933"/>
 </g>
-<!-- Node154&#45;&gt;Node114 -->
+<!-- Node155&#45;&gt;Node115 -->
 <g id="edge106" class="edge">
-<title>Node154&#45;&gt;Node114</title>
+<title>Node155&#45;&gt;Node115</title>
 <path fill="none" stroke="#191970" d="M1050.8196,-690.7882C1124.3181,-670.9679 1259.5643,-629.974 1288,-590 1359.429,-489.5874 1272.6868,-433.1615 1300,-313 1303.4911,-297.6412 1311.3737,-281.0976 1316.6918,-271.0192"/>
 <polygon fill="#191970" stroke="#191970" points="1049.6352,-687.4817 1040.876,-693.4421 1051.4404,-694.2449 1049.6352,-687.4817"/>
 </g>
-<!-- Node154&#45;&gt;Node135 -->
+<!-- Node155&#45;&gt;Node136 -->
 <g id="edge91" class="edge">
-<title>Node154&#45;&gt;Node135</title>
+<title>Node155&#45;&gt;Node136</title>
 <path fill="none" stroke="#191970" d="M1002.8441,-682.7919C1001.6833,-665.8071 997.5011,-641.8338 984,-626 957.3809,-594.7817 935.429,-608.8702 899,-590 848.8433,-564.0188 832.9808,-560.7932 791,-523 723.6452,-462.3639 664.2924,-368.77 645.8795,-338.3883"/>
 <polygon fill="#191970" stroke="#191970" points="999.3642,-683.3887 1003.2423,-693.2482 1006.3591,-683.1222 999.3642,-683.3887"/>
 </g>
-<!-- Node154&#45;&gt;Node137 -->
+<!-- Node155&#45;&gt;Node138 -->
 <g id="edge93" class="edge">
-<title>Node154&#45;&gt;Node137</title>
+<title>Node155&#45;&gt;Node138</title>
 <path fill="none" stroke="#191970" d="M994.5679,-684.2107C985.8071,-666.7314 970.5038,-641.168 950,-626 907.2847,-594.4007 885.0242,-610.4875 836,-590 678.7949,-524.3031 608.2539,-540.043 497,-411 478.2636,-389.2677 471.3859,-354.6571 469.0693,-338.0292"/>
 <polygon fill="#191970" stroke="#191970" points="991.4987,-685.9063 998.9599,-693.4284 997.8181,-682.8952 991.4987,-685.9063"/>
 </g>
-<!-- Node154&#45;&gt;Node148 -->
+<!-- Node155&#45;&gt;Node149 -->
 <g id="edge86" class="edge">
-<title>Node154&#45;&gt;Node148</title>
+<title>Node155&#45;&gt;Node149</title>
 <path fill="none" stroke="#191970" d="M1030.9715,-687.9168C1042.1701,-680.2694 1053.8552,-669.8551 1060,-657 1071.631,-632.6676 1059.4981,-600.142 1051.9933,-584.1739"/>
 <polygon fill="#191970" stroke="#191970" points="1028.7959,-685.1512 1022.21,-693.4505 1032.5339,-691.0696 1028.7959,-685.1512"/>
 </g>
-<!-- Node154&#45;&gt;Node153 -->
+<!-- Node155&#45;&gt;Node154 -->
 <g id="edge76" class="edge">
-<title>Node154&#45;&gt;Node153</title>
+<title>Node155&#45;&gt;Node154</title>
 <path fill="none" stroke="#191970" d="M975.504,-688.7899C956.816,-679.1318 932.1315,-666.3747 913.1107,-656.5446"/>
 <polygon fill="#191970" stroke="#191970" points="973.9156,-691.9087 984.4063,-693.3906 977.1294,-685.6901 973.9156,-691.9087"/>
 </g>
-<!-- Node159 -->
+<!-- Node160 -->
 <g id="node37" class="node">
-<title>Node159</title>
+<title>Node160</title>
 <g id="a_node37"><a xlink:href="ir_2attrs_8h.html" target="_top" xlink:title="Helpers for attribute objects. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="380.5,-632 380.5,-651 499.5,-651 499.5,-632 380.5,-632"/>
 <text text-anchor="middle" x="440" y="-639" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/attrs.h</text>
 </a>
 </g>
 </g>
-<!-- Node154&#45;&gt;Node159 -->
+<!-- Node155&#45;&gt;Node160 -->
 <g id="edge77" class="edge">
-<title>Node154&#45;&gt;Node159</title>
+<title>Node155&#45;&gt;Node160</title>
 <path fill="none" stroke="#191970" d="M934.234,-695.4883C822.9061,-683.3272 605.0807,-659.5328 499.7974,-648.032"/>
 <polygon fill="#191970" stroke="#191970" points="934.0214,-698.9858 944.3424,-696.5925 934.7816,-692.0272 934.0214,-698.9858"/>
 </g>
-<!-- Node154&#45;&gt;Node171 -->
+<!-- Node155&#45;&gt;Node172 -->
 <g id="edge89" class="edge">
-<title>Node154&#45;&gt;Node171</title>
+<title>Node155&#45;&gt;Node172</title>
 <path fill="none" stroke="#191970" d="M934.1877,-700.9628C794.9284,-696.4219 469.8265,-683.7004 198,-657 181.1528,-655.3452 162.9366,-653.025 146.2277,-650.6827"/>
 <polygon fill="#191970" stroke="#191970" points="934.1821,-704.4643 944.2897,-701.2884 934.4077,-697.4679 934.1821,-704.4643"/>
 </g>
-<!-- Node154&#45;&gt;Node174 -->
+<!-- Node155&#45;&gt;Node175 -->
 <g id="edge95" class="edge">
-<title>Node154&#45;&gt;Node174</title>
+<title>Node155&#45;&gt;Node175</title>
 <path fill="none" stroke="#191970" d="M1071.9482,-694.887C1143.7437,-686.2524 1259.4164,-671.817 1359,-657 1441.0273,-644.7952 1460.7406,-636.5273 1543,-626 1731.9283,-601.8216 1956.5929,-585.539 2064.654,-578.4801"/>
 <polygon fill="#191970" stroke="#191970" points="1071.1931,-691.4524 1061.681,-696.1182 1072.0266,-698.4026 1071.1931,-691.4524"/>
 </g>
-<!-- Node154&#45;&gt;Node175 -->
+<!-- Node155&#45;&gt;Node176 -->
 <g id="edge104" class="edge">
-<title>Node154&#45;&gt;Node175</title>
+<title>Node155&#45;&gt;Node176</title>
 <path fill="none" stroke="#191970" d="M1071.7743,-696.0649C1129.0379,-689.2569 1212.3337,-676.9432 1283,-657 1318.1083,-647.0919 1324.2387,-637.0643 1359,-626 1605.0012,-547.6995 1908.5053,-488.6989 2030.0043,-466.5512"/>
 <polygon fill="#191970" stroke="#191970" points="1071.2778,-692.5989 1061.7497,-697.232 1072.0874,-699.552 1071.2778,-692.5989"/>
 </g>
-<!-- Node154&#45;&gt;Node181 -->
+<!-- Node155&#45;&gt;Node182 -->
 <g id="edge105" class="edge">
-<title>Node154&#45;&gt;Node181</title>
+<title>Node155&#45;&gt;Node182</title>
 <path fill="none" stroke="#191970" d="M1072.0492,-699.7925C1174.2785,-694.4275 1371.734,-681.703 1538,-657 1542.4854,-656.3336 1547.1089,-655.5597 1551.7488,-654.7201"/>
 <polygon fill="#191970" stroke="#191970" points="1071.6645,-696.3077 1061.8586,-700.3194 1072.026,-703.2983 1071.6645,-696.3077"/>
 </g>
-<!-- Node159&#45;&gt;Node76 -->
+<!-- Node160&#45;&gt;Node77 -->
 <g id="edge83" class="edge">
-<title>Node159&#45;&gt;Node76</title>
+<title>Node160&#45;&gt;Node77</title>
 <path fill="none" stroke="#191970" d="M424.9773,-623.818C417.7668,-614.3756 409.6938,-602.2057 405,-590 360.672,-474.7308 320.1622,-419.3173 383,-313 446.7994,-205.0559 598.2813,-155.6684 674.5173,-137.0071"/>
 <polygon fill="#191970" stroke="#191970" points="422.2569,-626.0204 431.235,-631.6457 427.7245,-621.6494 422.2569,-626.0204"/>
 </g>
-<!-- Node159&#45;&gt;Node78 -->
+<!-- Node160&#45;&gt;Node79 -->
 <g id="edge81" class="edge">
-<title>Node159&#45;&gt;Node78</title>
+<title>Node160&#45;&gt;Node79</title>
 <path fill="none" stroke="#191970" d="M421.0079,-624.8304C410.9327,-615.3193 398.8444,-602.773 390,-590 299.6527,-459.5202 250,-420.206 250,-261.5 250,-261.5 250,-261.5 250,-194.5 250,-149.5161 262.6895,-96.8203 268.3403,-75.5843"/>
 <polygon fill="#191970" stroke="#191970" points="418.8205,-627.5734 428.5559,-631.7536 423.5522,-622.4148 418.8205,-627.5734"/>
 </g>
-<!-- Node159&#45;&gt;Node108 -->
+<!-- Node160&#45;&gt;Node109 -->
 <g id="edge80" class="edge">
-<title>Node159&#45;&gt;Node108</title>
+<title>Node160&#45;&gt;Node109</title>
 <path fill="none" stroke="#191970" d="M449.2002,-622.7955C472.2978,-575.8368 532.3898,-453.6661 553.5194,-410.7085"/>
 <polygon fill="#191970" stroke="#191970" points="446.0164,-621.3384 444.7433,-631.8565 452.2977,-624.428 446.0164,-621.3384"/>
 </g>
-<!-- Node159&#45;&gt;Node109 -->
+<!-- Node160&#45;&gt;Node110 -->
 <g id="edge79" class="edge">
-<title>Node159&#45;&gt;Node109</title>
+<title>Node160&#45;&gt;Node110</title>
 <path fill="none" stroke="#191970" d="M459.6178,-625.2921C496.3174,-594.846 577.6437,-526.7824 644,-467 696.4332,-419.7613 757.0227,-360.8383 780.2509,-338.0821"/>
 <polygon fill="#191970" stroke="#191970" points="457.1507,-622.7909 451.6825,-631.8656 461.6163,-628.1815 457.1507,-622.7909"/>
 </g>
-<!-- Node159&#45;&gt;Node135 -->
+<!-- Node160&#45;&gt;Node136 -->
 <g id="edge82" class="edge">
-<title>Node159&#45;&gt;Node135</title>
+<title>Node160&#45;&gt;Node136</title>
 <path fill="none" stroke="#191970" d="M438.312,-621.4798C435.408,-573.5313 434.8806,-450.8453 497,-380 516.3974,-357.8779 546.0251,-345.2566 573.2918,-338.0566"/>
 <polygon fill="#191970" stroke="#191970" points="434.8416,-622.0196 439.045,-631.7449 441.8238,-621.521 434.8416,-622.0196"/>
 </g>
-<!-- Node159&#45;&gt;Node136 -->
+<!-- Node160&#45;&gt;Node137 -->
 <g id="edge84" class="edge">
-<title>Node159&#45;&gt;Node136</title>
+<title>Node160&#45;&gt;Node137</title>
 <path fill="none" stroke="#191970" d="M370.5874,-632.5222C338.3241,-625.4135 301.1778,-612.7028 274,-590 189.4698,-519.3883 161.5298,-376.4131 155.4062,-338.1176"/>
 <polygon fill="#191970" stroke="#191970" points="369.9257,-635.9594 380.4269,-634.5534 371.341,-629.1039 369.9257,-635.9594"/>
 </g>
-<!-- Node159&#45;&gt;Node137 -->
+<!-- Node160&#45;&gt;Node138 -->
 <g id="edge85" class="edge">
-<title>Node159&#45;&gt;Node137</title>
+<title>Node160&#45;&gt;Node138</title>
 <path fill="none" stroke="#191970" d="M430.6555,-622.5346C419.404,-597.9097 402,-553.305 402,-513 402,-513 402,-513 402,-457 402,-421.154 409.0306,-411.575 426,-380 434.6295,-363.9431 448.6056,-348.089 458.0415,-338.3038"/>
 <polygon fill="#191970" stroke="#191970" points="427.5944,-624.2489 435.0322,-631.7942 433.9231,-621.2575 427.5944,-624.2489"/>
 </g>
-<!-- Node159&#45;&gt;Node148 -->
+<!-- Node160&#45;&gt;Node149 -->
 <g id="edge78" class="edge">
-<title>Node159&#45;&gt;Node148</title>
+<title>Node160&#45;&gt;Node149</title>
 <path fill="none" stroke="#191970" d="M509.529,-633.8255C626.779,-620.8835 862.3949,-594.8765 978.7665,-582.0315"/>
 <polygon fill="#191970" stroke="#191970" points="509.1402,-630.347 499.5845,-634.9231 509.9082,-637.3048 509.1402,-630.347"/>
 </g>
-<!-- Node171&#45;&gt;Node136 -->
+<!-- Node172&#45;&gt;Node137 -->
 <g id="edge90" class="edge">
-<title>Node171&#45;&gt;Node136</title>
+<title>Node172&#45;&gt;Node137</title>
 <path fill="none" stroke="#191970" d="M92.683,-616.1079C97.9578,-590.2919 105,-549.0711 105,-513 105,-513 105,-513 105,-457 105,-409.7256 134.3121,-358.7094 147.5941,-338.0193"/>
 <polygon fill="#191970" stroke="#191970" points="89.2001,-615.6612 90.5562,-626.1688 96.0488,-617.1089 89.2001,-615.6612"/>
 </g>
-<!-- Node174&#45;&gt;Node149 -->
+<!-- Node175&#45;&gt;Node150 -->
 <g id="edge103" class="edge">
-<title>Node174&#45;&gt;Node149</title>
+<title>Node175&#45;&gt;Node150</title>
 <path fill="none" stroke="#191970" d="M2137.0526,-555.5999C2146.638,-530.7559 2160.5723,-485.7235 2154,-447 2151.4326,-431.8727 2144.9064,-415.2677 2140.4599,-405.1129"/>
 <polygon fill="#191970" stroke="#191970" points="2133.7824,-554.3509 2133.2834,-564.934 2140.2732,-556.9721 2133.7824,-554.3509"/>
 </g>
-<!-- Node174&#45;&gt;Node175 -->
+<!-- Node175&#45;&gt;Node176 -->
 <g id="edge96" class="edge">
-<title>Node174&#45;&gt;Node175</title>
+<title>Node175&#45;&gt;Node176</title>
 <path fill="none" stroke="#191970" d="M2121.6279,-555.2507C2111.9047,-529.8622 2095.1597,-486.1393 2087.7334,-466.7484"/>
 <polygon fill="#191970" stroke="#191970" points="2118.4724,-556.7977 2125.3175,-564.8845 2125.0094,-554.2941 2118.4724,-556.7977"/>
 </g>
-<!-- Node175&#45;&gt;Node53 -->
+<!-- Node176&#45;&gt;Node54 -->
 <g id="edge98" class="edge">
-<title>Node175&#45;&gt;Node53</title>
+<title>Node176&#45;&gt;Node54</title>
 <path fill="none" stroke="#191970" d="M2154.4075,-445.5141C2220.1789,-431.5712 2317.6231,-402.279 2382,-344 2424.1037,-305.8844 2447.1878,-239.6829 2455.8996,-209.8523"/>
 <polygon fill="#191970" stroke="#191970" points="2153.6286,-442.1009 2144.5376,-447.5419 2155.0374,-448.9577 2153.6286,-442.1009"/>
 </g>
-<!-- Node175&#45;&gt;Node91 -->
+<!-- Node176&#45;&gt;Node92 -->
 <g id="edge99" class="edge">
-<title>Node175&#45;&gt;Node91</title>
+<title>Node176&#45;&gt;Node92</title>
 <path fill="none" stroke="#191970" d="M2068.3978,-439.7166C2043.7003,-412.3577 1996.3979,-359.9581 1976.82,-338.2705"/>
 <polygon fill="#191970" stroke="#191970" points="2065.9823,-442.264 2075.2811,-447.3416 2071.1783,-437.5734 2065.9823,-442.264"/>
 </g>
-<!-- Node175&#45;&gt;Node107 -->
+<!-- Node176&#45;&gt;Node108 -->
 <g id="edge102" class="edge">
-<title>Node175&#45;&gt;Node107</title>
+<title>Node176&#45;&gt;Node108</title>
 <path fill="none" stroke="#191970" d="M2069.3765,-438.7107C2058.4887,-422.7217 2047.082,-399.1347 2057,-380 2067.2779,-360.1709 2089.0909,-346.3546 2106.2099,-338.0608"/>
 <polygon fill="#191970" stroke="#191970" points="2066.8294,-441.1565 2075.562,-447.1558 2072.4767,-437.0202 2066.8294,-441.1565"/>
 </g>
-<!-- Node175&#45;&gt;Node114 -->
+<!-- Node176&#45;&gt;Node115 -->
 <g id="edge101" class="edge">
-<title>Node175&#45;&gt;Node114</title>
+<title>Node176&#45;&gt;Node115</title>
 <path fill="none" stroke="#191970" d="M2013.2181,-452.9313C1910.4634,-446.4062 1725.3384,-432.1489 1662,-411 1581.098,-383.9865 1575.1871,-347.0829 1497,-313 1453.7426,-294.1435 1401.5565,-279.791 1365.4891,-271.0874"/>
 <polygon fill="#191970" stroke="#191970" points="2013.0022,-456.4245 2023.2017,-453.5574 2013.4404,-449.4383 2013.0022,-456.4245"/>
 </g>
-<!-- Node175&#45;&gt;Node136 -->
+<!-- Node176&#45;&gt;Node137 -->
 <g id="edge97" class="edge">
-<title>Node175&#45;&gt;Node136</title>
+<title>Node176&#45;&gt;Node137</title>
 <path fill="none" stroke="#191970" d="M2013.3211,-452.3364C1780.363,-436.9585 1015.5058,-386.4149 383,-344 328.9283,-340.374 267.6779,-336.2261 222.1366,-333.1342"/>
 <polygon fill="#191970" stroke="#191970" points="2013.147,-455.8325 2023.3559,-452.9988 2013.6082,-448.8477 2013.147,-455.8325"/>
 </g>
-<!-- Node175&#45;&gt;Node149 -->
+<!-- Node176&#45;&gt;Node150 -->
 <g id="edge100" class="edge">
-<title>Node175&#45;&gt;Node149</title>
+<title>Node176&#45;&gt;Node150</title>
 <path fill="none" stroke="#191970" d="M2098.7338,-439.5744C2108.1384,-428.4517 2119.9811,-414.4454 2127.7604,-405.2449"/>
 <polygon fill="#191970" stroke="#191970" points="2095.909,-437.4945 2092.125,-447.3906 2101.2544,-442.0142 2095.909,-437.4945"/>
 </g>
-<!-- Node185&#45;&gt;Node159 -->
+<!-- Node186&#45;&gt;Node160 -->
 <g id="edge116" class="edge">
-<title>Node185&#45;&gt;Node159</title>
+<title>Node186&#45;&gt;Node160</title>
 <path fill="none" stroke="#191970" d="M1329.1524,-948.9452C1170.6619,-936.1456 824.0227,-896.1642 558,-780 510.9832,-759.4692 494.5438,-754.2211 464,-713 449.8124,-693.8528 443.6674,-665.7921 441.3003,-651.1694"/>
 <polygon fill="#191970" stroke="#191970" points="1329.072,-952.4497 1339.317,-949.7495 1329.6243,-945.4715 1329.072,-952.4497"/>
 </g>
-<!-- Node186 -->
+<!-- Node187 -->
 <g id="node43" class="node">
-<title>Node186</title>
+<title>Node187</title>
 <g id="a_node43"><a xlink:href="node_8h.html" target="_top" xlink:title="Definitions and helper macros for IR/AST nodes. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1386.5,-816.5 1386.5,-835.5 1523.5,-835.5 1523.5,-816.5 1386.5,-816.5"/>
 <text text-anchor="middle" x="1455" y="-823.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/node.h</text>
 </a>
 </g>
 </g>
-<!-- Node185&#45;&gt;Node186 -->
+<!-- Node186&#45;&gt;Node187 -->
 <g id="edge117" class="edge">
-<title>Node185&#45;&gt;Node186</title>
+<title>Node186&#45;&gt;Node187</title>
 <path fill="none" stroke="#191970" d="M1387.7474,-932.0412C1370.9616,-915.3804 1354.7913,-892.1579 1367,-872 1377.9848,-853.863 1398.7287,-842.5354 1417.318,-835.6607"/>
 <polygon fill="#191970" stroke="#191970" points="1385.7085,-934.9265 1395.4033,-939.1998 1390.4894,-929.8134 1385.7085,-934.9265"/>
 </g>
-<!-- Node189 -->
+<!-- Node190 -->
 <g id="node45" class="node">
-<title>Node189</title>
+<title>Node190</title>
 <g id="a_node45"><a xlink:href="reflection_8h.html" target="_top" xlink:title="Reflection and serialization of compiler IR/AST nodes. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1375.5,-878 1375.5,-897 1534.5,-897 1534.5,-878 1375.5,-878"/>
 <text text-anchor="middle" x="1455" y="-885" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/reflection.h</text>
 </a>
 </g>
 </g>
-<!-- Node185&#45;&gt;Node189 -->
+<!-- Node186&#45;&gt;Node190 -->
 <g id="edge125" class="edge">
-<title>Node185&#45;&gt;Node189</title>
+<title>Node186&#45;&gt;Node190</title>
 <path fill="none" stroke="#191970" d="M1429.3283,-930.5001C1436.2265,-918.9456 1444.1061,-905.7473 1449.2955,-897.055"/>
 <polygon fill="#191970" stroke="#191970" points="1426.1976,-928.9163 1424.0766,-939.2967 1432.2079,-932.5046 1426.1976,-928.9163"/>
 </g>
-<!-- Node186&#45;&gt;Node20 -->
+<!-- Node187&#45;&gt;Node20 -->
 <g id="edge119" class="edge">
-<title>Node186&#45;&gt;Node20</title>
+<title>Node187&#45;&gt;Node20</title>
 <path fill="none" stroke="#191970" d="M1376.2162,-815.6598C1319.1832,-807.5764 1240.4202,-795.1797 1172,-780 1065.1369,-756.2914 1039.7583,-744.7417 935,-713 865.5319,-691.9512 784.4943,-665.1538 742.5007,-651.0979"/>
 <polygon fill="#191970" stroke="#191970" points="1375.8576,-819.1437 1386.2473,-817.0688 1376.8314,-812.2117 1375.8576,-819.1437"/>
 </g>
-<!-- Node186&#45;&gt;Node29 -->
+<!-- Node187&#45;&gt;Node29 -->
 <g id="edge123" class="edge">
-<title>Node186&#45;&gt;Node29</title>
+<title>Node187&#45;&gt;Node29</title>
 <path fill="none" stroke="#191970" d="M1456.5788,-806.0747C1461.9725,-747.317 1483.4943,-571.098 1555,-447 1580.3279,-403.0436 1626.2007,-364.0964 1652.9893,-343.6557"/>
 <polygon fill="#191970" stroke="#191970" points="1453.077,-805.9462 1455.7051,-816.2099 1460.0512,-806.5475 1453.077,-805.9462"/>
 </g>
-<!-- Node186&#45;&gt;Node30 -->
+<!-- Node187&#45;&gt;Node30 -->
 <g id="edge122" class="edge">
-<title>Node186&#45;&gt;Node30</title>
+<title>Node187&#45;&gt;Node30</title>
 <path fill="none" stroke="#191970" d="M1473.8761,-809.8772C1492.6344,-794.0134 1522.3709,-769.2894 1549,-749 1605.3022,-706.102 1644.3455,-718.719 1679,-657 1724.7826,-575.462 1726.6475,-533.8565 1692,-447 1687.6926,-436.2018 1572.5659,-318.8456 1530.8846,-276.5686"/>
 <polygon fill="#191970" stroke="#191970" points="1471.4391,-807.3549 1466.0805,-816.4947 1475.9692,-812.6914 1471.4391,-807.3549"/>
 </g>
-<!-- Node186&#45;&gt;Node152 -->
+<!-- Node187&#45;&gt;Node153 -->
 <g id="edge121" class="edge">
-<title>Node186&#45;&gt;Node152</title>
+<title>Node187&#45;&gt;Node153</title>
 <path fill="none" stroke="#191970" d="M1376.2645,-819.619C1267.8808,-810.8155 1066.6257,-794.3975 895,-780 854.3004,-776.5858 808.4606,-772.6594 773.0958,-769.6128"/>
 <polygon fill="#191970" stroke="#191970" points="1376.2087,-823.1259 1386.4592,-820.4469 1376.7753,-816.1489 1376.2087,-823.1259"/>
 </g>
-<!-- Node186&#45;&gt;Node154 -->
+<!-- Node187&#45;&gt;Node155 -->
 <g id="edge120" class="edge">
-<title>Node186&#45;&gt;Node154</title>
+<title>Node187&#45;&gt;Node155</title>
 <path fill="none" stroke="#191970" d="M1410.0022,-813.755C1319.9439,-789.248 1119.2348,-734.6303 1038.0692,-712.5432"/>
 <polygon fill="#191970" stroke="#191970" points="1409.3403,-817.2021 1419.9084,-816.4507 1411.1784,-810.4477 1409.3403,-817.2021"/>
 </g>
-<!-- Node186&#45;&gt;Node175 -->
+<!-- Node187&#45;&gt;Node176 -->
 <g id="edge124" class="edge">
-<title>Node186&#45;&gt;Node175</title>
+<title>Node187&#45;&gt;Node176</title>
 <path fill="none" stroke="#191970" d="M1484.5412,-812.1205C1543.4552,-784.4018 1671.5865,-723.9091 1691,-713 1845.3988,-626.2386 2021.1219,-502.1138 2070.484,-466.7416"/>
 <polygon fill="#191970" stroke="#191970" points="1482.9358,-809.0077 1475.3762,-816.4308 1485.9149,-815.3421 1482.9358,-809.0077"/>
 </g>
@@ -1222,57 +1222,57 @@
 </a>
 </g>
 </g>
-<!-- Node186&#45;&gt;Node34 -->
+<!-- Node187&#45;&gt;Node34 -->
 <g id="edge118" class="edge">
-<title>Node186&#45;&gt;Node34</title>
+<title>Node187&#45;&gt;Node34</title>
 <path fill="none" stroke="#191970" d="M1503.3828,-814.05C1543.2362,-804.2067 1599.9763,-790.1926 1642.9508,-779.5784"/>
 <polygon fill="#191970" stroke="#191970" points="1502.5021,-810.6623 1493.633,-816.4581 1504.1806,-817.4581 1502.5021,-810.6623"/>
 </g>
-<!-- Node189&#45;&gt;Node186 -->
+<!-- Node190&#45;&gt;Node187 -->
 <g id="edge126" class="edge">
-<title>Node189&#45;&gt;Node186</title>
+<title>Node190&#45;&gt;Node187</title>
 <path fill="none" stroke="#191970" d="M1455,-867.7462C1455,-857.0519 1455,-844.314 1455,-835.7449"/>
 <polygon fill="#191970" stroke="#191970" points="1451.5001,-867.8906 1455,-877.8906 1458.5001,-867.8907 1451.5001,-867.8906"/>
 </g>
-<!-- Node195&#45;&gt;Node22 -->
+<!-- Node196&#45;&gt;Node22 -->
 <g id="edge130" class="edge">
-<title>Node195&#45;&gt;Node22</title>
+<title>Node196&#45;&gt;Node22</title>
 <path fill="none" stroke="#191970" d="M1716.0698,-949.7441C1898.3879,-936.1006 2384,-893.4313 2384,-826 2384,-826 2384,-826 2384,-703 2384,-562.221 2460,-536.279 2460,-395.5 2460,-395.5 2460,-395.5 2460,-328.5 2460,-219.9441 2072.4148,-199.3294 1928.2059,-195.4163"/>
 <polygon fill="#191970" stroke="#191970" points="1715.7735,-946.2564 1706.0599,-950.4868 1716.2915,-953.2372 1715.7735,-946.2564"/>
 </g>
-<!-- Node195&#45;&gt;Node26 -->
+<!-- Node196&#45;&gt;Node26 -->
 <g id="edge133" class="edge">
-<title>Node195&#45;&gt;Node26</title>
+<title>Node196&#45;&gt;Node26</title>
 <path fill="none" stroke="#191970" d="M1645.5063,-928.9037C1645.0385,-911.6768 1646.8701,-889.0775 1657,-872 1697.91,-803.0319 1816.5393,-824.3114 1789,-749 1779.7512,-723.7075 1511.347,-416.7017 1447.5226,-343.9071"/>
 <polygon fill="#191970" stroke="#191970" points="1642.0362,-929.5444 1646.0817,-939.3364 1649.0256,-929.1588 1642.0362,-929.5444"/>
 </g>
-<!-- Node195&#45;&gt;Node53 -->
+<!-- Node196&#45;&gt;Node54 -->
 <g id="edge140" class="edge">
-<title>Node195&#45;&gt;Node53</title>
+<title>Node196&#45;&gt;Node54</title>
 <path fill="none" stroke="#191970" d="M1716.2069,-951.3366C1850.5495,-944.6558 2144.8747,-927.668 2243,-903 2326.9906,-881.8853 2422,-912.604 2422,-826 2422,-826 2422,-826 2422,-703 2422,-604.5217 2536,-611.4783 2536,-513 2536,-513 2536,-513 2536,-328.5 2536,-280.0913 2498.0081,-233.1499 2475.7472,-209.8"/>
 <polygon fill="#191970" stroke="#191970" points="1715.8548,-947.8496 1706.0393,-951.8377 1716.1995,-954.8411 1715.8548,-947.8496"/>
 </g>
-<!-- Node195&#45;&gt;Node159 -->
+<!-- Node196&#45;&gt;Node160 -->
 <g id="edge131" class="edge">
-<title>Node195&#45;&gt;Node159</title>
+<title>Node196&#45;&gt;Node160</title>
 <path fill="none" stroke="#191970" d="M1579.6034,-946.246C1382.8699,-921.9307 818.5926,-848.0059 646,-780 563.0028,-747.297 479.5399,-676.9263 450.63,-651.1856"/>
 <polygon fill="#191970" stroke="#191970" points="1579.4532,-949.7539 1589.8062,-947.5032 1580.3094,-942.8064 1579.4532,-949.7539"/>
 </g>
-<!-- Node195&#45;&gt;Node34 -->
+<!-- Node196&#45;&gt;Node34 -->
 <g id="edge129" class="edge">
-<title>Node195&#45;&gt;Node34</title>
+<title>Node196&#45;&gt;Node34</title>
 <path fill="none" stroke="#191970" d="M1633.2649,-930.5039C1624.9991,-913.9648 1617.5302,-891.5308 1624,-872 1636.5096,-834.2365 1668.0017,-798.9581 1687.5354,-779.6942"/>
 <polygon fill="#191970" stroke="#191970" points="1630.2902,-932.3614 1638.1243,-939.4943 1636.4482,-929.0328 1630.2902,-932.3614"/>
 </g>
-<!-- Node195&#45;&gt;Node189 -->
+<!-- Node196&#45;&gt;Node190 -->
 <g id="edge132" class="edge">
-<title>Node195&#45;&gt;Node189</title>
+<title>Node196&#45;&gt;Node190</title>
 <path fill="none" stroke="#191970" d="M1595.1764,-936.1623C1558.6806,-923.4928 1511.6218,-907.1563 1482.3809,-897.0053"/>
 <polygon fill="#191970" stroke="#191970" points="1594.0922,-939.4907 1604.687,-939.4639 1596.3879,-932.8779 1594.0922,-939.4907"/>
 </g>
-<!-- Node188 -->
+<!-- Node189 -->
 <g id="node48" class="node">
-<title>Node188</title>
+<title>Node189</title>
 <g id="a_node48"><a xlink:href="source__map_8h.html" target="_top" xlink:title="A map from source names to source code. ">
 <polygon fill="#ffffff" stroke="#000000" points="1171,-559.5 1171,-589.5 1279,-589.5 1279,-559.5 1171,-559.5"/>
 <text text-anchor="start" x="1179" y="-577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/parser</text>
@@ -1280,15 +1280,15 @@
 </a>
 </g>
 </g>
-<!-- Node195&#45;&gt;Node188 -->
+<!-- Node196&#45;&gt;Node189 -->
 <g id="edge134" class="edge">
-<title>Node195&#45;&gt;Node188</title>
+<title>Node196&#45;&gt;Node189</title>
 <path fill="none" stroke="#191970" d="M1579.4339,-947.7583C1507.9704,-939.7186 1401.6508,-924.5995 1367,-903 1330.8666,-880.4763 1310,-868.5786 1310,-826 1310,-826 1310,-826 1310,-764.5 1310,-694.0337 1260.6817,-620.6775 1237.1784,-589.7196"/>
 <polygon fill="#191970" stroke="#191970" points="1579.3884,-951.2745 1589.7121,-948.8931 1580.1566,-944.3168 1579.3884,-951.2745"/>
 </g>
-<!-- Node196 -->
+<!-- Node197 -->
 <g id="node49" class="node">
-<title>Node196</title>
+<title>Node197</title>
 <g id="a_node49"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1666,-872.5 1666,-902.5 1782,-902.5 1782,-872.5 1666,-872.5"/>
 <text text-anchor="start" x="1674" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -1296,15 +1296,15 @@
 </a>
 </g>
 </g>
-<!-- Node195&#45;&gt;Node196 -->
+<!-- Node196&#45;&gt;Node197 -->
 <g id="edge137" class="edge">
-<title>Node195&#45;&gt;Node196</title>
+<title>Node196&#45;&gt;Node197</title>
 <path fill="none" stroke="#191970" d="M1672.9592,-932.4965C1684.0497,-922.7193 1696.8267,-911.4554 1706.8227,-902.6432"/>
 <polygon fill="#191970" stroke="#191970" points="1670.4323,-930.0582 1665.2456,-939.2967 1675.0614,-935.3091 1670.4323,-930.0582"/>
 </g>
-<!-- Node198 -->
+<!-- Node199 -->
 <g id="node50" class="node">
-<title>Node198</title>
+<title>Node199</title>
 <g id="a_node50"><a xlink:href="runtime_2module_8h.html" target="_top" xlink:title="Runtime container of the functions generated by TVM, This is used to support dynamically link...">
 <polygon fill="#ffffff" stroke="#ff0000" points="1800,-872.5 1800,-902.5 1916,-902.5 1916,-872.5 1800,-872.5"/>
 <text text-anchor="start" x="1808" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -1312,27 +1312,27 @@
 </a>
 </g>
 </g>
-<!-- Node195&#45;&gt;Node198 -->
+<!-- Node196&#45;&gt;Node199 -->
 <g id="edge138" class="edge">
-<title>Node195&#45;&gt;Node198</title>
+<title>Node196&#45;&gt;Node199</title>
 <path fill="none" stroke="#191970" d="M1699.0373,-936.2759C1731.1443,-925.7165 1772.4285,-912.5805 1804.9178,-902.6017"/>
 <polygon fill="#191970" stroke="#191970" points="1697.7849,-933.0035 1689.3876,-939.4639 1699.9808,-939.6502 1697.7849,-933.0035"/>
 </g>
-<!-- Node188&#45;&gt;Node21 -->
+<!-- Node189&#45;&gt;Node21 -->
 <g id="edge136" class="edge">
-<title>Node188&#45;&gt;Node21</title>
+<title>Node189&#45;&gt;Node21</title>
 <path fill="none" stroke="#191970" d="M1205.8201,-551.3713C1197.6399,-541.5069 1188.5336,-530.5258 1182.1657,-522.8469"/>
 <polygon fill="#191970" stroke="#191970" points="1203.3157,-553.8343 1212.3933,-559.2977 1208.704,-549.366 1203.3157,-553.8343"/>
 </g>
-<!-- Node188&#45;&gt;Node23 -->
+<!-- Node189&#45;&gt;Node23 -->
 <g id="edge135" class="edge">
-<title>Node188&#45;&gt;Node23</title>
+<title>Node189&#45;&gt;Node23</title>
 <path fill="none" stroke="#191970" d="M1176.4862,-555.7488C1110.8653,-530.3854 996.2454,-486.0833 945.9078,-466.6272"/>
 <polygon fill="#191970" stroke="#191970" points="1175.6,-559.1586 1186.1894,-559.4992 1178.1237,-552.6293 1175.6,-559.1586"/>
 </g>
-<!-- Node198&#45;&gt;Node195 -->
+<!-- Node199&#45;&gt;Node196 -->
 <g id="edge139" class="edge">
-<title>Node198&#45;&gt;Node195</title>
+<title>Node199&#45;&gt;Node196</title>
 <path fill="none" stroke="#191970" d="M1806.7514,-905.7936C1774.6042,-916.3642 1733.3193,-929.499 1700.8686,-939.4639"/>
 <polygon fill="#191970" stroke="#191970" points="1808.0172,-909.0615 1816.4149,-902.6017 1805.8217,-902.4147 1808.0172,-909.0615"/>
 </g>
diff --git a/docs/reference/api/doxygen/attr__registry__map_8h.html b/docs/reference/api/doxygen/attr__registry__map_8h.html
index 39cc5e3e1..b8588fa58 100644
--- a/docs/reference/api/doxygen/attr__registry__map_8h.html
+++ b/docs/reference/api/doxygen/attr__registry__map_8h.html
@@ -84,7 +84,7 @@ Include dependency graph for attr_registry_map.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="attr__registry__map_8h__dep__incl.svg" width="4120" height="678"><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="attr__registry__map_8h__dep__incl.svg" width="3454" height="678"><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/attr__registry__map_8h__dep__incl.svg b/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
index dd1d129a7..0825b1818 100644
--- a/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
@@ -4,1000 +4,994 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: include/tvm/node/attr_registry_map.h Pages: 1 -->
-<svg width="3090pt" height="508pt"
- viewBox="0.00 0.00 3090.00 508.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="2590pt" height="508pt"
+ viewBox="0.00 0.00 2589.85 508.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 504)">
 <title>include/tvm/node/attr_registry_map.h</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-504 3086,-504 3086,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-504 2585.8474,-504 2585.8474,4 -4,4"/>
 <!-- Node23 -->
 <g id="node1" class="node">
 <title>Node23</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="2368.5,-469.5 2368.5,-499.5 2490.5,-499.5 2490.5,-469.5 2368.5,-469.5"/>
-<text text-anchor="start" x="2376.5" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/attr</text>
-<text text-anchor="middle" x="2429.5" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_registry_map.h</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="1515.3474,-469.5 1515.3474,-499.5 1637.3474,-499.5 1637.3474,-469.5 1515.3474,-469.5"/>
+<text text-anchor="start" x="1523.3474" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/attr</text>
+<text text-anchor="middle" x="1576.3474" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_registry_map.h</text>
 </g>
 <!-- Node24 -->
 <g id="node2" class="node">
 <title>Node24</title>
 <g id="a_node2"><a xlink:href="ir_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics) and registry for them. ">
-<polygon fill="#ffffff" stroke="#000000" points="694.5,-341 694.5,-360 802.5,-360 802.5,-341 694.5,-341"/>
-<text text-anchor="middle" x="748.5" y="-348" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="846.3474,-341 846.3474,-360 954.3474,-360 954.3474,-341 846.3474,-341"/>
+<text text-anchor="middle" x="900.3474" y="-348" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node24 -->
 <g id="edge1" class="edge">
 <title>Node23&#45;&gt;Node24</title>
-<path fill="none" stroke="#191970" d="M2358.1073,-478.809C2077.1276,-456.4108 1050.7642,-374.5948 802.7284,-354.8228"/>
-<polygon fill="#191970" stroke="#191970" points="2357.9334,-482.3061 2368.1799,-479.6119 2358.4897,-475.3283 2357.9334,-482.3061"/>
+<path fill="none" stroke="#191970" d="M1505.0996,-470.3769C1366.8824,-442.9788 1065.6514,-383.2674 948.4016,-360.0255"/>
+<polygon fill="#191970" stroke="#191970" points="1504.6749,-473.8608 1515.1646,-472.3721 1506.036,-466.9944 1504.6749,-473.8608"/>
 </g>
 <!-- Node110 -->
-<g id="node35" class="node">
+<g id="node34" class="node">
 <title>Node110</title>
-<g id="a_node35"><a xlink:href="executor_8h.html" target="_top" xlink:title="Object representation of Executor configuration and registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="2457.5,-408 2457.5,-427 2613.5,-427 2613.5,-408 2457.5,-408"/>
-<text text-anchor="middle" x="2535.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/executor.h</text>
+<g id="a_node34"><a xlink:href="executor_8h.html" target="_top" xlink:title="Object representation of Executor configuration and registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="1604.3474,-408 1604.3474,-427 1760.3474,-427 1760.3474,-408 1604.3474,-408"/>
+<text text-anchor="middle" x="1682.3474" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/executor.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node110 -->
-<g id="edge57" class="edge">
+<g id="edge55" class="edge">
 <title>Node23&#45;&gt;Node110</title>
-<path fill="none" stroke="#191970" d="M2461.8625,-464.0445C2481.2974,-451.7601 2505.1199,-436.7025 2520.3057,-427.1039"/>
-<polygon fill="#191970" stroke="#191970" points="2459.8714,-461.1624 2453.2885,-469.4639 2463.6115,-467.0795 2459.8714,-461.1624"/>
+<path fill="none" stroke="#191970" d="M1608.7098,-464.0445C1628.1448,-451.7601 1651.9673,-436.7025 1667.1531,-427.1039"/>
+<polygon fill="#191970" stroke="#191970" points="1606.7188,-461.1624 1600.1358,-469.4639 1610.4589,-467.0795 1606.7188,-461.1624"/>
 </g>
 <!-- Node111 -->
-<g id="node36" class="node">
+<g id="node35" class="node">
 <title>Node111</title>
-<g id="a_node36"><a xlink:href="runtime_8h.html" target="_top" xlink:title="Object representation of Runtime configuration and registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="2631.5,-408 2631.5,-427 2783.5,-427 2783.5,-408 2631.5,-408"/>
-<text text-anchor="middle" x="2707.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/runtime.h</text>
+<g id="a_node35"><a xlink:href="runtime_8h.html" target="_top" xlink:title="Object representation of Runtime configuration and registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="1778.3474,-408 1778.3474,-427 1930.3474,-427 1930.3474,-408 1778.3474,-408"/>
+<text text-anchor="middle" x="1854.3474" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/runtime.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node111 -->
-<g id="edge58" class="edge">
+<g id="edge56" class="edge">
 <title>Node23&#45;&gt;Node111</title>
-<path fill="none" stroke="#191970" d="M2500.233,-467.4528C2553.4792,-454.6201 2624.5049,-437.5024 2668.0682,-427.0033"/>
-<polygon fill="#191970" stroke="#191970" points="2499.4099,-464.0509 2490.5083,-469.7966 2501.05,-470.8561 2499.4099,-464.0509"/>
+<path fill="none" stroke="#191970" d="M1647.0803,-467.4528C1700.3265,-454.6201 1771.3523,-437.5024 1814.9156,-427.0033"/>
+<polygon fill="#191970" stroke="#191970" points="1646.2572,-464.0509 1637.3556,-469.7966 1647.8974,-470.8561 1646.2572,-464.0509"/>
 </g>
 <!-- Node112 -->
-<g id="node37" class="node">
+<g id="node36" class="node">
 <title>Node112</title>
-<g id="a_node37"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="2975,-268.5 2975,-298.5 3082,-298.5 3082,-268.5 2975,-268.5"/>
-<text text-anchor="start" x="2983" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="3028.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tag.h</text>
+<g id="a_node36"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="2474.8474,-268.5 2474.8474,-298.5 2581.8474,-298.5 2581.8474,-268.5 2474.8474,-268.5"/>
+<text text-anchor="start" x="2482.8474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="2528.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tag.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node112 -->
-<g id="edge59" class="edge">
+<g id="edge57" class="edge">
 <title>Node23&#45;&gt;Node112</title>
-<path fill="none" stroke="#191970" d="M2428.5188,-459.3334C2429.2247,-440.9414 2433.3504,-416.7337 2448.5,-402 2614.898,-240.1703 2733.5488,-347.6855 2960.5,-299 2965.1172,-298.0095 2969.9058,-296.9611 2974.7064,-295.8954"/>
-<polygon fill="#191970" stroke="#191970" points="2425.0187,-459.3478 2428.4408,-469.3747 2432.0185,-459.4022 2425.0187,-459.3478"/>
+<path fill="none" stroke="#191970" d="M1575.0218,-459.2978C1575.5152,-440.678 1579.5244,-416.1928 1595.3474,-402 1740.2723,-272.006 2273.7932,-333.7663 2465.3474,-299 2468.4505,-298.4368 2471.6285,-297.8114 2474.8278,-297.1441"/>
+<polygon fill="#191970" stroke="#191970" points="1571.5226,-459.4793 1575.0749,-469.4609 1578.5225,-459.4427 1571.5226,-459.4793"/>
 </g>
 <!-- Node113 -->
-<g id="node38" class="node">
+<g id="node37" class="node">
 <title>Node113</title>
-<g id="a_node38"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="2294,-402.5 2294,-432.5 2401,-432.5 2401,-402.5 2294,-402.5"/>
-<text text-anchor="start" x="2302" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="2347.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target_kind.h</text>
+<g id="a_node37"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="1440.8474,-402.5 1440.8474,-432.5 1547.8474,-432.5 1547.8474,-402.5 1440.8474,-402.5"/>
+<text text-anchor="start" x="1448.8474" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1494.3474" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target_kind.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node113 -->
-<g id="edge60" class="edge">
+<g id="edge58" class="edge">
 <title>Node23&#45;&gt;Node113</title>
-<path fill="none" stroke="#191970" d="M2402.9183,-462.7808C2390.8722,-452.9383 2376.9233,-441.541 2366.0334,-432.6432"/>
-<polygon fill="#191970" stroke="#191970" points="2400.9346,-465.6797 2410.8929,-469.2967 2405.3637,-460.2591 2400.9346,-465.6797"/>
+<path fill="none" stroke="#191970" d="M1549.7657,-462.7808C1537.7196,-452.9383 1523.7706,-441.541 1512.8808,-432.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1547.782,-465.6797 1557.7403,-469.2967 1552.211,-460.2591 1547.782,-465.6797"/>
 </g>
 <!-- Node25 -->
 <g id="node3" class="node">
 <title>Node25</title>
 <g id="a_node3"><a xlink:href="relay_2expr_8h.html" target="_top" xlink:title="Relay expression language. ">
-<polygon fill="#ffffff" stroke="#000000" points="1518,-207 1518,-226 1653,-226 1653,-207 1518,-207"/>
-<text text-anchor="middle" x="1585.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1374.8474,-207 1374.8474,-226 1509.8474,-226 1509.8474,-207 1374.8474,-207"/>
+<text text-anchor="middle" x="1442.3474" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node24&#45;&gt;Node25 -->
 <g id="edge2" class="edge">
 <title>Node24&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M812.6661,-347.9216C977.9358,-340.9981 1409.5439,-321.0269 1470.5,-299 1515.1004,-282.8834 1557.8148,-244.1767 1576.1373,-226.1018"/>
-<polygon fill="#191970" stroke="#191970" points="812.487,-344.4259 802.6414,-348.3392 812.7784,-351.4199 812.487,-344.4259"/>
+<path fill="none" stroke="#191970" d="M944.8083,-338.1631C1022.3104,-316.6804 1176.3139,-274.1001 1201.3474,-268 1237.7199,-259.1368 1336.9837,-238.3253 1396.1578,-226.0428"/>
+<polygon fill="#191970" stroke="#191970" points="943.5518,-334.8793 934.8504,-340.9238 945.4221,-341.6248 943.5518,-334.8793"/>
 </g>
 <!-- Node42 -->
 <g id="node20" class="node">
 <title>Node42</title>
 <g id="a_node20"><a xlink:href="relay_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics). ">
-<polygon fill="#ffffff" stroke="#000000" points="685.5,-140 685.5,-159 811.5,-159 811.5,-140 685.5,-140"/>
-<text text-anchor="middle" x="748.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="860.3474,-140 860.3474,-159 986.3474,-159 986.3474,-140 860.3474,-140"/>
+<text text-anchor="middle" x="923.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node24&#45;&gt;Node42 -->
 <g id="edge36" class="edge">
 <title>Node24&#45;&gt;Node42</title>
-<path fill="none" stroke="#191970" d="M748.5,-330.6373C748.5,-288.2215 748.5,-190.1332 748.5,-159.0974"/>
-<polygon fill="#191970" stroke="#191970" points="745.0001,-330.8053 748.5,-340.8054 752.0001,-330.8054 745.0001,-330.8053"/>
+<path fill="none" stroke="#191970" d="M902.6202,-330.6373C907.4738,-288.2215 918.6978,-190.1332 922.2492,-159.0974"/>
+<polygon fill="#191970" stroke="#191970" points="899.1163,-330.4723 901.4567,-340.8054 906.071,-331.2681 899.1163,-330.4723"/>
 </g>
 <!-- Node45 -->
 <g id="node23" class="node">
 <title>Node45</title>
 <g id="a_node23"><a xlink:href="builtin_8h.html" target="_top" xlink:title="TIR builtin intrinsics. ">
-<polygon fill="#ffffff" stroke="#000000" points="428,-207 428,-226 559,-226 559,-207 428,-207"/>
-<text text-anchor="middle" x="493.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/builtin.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="32.8474,-207 32.8474,-226 163.8474,-226 163.8474,-207 32.8474,-207"/>
+<text text-anchor="middle" x="98.3474" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/builtin.h</text>
 </a>
 </g>
 </g>
 <!-- Node24&#45;&gt;Node45 -->
 <g id="edge37" class="edge">
 <title>Node24&#45;&gt;Node45</title>
-<path fill="none" stroke="#191970" d="M721.1234,-336.1139C668.78,-308.6079 555.7931,-249.2344 511.6728,-226.0496"/>
-<polygon fill="#191970" stroke="#191970" points="719.6807,-339.3095 730.161,-340.8631 722.937,-333.113 719.6807,-339.3095"/>
+<path fill="none" stroke="#191970" d="M835.6955,-348.7874C693.7244,-344.4748 358.7455,-331.1312 250.3474,-299 194.788,-282.5312 136.6088,-244.0033 111.3385,-226.0378"/>
+<polygon fill="#191970" stroke="#191970" points="835.8848,-352.2945 845.9848,-349.0943 836.0936,-345.2976 835.8848,-352.2945"/>
 </g>
 <!-- Node58 -->
-<g id="node28" class="node">
+<g id="node27" class="node">
 <title>Node58</title>
-<g id="a_node28"><a xlink:href="tir_2op_8h.html" target="_top" xlink:title="Common operators defined for Expr. ">
-<polygon fill="#ffffff" stroke="#000000" points="217.5,-274 217.5,-293 329.5,-293 329.5,-274 217.5,-274"/>
-<text text-anchor="middle" x="273.5" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/op.h</text>
+<g id="a_node27"><a xlink:href="tir_2op_8h.html" target="_top" xlink:title="Common operators defined for Expr. ">
+<polygon fill="#ffffff" stroke="#000000" points="488.3474,-274 488.3474,-293 600.3474,-293 600.3474,-274 488.3474,-274"/>
+<text text-anchor="middle" x="544.3474" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node24&#45;&gt;Node58 -->
-<g id="edge42" class="edge">
+<g id="edge41" class="edge">
 <title>Node24&#45;&gt;Node58</title>
-<path fill="none" stroke="#191970" d="M684.2934,-341.4435C590.7427,-328.2479 418.4735,-303.9489 329.6808,-291.4245"/>
-<polygon fill="#191970" stroke="#191970" points="684.0831,-344.9484 694.4739,-342.8795 685.0608,-338.017 684.0831,-344.9484"/>
+<path fill="none" stroke="#191970" d="M839.8743,-339.1188C770.9867,-326.154 659.6386,-305.1981 595.0887,-293.0496"/>
+<polygon fill="#191970" stroke="#191970" points="839.2445,-342.5617 849.7193,-340.9717 840.5392,-335.6824 839.2445,-342.5617"/>
 </g>
 <!-- Node26 -->
 <g id="node4" class="node">
 <title>Node26</title>
 <g id="a_node4"><a xlink:href="type__functor_8h.html" target="_top" xlink:title="A way to defined arbitrary function signature with dispatch on types. ">
-<polygon fill="#ffffff" stroke="#000000" points="1421,-67.5 1421,-97.5 1530,-97.5 1530,-67.5 1421,-67.5"/>
-<text text-anchor="start" x="1429" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
-<text text-anchor="middle" x="1475.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1557.8474,-67.5 1557.8474,-97.5 1666.8474,-97.5 1666.8474,-67.5 1557.8474,-67.5"/>
+<text text-anchor="start" x="1565.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
+<text text-anchor="middle" x="1612.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node26 -->
 <g id="edge3" class="edge">
 <title>Node25&#45;&gt;Node26</title>
-<path fill="none" stroke="#191970" d="M1585.3226,-196.6179C1584.2136,-178.6349 1580.1207,-152.2529 1566.5,-134 1554.3405,-117.7053 1535.4026,-105.811 1517.9448,-97.5857"/>
-<polygon fill="#191970" stroke="#191970" points="1581.8321,-196.9491 1585.6884,-206.8172 1588.8276,-196.6981 1581.8321,-196.9491"/>
+<path fill="none" stroke="#191970" d="M1499.0876,-204.8778C1570.1494,-190.2579 1682.8681,-166.8272 1684.3474,-165 1703.905,-140.8424 1669.1119,-113.8904 1641.415,-97.5674"/>
+<polygon fill="#191970" stroke="#191970" points="1498.0138,-201.5253 1488.9235,-206.9673 1499.4234,-208.3819 1498.0138,-201.5253"/>
 </g>
 <!-- Node27 -->
 <g id="node5" class="node">
 <title>Node27</title>
 <g id="a_node5"><a xlink:href="relay_2adt_8h.html" target="_top" xlink:title="Algebraic data types for Relay. ">
-<polygon fill="#ffffff" stroke="#000000" points="1051.5,-140 1051.5,-159 1181.5,-159 1181.5,-140 1051.5,-140"/>
-<text text-anchor="middle" x="1116.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/adt.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1188.3474,-140 1188.3474,-159 1318.3474,-159 1318.3474,-140 1188.3474,-140"/>
+<text text-anchor="middle" x="1253.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/adt.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node27 -->
 <g id="edge4" class="edge">
 <title>Node25&#45;&gt;Node27</title>
-<path fill="none" stroke="#191970" d="M1528.3154,-205.1435C1520.0068,-203.6529 1511.545,-202.2214 1503.5,-201 1365.0581,-179.9822 1328.7286,-187.3773 1190.5,-165 1180.1341,-163.3219 1169.0204,-161.179 1158.6384,-159.0256"/>
-<polygon fill="#191970" stroke="#191970" points="1527.8684,-208.6198 1538.3357,-206.981 1529.131,-201.7346 1527.8684,-208.6198"/>
+<path fill="none" stroke="#191970" d="M1405.4387,-203.416C1368.7016,-190.3928 1313.1943,-170.7156 1280.3762,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="1404.6735,-206.8581 1415.2683,-206.9005 1407.0124,-200.2604 1404.6735,-206.8581"/>
 </g>
 <!-- Node28 -->
 <g id="node6" class="node">
 <title>Node28</title>
 <g id="a_node6"><a xlink:href="relay_2analysis_8h.html" target="_top" xlink:title="The set of Relay analysis passes written in C++. ">
-<polygon fill="#ffffff" stroke="#000000" points="1199,-73 1199,-92 1354,-92 1354,-73 1199,-73"/>
-<text text-anchor="middle" x="1276.5" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/analysis.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1335.8474,-73 1335.8474,-92 1490.8474,-92 1490.8474,-73 1335.8474,-73"/>
+<text text-anchor="middle" x="1413.3474" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/analysis.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node28 -->
 <g id="edge9" class="edge">
 <title>Node25&#45;&gt;Node28</title>
-<path fill="none" stroke="#191970" d="M1533.1643,-204.6394C1486.685,-193.631 1422.6437,-177.1595 1399.5,-165 1380.5083,-155.0219 1379.9794,-146.4386 1362.5,-134 1339.955,-117.9567 1312.24,-101.9757 1294.474,-92.1684"/>
-<polygon fill="#191970" stroke="#191970" points="1532.5535,-208.0911 1543.0889,-206.9705 1534.1542,-201.2765 1532.5535,-208.0911"/>
+<path fill="none" stroke="#191970" d="M1497.1457,-204.7747C1562.5919,-190.6453 1663.6637,-168.3707 1666.3474,-165 1674.9291,-154.2213 1675.0641,-144.6698 1666.3474,-134 1654.6671,-119.7025 1553.2374,-102.4781 1482.4132,-92.0155"/>
+<polygon fill="#191970" stroke="#191970" points="1496.0064,-201.4398 1486.9684,-206.9683 1497.4814,-208.2827 1496.0064,-201.4398"/>
 </g>
 <!-- Node29 -->
 <g id="node7" class="node">
 <title>Node29</title>
 <g id="a_node7"><a xlink:href="relay_2expr__functor_8h.html" target="_top" xlink:title="A more powerful visitor which enables defining arbitrary function signatures with type based dispatch...">
-<polygon fill="#ffffff" stroke="#000000" points="1006,-67.5 1006,-97.5 1133,-97.5 1133,-67.5 1006,-67.5"/>
-<text text-anchor="start" x="1014" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr</text>
-<text text-anchor="middle" x="1069.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1100.8474,-67.5 1100.8474,-97.5 1227.8474,-97.5 1227.8474,-67.5 1100.8474,-67.5"/>
+<text text-anchor="start" x="1108.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr</text>
+<text text-anchor="middle" x="1164.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node29 -->
 <g id="edge19" class="edge">
 <title>Node25&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M1529.5842,-205.0899C1520.8775,-203.5567 1511.9643,-202.1271 1503.5,-201 1452.5713,-194.2186 1077.387,-202.7176 1042.5,-165 1025.1036,-146.1921 1042.7182,-115.9827 1056.5163,-97.8083"/>
-<polygon fill="#191970" stroke="#191970" points="1529.206,-208.5785 1539.6711,-206.9254 1530.4593,-201.6916 1529.206,-208.5785"/>
+<path fill="none" stroke="#191970" d="M1388.4511,-205.0065C1380.7175,-203.5453 1372.8435,-202.1585 1365.3474,-201 1292.0077,-189.666 1082.9129,-220.2306 1033.3474,-165 1006.2405,-134.7949 1056.6882,-111.5194 1102.6312,-97.5075"/>
+<polygon fill="#191970" stroke="#191970" points="1388.0094,-208.4861 1398.4934,-206.9575 1389.3444,-201.6146 1388.0094,-208.4861"/>
 </g>
 <!-- Node30 -->
 <g id="node8" class="node">
 <title>Node30</title>
 <g id="a_node8"><a xlink:href="pattern__functor_8h.html" target="_top" xlink:title="A more powerful visitor on ADT patterns that enables defining arbitrary function signatures with type...">
-<polygon fill="#ffffff" stroke="#000000" points="678.5,-67.5 678.5,-97.5 818.5,-97.5 818.5,-67.5 678.5,-67.5"/>
-<text text-anchor="start" x="686.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/pattern</text>
-<text text-anchor="middle" x="748.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="853.3474,-67.5 853.3474,-97.5 993.3474,-97.5 993.3474,-67.5 853.3474,-67.5"/>
+<text text-anchor="start" x="861.3474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/pattern</text>
+<text text-anchor="middle" x="923.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node30 -->
 <g id="edge34" class="edge">
 <title>Node25&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M1507.7612,-210.4164C1467.673,-207.3806 1417.9807,-203.7745 1373.5,-201 1334.8014,-198.5862 703.2008,-193.1155 676.5,-165 654.8342,-142.1863 691.2734,-114.3898 719.7448,-97.5879"/>
-<polygon fill="#191970" stroke="#191970" points="1507.5005,-213.9066 1517.7371,-211.175 1508.0313,-206.9267 1507.5005,-213.9066"/>
+<path fill="none" stroke="#191970" d="M1390.1953,-205.0597C1381.9126,-203.5153 1373.4174,-202.0902 1365.3474,-201 1308.6118,-193.3352 890.3901,-206.8729 851.3474,-165 829.8915,-141.9888 866.2692,-114.2501 894.6708,-97.5138"/>
+<polygon fill="#191970" stroke="#191970" points="1389.667,-208.5223 1400.1502,-206.9881 1390.9984,-201.6501 1389.667,-208.5223"/>
 </g>
 <!-- Node31 -->
 <g id="node9" class="node">
 <title>Node31</title>
 <g id="a_node9"><a xlink:href="algorithm_8h.html" target="_top" xlink:title="include/tvm/relay/attrs\l/algorithm.h">
-<polygon fill="#ffffff" stroke="#000000" points="1963.5,-134.5 1963.5,-164.5 2091.5,-164.5 2091.5,-134.5 1963.5,-134.5"/>
-<text text-anchor="start" x="1971.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="2027.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algorithm.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1042.3474,-134.5 1042.3474,-164.5 1170.3474,-164.5 1170.3474,-134.5 1042.3474,-134.5"/>
+<text text-anchor="start" x="1050.3474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="1106.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algorithm.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node31 -->
 <g id="edge10" class="edge">
 <title>Node25&#45;&gt;Node31</title>
-<path fill="none" stroke="#191970" d="M1663.3393,-207.2562C1738.1911,-197.9853 1854.4092,-182.5882 1954.5,-165 1957.4349,-164.4843 1960.4318,-163.9361 1963.4557,-163.3655"/>
-<polygon fill="#191970" stroke="#191970" points="1662.5546,-203.8264 1653.0579,-208.5234 1663.4109,-210.7738 1662.5546,-203.8264"/>
+<path fill="none" stroke="#191970" d="M1384.8576,-204.8785C1378.2793,-203.5632 1371.6685,-202.2479 1365.3474,-201 1282.741,-184.6918 1261.8664,-181.7449 1179.3474,-165 1176.427,-164.4074 1173.4421,-163.7961 1170.4279,-163.1744"/>
+<polygon fill="#191970" stroke="#191970" points="1384.6289,-208.4022 1395.1217,-206.9356 1386.0045,-201.5387 1384.6289,-208.4022"/>
 </g>
 <!-- Node32 -->
 <g id="node10" class="node">
 <title>Node32</title>
 <g id="a_node10"><a xlink:href="relay_2attrs_2memory_8h.html" target="_top" xlink:title="Attributes for memory operators. ">
-<polygon fill="#ffffff" stroke="#000000" points="2147.5,-134.5 2147.5,-164.5 2275.5,-164.5 2275.5,-134.5 2147.5,-134.5"/>
-<text text-anchor="start" x="2155.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="2211.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/memory.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1935.3474,-134.5 1935.3474,-164.5 2063.3474,-164.5 2063.3474,-134.5 1935.3474,-134.5"/>
+<text text-anchor="start" x="1943.3474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="1999.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/memory.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node32 -->
 <g id="edge11" class="edge">
 <title>Node25&#45;&gt;Node32</title>
-<path fill="none" stroke="#191970" d="M1663.3204,-207.4249C1682.9505,-205.2278 1703.991,-202.9518 1723.5,-201 1905.5147,-182.79 1952.4145,-190.8646 2133.5,-165 2138.0104,-164.3558 2142.654,-163.6201 2147.3216,-162.8272"/>
-<polygon fill="#191970" stroke="#191970" points="1662.7447,-203.9675 1653.1992,-208.5646 1663.5281,-210.9236 1662.7447,-203.9675"/>
+<path fill="none" stroke="#191970" d="M1495.3774,-205.036C1503.3848,-203.5342 1511.5666,-202.1281 1519.3474,-201 1696.8729,-175.2619 1743.79,-190.5178 1921.3474,-165 1925.8572,-164.3519 1930.5004,-163.6133 1935.1677,-162.8183"/>
+<polygon fill="#191970" stroke="#191970" points="1494.5223,-201.6365 1485.3712,-206.9757 1495.8545,-208.5086 1494.5223,-201.6365"/>
 </g>
 <!-- Node33 -->
 <g id="node11" class="node">
 <title>Node33</title>
 <g id="a_node11"><a xlink:href="relay_2attrs_2transform_8h.html" target="_top" xlink:title="Transform operators. ">
-<polygon fill="#ffffff" stroke="#000000" points="1817.5,-134.5 1817.5,-164.5 1945.5,-164.5 1945.5,-134.5 1817.5,-134.5"/>
-<text text-anchor="start" x="1825.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="1881.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1751.3474,-134.5 1751.3474,-164.5 1879.3474,-164.5 1879.3474,-134.5 1751.3474,-134.5"/>
+<text text-anchor="start" x="1759.3474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="1815.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node33 -->
 <g id="edge12" class="edge">
 <title>Node25&#45;&gt;Node33</title>
-<path fill="none" stroke="#191970" d="M1637.5602,-204.7161C1687.6231,-193.3843 1763.4235,-176.2268 1817.2254,-164.0486"/>
-<polygon fill="#191970" stroke="#191970" points="1636.5758,-201.3503 1627.5952,-206.9717 1638.1212,-208.1776 1636.5758,-201.3503"/>
+<path fill="none" stroke="#191970" d="M1498.4918,-204.961C1505.5069,-203.5891 1512.5884,-202.238 1519.3474,-201 1615.9416,-183.3078 1640.7313,-182.5724 1737.3474,-165 1741.83,-164.1847 1746.453,-163.3221 1751.1058,-162.4378"/>
+<polygon fill="#191970" stroke="#191970" points="1497.4376,-201.6016 1488.3064,-206.9749 1498.7954,-208.4686 1497.4376,-201.6016"/>
 </g>
 <!-- Node34 -->
 <g id="node12" class="node">
 <title>Node34</title>
 <g id="a_node12"><a xlink:href="relay_2transform_8h.html" target="_top" xlink:title="Relay specific transformation passes. ">
-<polygon fill="#ffffff" stroke="#000000" points="1800.5,-73 1800.5,-92 1962.5,-92 1962.5,-73 1800.5,-73"/>
-<text text-anchor="middle" x="1881.5" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1734.3474,-73 1734.3474,-92 1896.3474,-92 1896.3474,-73 1734.3474,-73"/>
+<text text-anchor="middle" x="1815.3474" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node34 -->
 <g id="edge35" class="edge">
 <title>Node25&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M1652.3824,-204.8572C1688.686,-196.8474 1733.5631,-184.1312 1770.5,-165 1789.854,-154.9757 1791.14,-147.1792 1808.5,-134 1828.5126,-118.807 1852.4297,-102.2194 1867.2956,-92.0863"/>
-<polygon fill="#191970" stroke="#191970" points="1651.4322,-201.4811 1642.384,-206.993 1652.8946,-208.3267 1651.4322,-201.4811"/>
+<path fill="none" stroke="#191970" d="M1495.6786,-205.0364C1503.5913,-203.5474 1511.666,-202.1448 1519.3474,-201 1560.092,-194.9275 1860.6687,-195.5105 1888.3474,-165 1911.9916,-138.9368 1863.9353,-107.7198 1835.0334,-92.2219"/>
+<polygon fill="#191970" stroke="#191970" points="1494.9346,-201.6154 1485.7841,-206.9558 1496.2677,-208.4873 1494.9346,-201.6154"/>
 </g>
 <!-- Node36 -->
 <g id="node14" class="node">
 <title>Node36</title>
 <g id="a_node14"><a xlink:href="dataflow__pattern_8h.html" target="_top" xlink:title="A pattern language for matching dataflow properties. ">
-<polygon fill="#ffffff" stroke="#000000" points="1614,-134.5 1614,-164.5 1761,-164.5 1761,-134.5 1614,-134.5"/>
-<text text-anchor="start" x="1622" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
-<text text-anchor="middle" x="1687.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2341.8474,-134.5 2341.8474,-164.5 2488.8474,-164.5 2488.8474,-134.5 2341.8474,-134.5"/>
+<text text-anchor="start" x="2349.8474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
+<text text-anchor="middle" x="2415.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node36 -->
 <g id="edge15" class="edge">
 <title>Node25&#45;&gt;Node36</title>
-<path fill="none" stroke="#191970" d="M1608.7525,-201.2263C1625.496,-190.2281 1647.976,-175.4618 1664.631,-164.5218"/>
-<polygon fill="#191970" stroke="#191970" points="1606.5507,-198.485 1600.1141,-206.9005 1610.3938,-204.3357 1606.5507,-198.485"/>
+<path fill="none" stroke="#191970" d="M1493.6072,-205.0534C1502.1668,-203.467 1510.9817,-202.0305 1519.3474,-201 1861.1361,-158.899 1950.2608,-194.7254 2293.3474,-165 2308.9816,-163.6454 2325.6951,-161.791 2341.5793,-159.8354"/>
+<polygon fill="#191970" stroke="#191970" points="1492.8704,-201.6309 1483.7186,-206.9691 1494.2018,-208.5032 1492.8704,-201.6309"/>
 </g>
 <!-- Node39 -->
 <g id="node17" class="node">
 <title>Node39</title>
 <g id="a_node17"><a xlink:href="relay_2feature_8h.html" target="_top" xlink:title="Detect features used in Expr/Module. ">
-<polygon fill="#ffffff" stroke="#000000" points="1409,-140 1409,-159 1558,-159 1558,-140 1409,-140"/>
-<text text-anchor="middle" x="1483.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/feature.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1508.8474,-140 1508.8474,-159 1657.8474,-159 1657.8474,-140 1508.8474,-140"/>
+<text text-anchor="middle" x="1583.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/feature.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node39 -->
 <g id="edge20" class="edge">
 <title>Node25&#45;&gt;Node39</title>
-<path fill="none" stroke="#191970" d="M1562.4539,-201.3619C1542.7144,-188.3957 1514.8901,-170.119 1498.087,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1560.6062,-204.3357 1570.8859,-206.9005 1564.4493,-198.485 1560.6062,-204.3357"/>
+<path fill="none" stroke="#191970" d="M1471.6581,-202.5722C1499.0514,-189.5555 1539.2228,-170.467 1563.183,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="1470.0792,-199.4473 1462.5492,-206.9005 1473.0836,-205.7699 1470.0792,-199.4473"/>
 </g>
 <!-- Node40 -->
 <g id="node18" class="node">
 <title>Node40</title>
 <g id="a_node18"><a xlink:href="relay_2function_8h.html" target="_top" xlink:title="Relay Function. ">
-<polygon fill="#ffffff" stroke="#000000" points="1199.5,-140 1199.5,-159 1353.5,-159 1353.5,-140 1199.5,-140"/>
-<text text-anchor="middle" x="1276.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/function.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1336.3474,-140 1336.3474,-159 1490.3474,-159 1490.3474,-140 1336.3474,-140"/>
+<text text-anchor="middle" x="1413.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/function.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node40 -->
 <g id="edge21" class="edge">
 <title>Node25&#45;&gt;Node40</title>
-<path fill="none" stroke="#191970" d="M1531.5478,-204.8016C1471.7418,-191.834 1376.4022,-171.1616 1320.7927,-159.1039"/>
-<polygon fill="#191970" stroke="#191970" points="1531.0414,-208.2731 1541.556,-206.9717 1532.5248,-201.432 1531.0414,-208.2731"/>
+<path fill="none" stroke="#191970" d="M1434.0641,-197.3628C1428.6457,-184.8444 1421.7986,-169.0252 1417.4947,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="1431.0081,-199.1136 1438.1924,-206.9005 1437.4321,-196.333 1431.0081,-199.1136"/>
 </g>
 <!-- Node41 -->
 <g id="node19" class="node">
 <title>Node41</title>
 <g id="a_node19"><a xlink:href="interpreter_8h.html" target="_top" xlink:title="An interpreter for Relay. ">
-<polygon fill="#ffffff" stroke="#000000" points="830,-140 830,-159 995,-159 995,-140 830,-140"/>
-<text text-anchor="middle" x="912.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/interpreter.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2119.8474,-140 2119.8474,-159 2284.8474,-159 2284.8474,-140 2119.8474,-140"/>
+<text text-anchor="middle" x="2202.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/interpreter.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node41 -->
 <g id="edge25" class="edge">
 <title>Node25&#45;&gt;Node41</title>
-<path fill="none" stroke="#191970" d="M1530.195,-205.1574C1521.2958,-203.5889 1512.1636,-202.1307 1503.5,-201 1285.2136,-172.51 1228.1685,-190.3913 1009.5,-165 995.6091,-163.387 980.6649,-161.2171 966.7673,-159.0124"/>
-<polygon fill="#191970" stroke="#191970" points="1529.6406,-208.6139 1540.1061,-206.9636 1530.8957,-201.7274 1529.6406,-208.6139"/>
+<path fill="none" stroke="#191970" d="M1494.4948,-205.0247C1502.7781,-203.4849 1511.2746,-202.0704 1519.3474,-201 1763.5084,-168.6255 1827.0873,-187.588 2072.3474,-165 2090.5673,-163.322 2110.1832,-161.1666 2128.5154,-159"/>
+<polygon fill="#191970" stroke="#191970" points="1493.6928,-201.6148 1484.5395,-206.9503 1495.0222,-208.4874 1493.6928,-201.6148"/>
 </g>
 <!-- Node25&#45;&gt;Node42 -->
 <g id="edge26" class="edge">
 <title>Node25&#45;&gt;Node42</title>
-<path fill="none" stroke="#191970" d="M1507.7447,-210.6659C1467.6523,-207.6955 1417.9611,-204.0725 1373.5,-201 1127.788,-184.02 1064.4387,-199.0093 820.5,-165 809.8623,-163.5169 798.4537,-161.3383 787.9253,-159.0802"/>
-<polygon fill="#191970" stroke="#191970" points="1507.4903,-214.1565 1517.7219,-211.4063 1508.0084,-207.1757 1507.4903,-214.1565"/>
+<path fill="none" stroke="#191970" d="M1389.0151,-205.0438C1381.1025,-203.5537 1373.0282,-202.1489 1365.3474,-201 1204.1315,-176.8855 1161.5632,-189.1145 1000.3474,-165 989.4236,-163.366 977.7038,-161.2143 966.7853,-159.0361"/>
+<polygon fill="#191970" stroke="#191970" points="1388.4257,-208.4947 1398.9094,-206.9639 1389.7593,-201.6229 1388.4257,-208.4947"/>
 </g>
 <!-- Node43 -->
 <g id="node21" class="node">
 <title>Node43</title>
 <g id="a_node21"><a xlink:href="relay_2op__attr__types_8h.html" target="_top" xlink:title="The Expr and related elements in DataFlow construction. ">
-<polygon fill="#ffffff" stroke="#000000" points="2370,-134.5 2370,-164.5 2487,-164.5 2487,-134.5 2370,-134.5"/>
-<text text-anchor="start" x="2378" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
-<text text-anchor="middle" x="2428.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attr_types.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="648.8474,-134.5 648.8474,-164.5 765.8474,-164.5 765.8474,-134.5 648.8474,-134.5"/>
+<text text-anchor="start" x="656.8474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
+<text text-anchor="middle" x="707.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attr_types.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node43 -->
 <g id="edge30" class="edge">
 <title>Node25&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M1663.2902,-207.1046C1682.921,-204.9148 1703.9694,-202.7225 1723.5,-201 1972.3801,-179.0502 2035.5698,-186.3743 2284.5,-165 2312.5585,-162.5908 2343.6283,-159.3228 2369.704,-156.4087"/>
-<polygon fill="#191970" stroke="#191970" points="1662.7136,-203.6474 1653.1693,-208.247 1663.4988,-210.6032 1662.7136,-203.6474"/>
+<path fill="none" stroke="#191970" d="M1390.2033,-204.9994C1381.9195,-203.4629 1373.422,-202.0561 1365.3474,-201 1107.0554,-167.2178 1038.4571,-200.1478 780.3474,-165 775.7258,-164.3707 770.9605,-163.6118 766.1832,-162.7723"/>
+<polygon fill="#191970" stroke="#191970" points="1389.6764,-208.4623 1400.1588,-206.923 1391.0045,-201.5894 1389.6764,-208.4623"/>
 </g>
 <!-- Node44 -->
 <g id="node22" class="node">
 <title>Node44</title>
 <g id="a_node22"><a xlink:href="op__strategy_8h.html" target="_top" xlink:title="The Relay operator Strategy and related data structure. ">
-<polygon fill="#ffffff" stroke="#000000" points="2326,-67.5 2326,-97.5 2443,-97.5 2443,-67.5 2326,-67.5"/>
-<text text-anchor="start" x="2334" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
-<text text-anchor="middle" x="2384.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_strategy.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="620.8474,-67.5 620.8474,-97.5 737.8474,-97.5 737.8474,-67.5 620.8474,-67.5"/>
+<text text-anchor="start" x="628.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
+<text text-anchor="middle" x="679.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_strategy.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node44 -->
 <g id="edge33" class="edge">
 <title>Node25&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M1663.3309,-207.5287C1682.9608,-205.3292 1703.9985,-203.0262 1723.5,-201 1890.9166,-183.6058 1944.8053,-228.9533 2100.5,-165 2120.6613,-156.7185 2118.8299,-143.3888 2138.5,-134 2198.5521,-105.3365 2274.3539,-92.5474 2325.8308,-86.8915"/>
-<polygon fill="#191970" stroke="#191970" points="1662.7556,-204.0713 1653.2097,-208.6675 1663.5383,-211.0274 1662.7556,-204.0713"/>
+<path fill="none" stroke="#191970" d="M1390.1966,-205.0502C1381.9137,-203.5071 1373.4182,-202.0849 1365.3474,-201 1133.9903,-169.9009 1066.3397,-227.2227 841.3474,-165 827.3921,-161.1406 750.2078,-120.4257 707.6094,-97.6741"/>
+<polygon fill="#191970" stroke="#191970" points="1389.6685,-208.5129 1400.1516,-206.9779 1390.9993,-201.6405 1389.6685,-208.5129"/>
 </g>
 <!-- Node27&#45;&gt;Node26 -->
 <g id="edge5" class="edge">
 <title>Node27&#45;&gt;Node26</title>
-<path fill="none" stroke="#191970" d="M1171.1979,-137.8653C1177.6979,-136.5353 1184.2436,-135.2203 1190.5,-134 1270.4479,-118.4068 1363.3405,-101.9255 1420.7793,-91.9244"/>
-<polygon fill="#191970" stroke="#191970" points="1170.1551,-134.5067 1161.0692,-139.9561 1171.5703,-141.3622 1170.1551,-134.5067"/>
+<path fill="none" stroke="#191970" d="M1308.0452,-137.8653C1314.5453,-136.5353 1321.0909,-135.2203 1327.3474,-134 1407.2953,-118.4068 1500.1879,-101.9255 1557.6267,-91.9244"/>
+<polygon fill="#191970" stroke="#191970" points="1307.0025,-134.5067 1297.9166,-139.9561 1308.4177,-141.3622 1307.0025,-134.5067"/>
 </g>
 <!-- Node27&#45;&gt;Node28 -->
 <g id="edge6" class="edge">
 <title>Node27&#45;&gt;Node28</title>
-<path fill="none" stroke="#191970" d="M1148.9493,-135.9118C1180.0474,-122.8895 1226.1921,-103.5664 1253.6184,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1147.2961,-132.8096 1139.4241,-139.9005 1149.9999,-139.2663 1147.2961,-132.8096"/>
+<path fill="none" stroke="#191970" d="M1285.7967,-135.9118C1316.8947,-122.8895 1363.0395,-103.5664 1390.4658,-92.0817"/>
+<polygon fill="#191970" stroke="#191970" points="1284.1435,-132.8096 1276.2715,-139.9005 1286.8473,-139.2663 1284.1435,-132.8096"/>
 </g>
 <!-- Node27&#45;&gt;Node29 -->
 <g id="edge7" class="edge">
 <title>Node27&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M1103.8048,-131.4026C1096.3627,-120.7936 1087.0725,-107.5502 1080.0377,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="1101.1579,-133.7239 1109.766,-139.9005 1106.8885,-129.7039 1101.1579,-133.7239"/>
+<path fill="none" stroke="#191970" d="M1232.2417,-133.6115C1217.7241,-122.6825 1198.5649,-108.2592 1184.3016,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="1230.5016,-136.6824 1240.5958,-139.9005 1234.7116,-131.0899 1230.5016,-136.6824"/>
 </g>
 <!-- Node27&#45;&gt;Node30 -->
 <g id="edge8" class="edge">
 <title>Node27&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M1054.0171,-138.124C988.7433,-126.2399 886.5675,-107.6373 818.5888,-95.2607"/>
-<polygon fill="#191970" stroke="#191970" points="1053.7002,-141.6238 1064.1654,-139.9717 1054.9541,-134.737 1053.7002,-141.6238"/>
+<path fill="none" stroke="#191970" d="M1198.0984,-137.8773C1191.7763,-136.5623 1185.4227,-135.2473 1179.3474,-134 1116.5093,-121.0986 1044.9248,-106.7252 993.4608,-96.4487"/>
+<polygon fill="#191970" stroke="#191970" points="1197.4589,-141.3192 1207.9628,-139.9343 1198.8879,-134.4666 1197.4589,-141.3192"/>
 </g>
 <!-- Node33&#45;&gt;Node34 -->
 <g id="edge13" class="edge">
 <title>Node33&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M1881.5,-124.1199C1881.5,-112.9072 1881.5,-100.4031 1881.5,-92.055"/>
-<polygon fill="#191970" stroke="#191970" points="1878.0001,-124.2966 1881.5,-134.2967 1885.0001,-124.2967 1878.0001,-124.2966"/>
+<path fill="none" stroke="#191970" d="M1815.3474,-124.1199C1815.3474,-112.9072 1815.3474,-100.4031 1815.3474,-92.055"/>
+<polygon fill="#191970" stroke="#191970" points="1811.8475,-124.2966 1815.3474,-134.2967 1818.8475,-124.2967 1811.8475,-124.2966"/>
 </g>
 <!-- Node35 -->
 <g id="node13" class="node">
 <title>Node35</title>
 <g id="a_node13"><a xlink:href="relay_2qnn_2transform_8h.html" target="_top" xlink:title="include/tvm/relay/qnn\l/transform.h">
-<polygon fill="#ffffff" stroke="#000000" points="1820,-.5 1820,-30.5 1943,-30.5 1943,-.5 1820,-.5"/>
-<text text-anchor="start" x="1828" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/qnn</text>
-<text text-anchor="middle" x="1881.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1753.8474,-.5 1753.8474,-30.5 1876.8474,-30.5 1876.8474,-.5 1753.8474,-.5"/>
+<text text-anchor="start" x="1761.8474" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/qnn</text>
+<text text-anchor="middle" x="1815.3474" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node34&#45;&gt;Node35 -->
 <g id="edge14" class="edge">
 <title>Node34&#45;&gt;Node35</title>
-<path fill="none" stroke="#191970" d="M1881.5,-62.7758C1881.5,-52.4641 1881.5,-40.0437 1881.5,-30.5218"/>
-<polygon fill="#191970" stroke="#191970" points="1878.0001,-62.9005 1881.5,-72.9005 1885.0001,-62.9006 1878.0001,-62.9005"/>
+<path fill="none" stroke="#191970" d="M1815.3474,-62.7758C1815.3474,-52.4641 1815.3474,-40.0437 1815.3474,-30.5218"/>
+<polygon fill="#191970" stroke="#191970" points="1811.8475,-62.9005 1815.3474,-72.9005 1818.8475,-62.9006 1811.8475,-62.9005"/>
 </g>
 <!-- Node37 -->
 <g id="node15" class="node">
 <title>Node37</title>
 <g id="a_node15"><a xlink:href="dataflow__matcher_8h.html" target="_top" xlink:title="A pattern matcher for matching dataflow properties. ">
-<polygon fill="#ffffff" stroke="#000000" points="1605,-.5 1605,-30.5 1752,-30.5 1752,-.5 1605,-.5"/>
-<text text-anchor="start" x="1613" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
-<text text-anchor="middle" x="1678.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_matcher.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2341.8474,-.5 2341.8474,-30.5 2488.8474,-30.5 2488.8474,-.5 2341.8474,-.5"/>
+<text text-anchor="start" x="2349.8474" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
+<text text-anchor="middle" x="2415.3474" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_matcher.h</text>
 </a>
 </g>
 </g>
 <!-- Node36&#45;&gt;Node37 -->
 <g id="edge16" class="edge">
 <title>Node36&#45;&gt;Node37</title>
-<path fill="none" stroke="#191970" d="M1701.3971,-125.3253C1709.1005,-108.8691 1716.094,-86.602 1710.5,-67 1706.6869,-53.6386 1698.2983,-40.3639 1691.0664,-30.6388"/>
-<polygon fill="#191970" stroke="#191970" points="1698.2587,-123.7756 1696.8691,-134.2789 1704.5054,-126.9346 1698.2587,-123.7756"/>
+<path fill="none" stroke="#191970" d="M2433.8141,-125.9251C2439.2793,-117.5778 2444.5472,-107.8123 2447.3474,-98 2451.1283,-84.7512 2451.1283,-80.2488 2447.3474,-67 2443.5343,-53.6386 2435.1457,-40.3639 2427.9138,-30.6388"/>
+<polygon fill="#191970" stroke="#191970" points="2430.7771,-124.1606 2427.9138,-134.3612 2436.5133,-128.1726 2430.7771,-124.1606"/>
 </g>
 <!-- Node38 -->
 <g id="node16" class="node">
 <title>Node38</title>
 <g id="a_node16"><a xlink:href="dataflow__pattern__functor_8h.html" target="_top" xlink:title="A set of passes for operating on pattern graphs. ">
-<polygon fill="#ffffff" stroke="#000000" points="1554,-67.5 1554,-97.5 1701,-97.5 1701,-67.5 1554,-67.5"/>
-<text text-anchor="start" x="1562" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
-<text text-anchor="middle" x="1627.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2290.8474,-67.5 2290.8474,-97.5 2437.8474,-97.5 2437.8474,-67.5 2290.8474,-67.5"/>
+<text text-anchor="start" x="2298.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
+<text text-anchor="middle" x="2364.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node36&#45;&gt;Node38 -->
 <g id="edge17" class="edge">
 <title>Node36&#45;&gt;Node38</title>
-<path fill="none" stroke="#191970" d="M1667.027,-126.6385C1658.454,-117.0653 1648.7227,-106.1987 1641.061,-97.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1664.6065,-129.1821 1673.8851,-134.2967 1669.8212,-124.5122 1664.6065,-129.1821"/>
+<path fill="none" stroke="#191970" d="M2397.5069,-126.0626C2390.3281,-116.6315 2382.2565,-106.0276 2375.8743,-97.6432"/>
+<polygon fill="#191970" stroke="#191970" points="2394.9328,-128.4595 2403.7747,-134.2967 2400.5028,-124.2197 2394.9328,-128.4595"/>
 </g>
 <!-- Node38&#45;&gt;Node37 -->
 <g id="edge18" class="edge">
 <title>Node38&#45;&gt;Node37</title>
-<path fill="none" stroke="#191970" d="M1645.3404,-59.0626C1652.5193,-49.6315 1660.5909,-39.0276 1666.9731,-30.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1642.3446,-57.2197 1639.0727,-67.2967 1647.9146,-61.4595 1642.3446,-57.2197"/>
+<path fill="none" stroke="#191970" d="M2382.1878,-59.0626C2389.3666,-49.6315 2397.4383,-39.0276 2403.8205,-30.6432"/>
+<polygon fill="#191970" stroke="#191970" points="2379.192,-57.2197 2375.9201,-67.2967 2384.7619,-61.4595 2379.192,-57.2197"/>
 </g>
 <!-- Node40&#45;&gt;Node28 -->
 <g id="edge22" class="edge">
 <title>Node40&#45;&gt;Node28</title>
-<path fill="none" stroke="#191970" d="M1276.5,-129.6079C1276.5,-117.214 1276.5,-101.8263 1276.5,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1273.0001,-129.9005 1276.5,-139.9005 1280.0001,-129.9006 1273.0001,-129.9005"/>
+<path fill="none" stroke="#191970" d="M1413.3474,-129.6079C1413.3474,-117.214 1413.3474,-101.8263 1413.3474,-92.0817"/>
+<polygon fill="#191970" stroke="#191970" points="1409.8475,-129.9005 1413.3474,-139.9005 1416.8475,-129.9006 1409.8475,-129.9005"/>
 </g>
 <!-- Node40&#45;&gt;Node29 -->
 <g id="edge23" class="edge">
 <title>Node40&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M1237.1063,-136.7494C1202.5859,-125.5761 1152.3706,-109.3229 1115.9105,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="1236.2501,-140.151 1246.8419,-139.9005 1238.4057,-133.4911 1236.2501,-140.151"/>
+<path fill="none" stroke="#191970" d="M1368.0952,-137.3237C1326.5664,-126.1493 1264.9049,-109.5576 1220.2993,-97.5553"/>
+<polygon fill="#191970" stroke="#191970" points="1367.3702,-140.7531 1377.9362,-139.9717 1369.1891,-133.9935 1367.3702,-140.7531"/>
 </g>
 <!-- Node40&#45;&gt;Node34 -->
 <g id="edge24" class="edge">
 <title>Node40&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M1360.2599,-138.7293C1373.3879,-137.1035 1386.8081,-135.4776 1399.5,-134 1540.353,-117.6018 1704.6037,-100.4789 1800.4293,-90.6895"/>
-<polygon fill="#191970" stroke="#191970" points="1359.7855,-135.2613 1350.2946,-139.9702 1360.6505,-142.2077 1359.7855,-135.2613"/>
+<path fill="none" stroke="#191970" d="M1475.6447,-138.1448C1483.618,-136.7289 1491.6725,-135.3169 1499.3474,-134 1588.2348,-118.7477 1691.3841,-102.1419 1755.0121,-92.025"/>
+<polygon fill="#191970" stroke="#191970" points="1474.8526,-134.7308 1465.6232,-139.9336 1476.0826,-141.6219 1474.8526,-134.7308"/>
 </g>
 <!-- Node42&#45;&gt;Node29 -->
 <g id="edge27" class="edge">
 <title>Node42&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M802.6947,-137.7839C808.7009,-136.5001 814.7294,-135.2179 820.5,-134 883.4533,-120.7138 955.4351,-105.8628 1005.7591,-95.5355"/>
-<polygon fill="#191970" stroke="#191970" points="801.702,-134.4171 792.6574,-139.9349 803.1688,-141.2617 801.702,-134.4171"/>
+<path fill="none" stroke="#191970" d="M967.4009,-137.2528C1007.5925,-126.0792 1067.1119,-109.5323 1110.1931,-97.5553"/>
+<polygon fill="#191970" stroke="#191970" points="966.318,-133.921 957.6208,-139.9717 968.193,-140.6652 966.318,-133.921"/>
 </g>
 <!-- Node42&#45;&gt;Node30 -->
 <g id="edge28" class="edge">
 <title>Node42&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M748.5,-129.7758C748.5,-119.4641 748.5,-107.0437 748.5,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="745.0001,-129.9005 748.5,-139.9005 752.0001,-129.9006 745.0001,-129.9005"/>
+<path fill="none" stroke="#191970" d="M923.3474,-129.7758C923.3474,-119.4641 923.3474,-107.0437 923.3474,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="919.8475,-129.9005 923.3474,-139.9005 926.8475,-129.9006 919.8475,-129.9005"/>
 </g>
 <!-- Node42&#45;&gt;Node34 -->
 <g id="edge29" class="edge">
 <title>Node42&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M796.6488,-137.9432C804.5783,-136.3839 812.7406,-134.9847 820.5,-134 1213.229,-84.159 1315.4676,-123.8767 1710.5,-98 1739.7993,-96.0807 1771.8675,-93.3437 1800.2362,-90.7024"/>
-<polygon fill="#191970" stroke="#191970" points="795.861,-134.532 786.7771,-139.9848 797.2788,-141.3869 795.861,-134.532"/>
+<path fill="none" stroke="#191970" d="M994.5493,-138.5775C1007.4394,-136.8538 1020.7772,-135.2359 1033.3474,-134 1317.7577,-106.0377 1390.5529,-121.7327 1675.3474,-98 1695.0867,-96.3551 1716.3506,-94.1993 1736.1981,-92.0207"/>
+<polygon fill="#191970" stroke="#191970" points="993.7634,-135.1524 984.3309,-139.9773 994.7135,-142.0876 993.7634,-135.1524"/>
 </g>
 <!-- Node43&#45;&gt;Node34 -->
 <g id="edge32" class="edge">
 <title>Node43&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M2359.7338,-139.6664C2345.7641,-137.7338 2331.1656,-135.761 2317.5,-134 2193.9012,-118.0725 2050.3354,-101.4829 1962.7235,-91.5739"/>
-<polygon fill="#191970" stroke="#191970" points="2359.3855,-143.1515 2369.7724,-141.0629 2360.3501,-136.2183 2359.3855,-143.1515"/>
+<path fill="none" stroke="#191970" d="M776.1171,-141.1977C799.9145,-138.564 826.7759,-135.8573 851.3474,-134 1216.8762,-106.3707 1309.8609,-126.1847 1675.3474,-98 1695.5842,-96.4394 1717.4151,-94.2615 1737.6793,-92.0305"/>
+<polygon fill="#191970" stroke="#191970" points="775.6688,-137.726 766.1214,-142.3193 776.4494,-144.6823 775.6688,-137.726"/>
 </g>
 <!-- Node43&#45;&gt;Node44 -->
 <g id="edge31" class="edge">
 <title>Node43&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M2412.9184,-125.7735C2406.7728,-116.4154 2399.8948,-105.9421 2394.4448,-97.6432"/>
-<polygon fill="#191970" stroke="#191970" points="2410.1008,-127.8592 2418.5157,-134.2967 2415.9519,-124.0167 2410.1008,-127.8592"/>
+<path fill="none" stroke="#191970" d="M697.0677,-124.9021C693.2511,-115.7696 689.0368,-105.6854 685.6759,-97.6432"/>
+<polygon fill="#191970" stroke="#191970" points="693.9084,-126.4196 700.9937,-134.2967 700.3671,-123.7204 693.9084,-126.4196"/>
 </g>
 <!-- Node46 -->
 <g id="node24" class="node">
 <title>Node46</title>
 <g id="a_node24"><a xlink:href="greedy_8h.html" target="_top" xlink:title="This header file contains helper methods used in greedy algorithms for planning memory for USMP...">
-<polygon fill="#ffffff" stroke="#000000" points="511.5,-134.5 511.5,-164.5 629.5,-164.5 629.5,-134.5 511.5,-134.5"/>
-<text text-anchor="start" x="519.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
-<text text-anchor="middle" x="570.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algo/greedy.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="188.3474,-134.5 188.3474,-164.5 306.3474,-164.5 306.3474,-134.5 188.3474,-134.5"/>
+<text text-anchor="start" x="196.3474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
+<text text-anchor="middle" x="247.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algo/greedy.h</text>
 </a>
 </g>
 </g>
 <!-- Node45&#45;&gt;Node46 -->
 <g id="edge38" class="edge">
 <title>Node45&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M512.1165,-200.3012C524.6325,-189.4107 541.0125,-175.1579 553.2362,-164.5218"/>
-<polygon fill="#191970" stroke="#191970" points="509.7787,-197.6959 504.5322,-206.9005 514.3737,-202.9767 509.7787,-197.6959"/>
+<path fill="none" stroke="#191970" d="M128.9728,-202.7289C153.7141,-191.6035 188.485,-175.9683 213.9408,-164.5218"/>
+<polygon fill="#191970" stroke="#191970" points="127.3804,-199.6072 119.6954,-206.9005 130.2512,-205.9915 127.3804,-199.6072"/>
 </g>
 <!-- Node47 -->
 <g id="node25" class="node">
 <title>Node47</title>
 <g id="a_node25"><a xlink:href="detail_2extern_8h.html" target="_top" xlink:title="Helpers for using external functions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="322,-67.5 322,-97.5 449,-97.5 449,-67.5 322,-67.5"/>
-<text text-anchor="start" x="330" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="385.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extern.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="42.8474,-67.5 42.8474,-97.5 169.8474,-97.5 169.8474,-67.5 42.8474,-67.5"/>
+<text text-anchor="start" x="50.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="106.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extern.h</text>
 </a>
 </g>
 </g>
 <!-- Node45&#45;&gt;Node47 -->
 <g id="edge39" class="edge">
 <title>Node45&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M430.1984,-204.7763C389.0982,-195.7301 340.9421,-181.9174 328.5,-165 311.4812,-141.8596 340.0797,-114.2764 362.5619,-97.5905"/>
-<polygon fill="#191970" stroke="#191970" points="429.6859,-208.2458 440.1969,-206.9158 431.1507,-201.4007 429.6859,-208.2458"/>
+<path fill="none" stroke="#191970" d="M53.7482,-203.1177C35.3854,-195.1626 15.9602,-183.0084 5.3474,-165 -1.6479,-153.1301 -1.8498,-145.7486 5.3474,-134 15.7833,-116.9645 33.821,-105.3418 51.792,-97.5177"/>
+<polygon fill="#191970" stroke="#191970" points="52.6172,-206.435 63.2017,-206.9037 55.2198,-199.9367 52.6172,-206.435"/>
 </g>
 <!-- Node52 -->
-<g id="node27" class="node">
+<g id="node26" class="node">
 <title>Node52</title>
-<g id="a_node27"><a xlink:href="elemwise_8h.html" target="_top" xlink:title="Elementwise op constructions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="338,-140 338,-159 493,-159 493,-140 338,-140"/>
-<text text-anchor="middle" x="415.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/elemwise.h</text>
+<g id="a_node26"><a xlink:href="elemwise_8h.html" target="_top" xlink:title="Elementwise op constructions. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="14.8474,-140 14.8474,-159 169.8474,-159 169.8474,-140 14.8474,-140"/>
+<text text-anchor="middle" x="92.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/elemwise.h</text>
 </a>
 </g>
 </g>
 <!-- Node45&#45;&gt;Node52 -->
-<g id="edge41" class="edge">
-<title>Node45&#45;&gt;Node52</title>
-<path fill="none" stroke="#191970" d="M474.6394,-200.2992C459.6376,-187.4131 439.1569,-169.8207 426.6548,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="472.4582,-203.0396 482.3245,-206.9005 477.0194,-197.7296 472.4582,-203.0396"/>
-</g>
-<!-- Node48 -->
-<g id="node26" class="node">
-<title>Node48</title>
-<g id="a_node26"><a xlink:href="cublas_8h.html" target="_top" xlink:title="External function interface to cuBLAS libraries. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="204,-.5 204,-30.5 337,-30.5 337,-.5 204,-.5"/>
-<text text-anchor="start" x="212" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/contrib</text>
-<text text-anchor="middle" x="270.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/cublas.h</text>
-</a>
-</g>
-</g>
-<!-- Node47&#45;&gt;Node48 -->
 <g id="edge40" class="edge">
-<title>Node47&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M350.9247,-62.3561C333.4917,-52.1995 312.6969,-40.0843 296.62,-30.7177"/>
-<polygon fill="#191970" stroke="#191970" points="349.2893,-65.454 359.6918,-67.4639 352.8132,-59.4056 349.2893,-65.454"/>
+<title>Node45&#45;&gt;Node52</title>
+<path fill="none" stroke="#191970" d="M96.566,-196.6079C95.4561,-184.214 94.0781,-168.8263 93.2054,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="93.1096,-197.2526 97.4877,-206.9005 100.0817,-196.6282 93.1096,-197.2526"/>
 </g>
 <!-- Node59 -->
-<g id="node29" class="node">
+<g id="node28" class="node">
 <title>Node59</title>
-<g id="a_node29"><a xlink:href="int__solver_8h.html" target="_top" xlink:title="integer constraints data structures and solvers ">
-<polygon fill="#ffffff" stroke="#000000" points="129.5,-201.5 129.5,-231.5 245.5,-231.5 245.5,-201.5 129.5,-201.5"/>
-<text text-anchor="start" x="137.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/arith/int</text>
-<text text-anchor="middle" x="187.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_solver.h</text>
+<g id="a_node28"><a xlink:href="int__solver_8h.html" target="_top" xlink:title="integer constraints data structures and solvers ">
+<polygon fill="#ffffff" stroke="#000000" points="400.3474,-201.5 400.3474,-231.5 516.3474,-231.5 516.3474,-201.5 400.3474,-201.5"/>
+<text text-anchor="start" x="408.3474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/arith/int</text>
+<text text-anchor="middle" x="458.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_solver.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node59 -->
-<g id="edge43" class="edge">
+<g id="edge42" class="edge">
 <title>Node58&#45;&gt;Node59</title>
-<path fill="none" stroke="#191970" d="M253.1058,-267.6115C239.0775,-256.6825 220.5641,-242.2592 206.7817,-231.5218"/>
-<polygon fill="#191970" stroke="#191970" points="251.1387,-270.5158 261.1783,-273.9005 255.4407,-264.9937 251.1387,-270.5158"/>
+<path fill="none" stroke="#191970" d="M523.9531,-267.6115C509.9249,-256.6825 491.4115,-242.2592 477.629,-231.5218"/>
+<polygon fill="#191970" stroke="#191970" points="521.986,-270.5158 532.0257,-273.9005 526.2881,-264.9937 521.986,-270.5158"/>
 </g>
 <!-- Node60 -->
-<g id="node30" class="node">
+<g id="node29" class="node">
 <title>Node60</title>
-<g id="a_node30"><a xlink:href="tensor_8h.html" target="_top" xlink:title="Dataflow tensor object. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1732,-207 1732,-226 1861,-226 1861,-207 1732,-207"/>
-<text text-anchor="middle" x="1796.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/te/tensor.h</text>
+<g id="a_node29"><a xlink:href="tensor_8h.html" target="_top" xlink:title="Dataflow tensor object. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="572.8474,-207 572.8474,-226 701.8474,-226 701.8474,-207 572.8474,-207"/>
+<text text-anchor="middle" x="637.3474" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/te/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node60 -->
-<g id="edge44" class="edge">
+<g id="edge43" class="edge">
 <title>Node58&#45;&gt;Node60</title>
-<path fill="none" stroke="#191970" d="M339.8784,-282.8769C539.95,-280.6042 1154.6143,-270.73 1662.5,-232 1685.1507,-230.2727 1709.8748,-227.6291 1731.849,-225.0115"/>
-<polygon fill="#191970" stroke="#191970" points="339.7817,-279.3777 329.8213,-282.9887 339.8596,-286.3773 339.7817,-279.3777"/>
+<path fill="none" stroke="#191970" d="M565.8482,-268.0102C583.814,-255.067 608.865,-237.0195 624.0475,-226.0817"/>
+<polygon fill="#191970" stroke="#191970" points="563.7398,-265.2153 557.672,-273.9005 567.8316,-270.8949 563.7398,-265.2153"/>
 </g>
 <!-- Node62 -->
-<g id="node31" class="node">
+<g id="node30" class="node">
 <title>Node62</title>
-<g id="a_node31"><a xlink:href="operation_8h.html" target="_top" xlink:title="Operation node can generate one or multiple Tensors. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="95.5,-140 95.5,-159 241.5,-159 241.5,-140 95.5,-140"/>
-<text text-anchor="middle" x="168.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/te/operation.h</text>
+<g id="a_node30"><a xlink:href="operation_8h.html" target="_top" xlink:title="Operation node can generate one or multiple Tensors. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="362.3474,-140 362.3474,-159 508.3474,-159 508.3474,-140 362.3474,-140"/>
+<text text-anchor="middle" x="435.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/te/operation.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node62 -->
-<g id="edge52" class="edge">
+<g id="edge50" class="edge">
 <title>Node58&#45;&gt;Node62</title>
-<path fill="none" stroke="#191970" d="M216.2671,-271.5372C177.8042,-262.2035 132.0973,-248.1403 120.5,-232 102.515,-206.9697 136.0033,-174.7604 155.662,-159.0174"/>
-<polygon fill="#191970" stroke="#191970" points="215.8387,-275.0323 226.3754,-273.9243 217.4475,-268.2196 215.8387,-275.0323"/>
+<path fill="none" stroke="#191970" d="M487.1145,-271.5372C448.6515,-262.2035 402.9446,-248.1403 391.3474,-232 373.7294,-207.4805 404.9398,-175.0397 423.3253,-159.1319"/>
+<polygon fill="#191970" stroke="#191970" points="486.6861,-275.0323 497.2228,-273.9243 488.2949,-268.2196 486.6861,-275.0323"/>
 </g>
 <!-- Node88 -->
-<g id="node32" class="node">
+<g id="node31" class="node">
 <title>Node88</title>
-<g id="a_node32"><a xlink:href="pad__utils_8h.html" target="_top" xlink:title="Padding helpers. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="0,-67.5 0,-97.5 127,-97.5 127,-67.5 0,-67.5"/>
-<text text-anchor="start" x="8" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="63.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/pad_utils.h</text>
+<g id="a_node31"><a xlink:href="pad__utils_8h.html" target="_top" xlink:title="Padding helpers. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="446.8474,-67.5 446.8474,-97.5 573.8474,-97.5 573.8474,-67.5 446.8474,-67.5"/>
+<text text-anchor="start" x="454.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="510.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/pad_utils.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node88 -->
-<g id="edge55" class="edge">
+<g id="edge53" class="edge">
 <title>Node58&#45;&gt;Node88</title>
-<path fill="none" stroke="#191970" d="M219.2385,-271.6453C178.5392,-261.7865 127.2492,-246.9907 111.5,-232 72.9969,-195.3511 65.3005,-127.7923 63.8188,-97.6772"/>
-<polygon fill="#191970" stroke="#191970" points="218.5256,-275.0733 229.0639,-273.9806 220.1443,-268.2631 218.5256,-275.0733"/>
+<path fill="none" stroke="#191970" d="M541.0392,-263.9427C534.2692,-223.9205 518.9627,-133.4316 512.8946,-97.5588"/>
+<polygon fill="#191970" stroke="#191970" points="537.5886,-264.5292 542.7075,-273.8054 544.4905,-263.3616 537.5886,-264.5292"/>
 </g>
 <!-- Node56 -->
-<g id="node33" class="node">
+<g id="node32" class="node">
 <title>Node56</title>
-<g id="a_node33"><a xlink:href="topi_2nn_8h.html" target="_top" xlink:title="NN op constructions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="183.5,-73 183.5,-92 303.5,-92 303.5,-73 183.5,-73"/>
-<text text-anchor="middle" x="243.5" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/nn.h</text>
+<g id="a_node32"><a xlink:href="topi_2nn_8h.html" target="_top" xlink:title="NN op constructions. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="291.3474,-73 291.3474,-92 411.3474,-92 411.3474,-73 291.3474,-73"/>
+<text text-anchor="middle" x="351.3474" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/nn.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node56 -->
-<g id="edge56" class="edge">
+<g id="edge54" class="edge">
 <title>Node58&#45;&gt;Node56</title>
-<path fill="none" stroke="#191970" d="M270.5758,-263.9079C264.2672,-221.6401 249.5745,-123.1994 244.9324,-92.0974"/>
-<polygon fill="#191970" stroke="#191970" points="267.1151,-264.4316 272.053,-273.8054 274.0384,-263.3982 267.1151,-264.4316"/>
+<path fill="none" stroke="#191970" d="M491.0531,-271.6114C450.3526,-261.6254 398.5774,-246.6729 382.3474,-232 341.2522,-194.8476 346.5956,-118.7135 349.9429,-92.0103"/>
+<polygon fill="#191970" stroke="#191970" points="490.3269,-275.0365 500.8686,-273.9773 491.9672,-268.2314 490.3269,-275.0365"/>
 </g>
 <!-- Node109 -->
-<g id="node34" class="node">
+<g id="node33" class="node">
 <title>Node109</title>
-<g id="a_node34"><a xlink:href="data__layout_8h.html" target="_top" xlink:title="Layout expression to describe the data organization of a tensor. And BijectiveLayout to mapping two d...">
-<polygon fill="#ffffff" stroke="#ff0000" points="2005,-201.5 2005,-231.5 2118,-231.5 2118,-201.5 2005,-201.5"/>
-<text text-anchor="start" x="2013" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/data</text>
-<text text-anchor="middle" x="2061.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_layout.h</text>
+<g id="a_node33"><a xlink:href="data__layout_8h.html" target="_top" xlink:title="Layout expression to describe the data organization of a tensor. And BijectiveLayout to mapping two d...">
+<polygon fill="#ffffff" stroke="#ff0000" points="758.8474,-201.5 758.8474,-231.5 871.8474,-231.5 871.8474,-201.5 758.8474,-201.5"/>
+<text text-anchor="start" x="766.8474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/data</text>
+<text text-anchor="middle" x="815.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_layout.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node109 -->
-<g id="edge53" class="edge">
+<g id="edge51" class="edge">
 <title>Node58&#45;&gt;Node109</title>
-<path fill="none" stroke="#191970" d="M339.8034,-282.5192C558.5476,-279.0361 1277.1904,-265.6206 1870.5,-232 1915.673,-229.4402 1966.755,-225.2257 2004.7186,-221.837"/>
-<polygon fill="#191970" stroke="#191970" points="339.7108,-279.0202 329.7673,-282.6776 339.8214,-286.0193 339.7108,-279.0202"/>
+<path fill="none" stroke="#191970" d="M592.7325,-271.5376C639.2864,-260.028 709.6574,-242.63 758.7795,-230.4854"/>
+<polygon fill="#191970" stroke="#191970" points="591.7549,-268.1738 582.8873,-273.9717 593.435,-274.9693 591.7549,-268.1738"/>
 </g>
 <!-- Node60&#45;&gt;Node43 -->
-<g id="edge45" class="edge">
+<g id="edge44" class="edge">
 <title>Node60&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M1871.3452,-210.7023C2001.4467,-200.4406 2264.1461,-178.8578 2355.5,-165 2360.1115,-164.3005 2364.8695,-163.4912 2369.6418,-162.6168"/>
-<polygon fill="#191970" stroke="#191970" points="1870.7676,-207.2369 1861.0731,-211.5107 1871.3169,-214.2153 1870.7676,-207.2369"/>
+<path fill="none" stroke="#191970" d="M654.9254,-199.6753C666.2155,-188.8691 680.7522,-174.9553 691.653,-164.5218"/>
+<polygon fill="#191970" stroke="#191970" points="652.1808,-197.4575 647.3767,-206.9005 657.021,-202.5144 652.1808,-197.4575"/>
 </g>
 <!-- Node60&#45;&gt;Node44 -->
-<g id="edge46" class="edge">
+<g id="edge45" class="edge">
 <title>Node60&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M1871.3966,-210.9854C1998.7466,-201.2546 2247.3593,-180.5923 2284.5,-165 2320.6088,-149.8409 2353.8297,-117.1758 2371.4071,-97.805"/>
-<polygon fill="#191970" stroke="#191970" points="1871.0293,-207.5031 1861.3236,-211.7516 1871.5603,-214.483 1871.0293,-207.5031"/>
+<path fill="none" stroke="#191970" d="M621.9898,-198.4953C609.4006,-181.4205 595.3148,-155.2849 606.3474,-134 614.6268,-118.0266 630.3915,-105.955 645.1581,-97.5289"/>
+<polygon fill="#191970" stroke="#191970" points="619.3667,-200.8219 628.2958,-206.5246 624.8719,-196.4983 619.3667,-200.8219"/>
 </g>
 <!-- Node60&#45;&gt;Node62 -->
-<g id="edge47" class="edge">
+<g id="edge46" class="edge">
 <title>Node60&#45;&gt;Node62</title>
-<path fill="none" stroke="#191970" d="M1721.9075,-206.6904C1702.5902,-204.4746 1681.7956,-202.3737 1662.5,-201 1070.8925,-158.8836 920.4733,-201.6168 328.5,-165 300.0883,-163.2426 268.9168,-160.4249 241.6951,-157.6709"/>
-<polygon fill="#191970" stroke="#191970" points="1721.5194,-210.1688 1731.8588,-207.8564 1722.3341,-203.2164 1721.5194,-210.1688"/>
+<path fill="none" stroke="#191970" d="M598.9024,-203.7484C559.6519,-190.7297 499.6106,-170.815 464.2354,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="597.8123,-207.0743 608.4057,-206.9005 600.0161,-200.4303 597.8123,-207.0743"/>
 </g>
 <!-- Node62&#45;&gt;Node47 -->
-<g id="edge49" class="edge">
+<g id="edge47" class="edge">
 <title>Node62&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M209.3318,-136.893C245.5327,-125.7157 298.4619,-109.3735 336.8474,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="208.1132,-133.6061 199.5908,-139.9005 210.1783,-140.2946 208.1132,-133.6061"/>
-</g>
-<!-- Node62&#45;&gt;Node48 -->
-<g id="edge48" class="edge">
-<title>Node62&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M164.9057,-129.8119C162.741,-111.9626 162.3889,-85.668 174.5,-67 185.4114,-50.1812 203.7458,-38.4609 221.4853,-30.5004"/>
-<polygon fill="#191970" stroke="#191970" points="161.4789,-130.5595 166.4348,-139.9238 168.4002,-129.5128 161.4789,-130.5595"/>
+<path fill="none" stroke="#191970" d="M378.4505,-137.9131C320.3398,-126.079 230.3115,-107.745 169.8984,-95.442"/>
+<polygon fill="#191970" stroke="#191970" points="378.0618,-141.4057 388.5591,-139.9717 379.4587,-134.5465 378.0618,-141.4057"/>
 </g>
 <!-- Node62&#45;&gt;Node88 -->
-<g id="edge50" class="edge">
+<g id="edge48" class="edge">
 <title>Node62&#45;&gt;Node88</title>
-<path fill="none" stroke="#191970" d="M144.5636,-134.2263C127.3276,-123.2281 104.1865,-108.4618 87.0416,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="143.1433,-137.4719 153.4561,-139.9005 146.9088,-131.5708 143.1433,-137.4719"/>
+<path fill="none" stroke="#191970" d="M453.8296,-132.9892C465.9747,-122.1395 481.7392,-108.0566 493.532,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="451.2189,-130.6282 446.093,-139.9005 455.8824,-135.8485 451.2189,-130.6282"/>
 </g>
 <!-- Node62&#45;&gt;Node56 -->
-<g id="edge51" class="edge">
+<g id="edge49" class="edge">
 <title>Node62&#45;&gt;Node56</title>
-<path fill="none" stroke="#191970" d="M187.0373,-132.94C201.424,-120.0879 220.8643,-102.7212 232.7743,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="184.3715,-130.6282 179.2457,-139.9005 189.0351,-135.8485 184.3715,-130.6282"/>
+<path fill="none" stroke="#191970" d="M415.4831,-133.6559C399.2894,-120.7395 376.9487,-102.9201 363.3602,-92.0817"/>
+<polygon fill="#191970" stroke="#191970" points="413.312,-136.4011 423.3122,-139.9005 417.6769,-130.9287 413.312,-136.4011"/>
 </g>
 <!-- Node109&#45;&gt;Node43 -->
-<g id="edge54" class="edge">
+<g id="edge52" class="edge">
 <title>Node109&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M2128.2927,-205.5007C2187.9637,-195.5074 2277.7124,-180.0663 2355.5,-165 2360.2063,-164.0885 2365.0771,-163.1166 2369.9666,-162.121"/>
-<polygon fill="#191970" stroke="#191970" points="2127.5331,-202.079 2118.2467,-207.1792 2128.6868,-208.9833 2127.5331,-202.079"/>
+<path fill="none" stroke="#191970" d="M782.4252,-196.0761C766.1468,-185.9774 746.8372,-173.9983 731.8774,-164.7177"/>
+<polygon fill="#191970" stroke="#191970" points="780.7673,-199.1663 791.1101,-201.4639 784.4575,-193.218 780.7673,-199.1663"/>
 </g>
 <!-- Node114 -->
-<g id="node39" class="node">
+<g id="node38" class="node">
 <title>Node114</title>
-<g id="a_node39"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
-<polygon fill="#ffffff" stroke="#000000" points="2294,-335.5 2294,-365.5 2401,-365.5 2401,-335.5 2294,-335.5"/>
-<text text-anchor="start" x="2302" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="2347.5" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target.h</text>
+<g id="a_node38"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
+<polygon fill="#ffffff" stroke="#000000" points="1440.8474,-335.5 1440.8474,-365.5 1547.8474,-365.5 1547.8474,-335.5 1440.8474,-335.5"/>
+<text text-anchor="start" x="1448.8474" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1494.3474" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target.h</text>
 </a>
 </g>
 </g>
 <!-- Node113&#45;&gt;Node114 -->
-<g id="edge61" class="edge">
+<g id="edge59" class="edge">
 <title>Node113&#45;&gt;Node114</title>
-<path fill="none" stroke="#191970" d="M2347.5,-392.0249C2347.5,-383.128 2347.5,-373.4287 2347.5,-365.6432"/>
-<polygon fill="#191970" stroke="#191970" points="2344.0001,-392.2966 2347.5,-402.2967 2351.0001,-392.2967 2344.0001,-392.2966"/>
+<path fill="none" stroke="#191970" d="M1494.3474,-392.0249C1494.3474,-383.128 1494.3474,-373.4287 1494.3474,-365.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1490.8475,-392.2966 1494.3474,-402.2967 1497.8475,-392.2967 1490.8475,-392.2966"/>
 </g>
 <!-- Node114&#45;&gt;Node34 -->
-<g id="edge76" class="edge">
+<g id="edge75" class="edge">
 <title>Node114&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M2344.7348,-325.2142C2344.1812,-307.322 2346.4766,-283.7957 2359.5,-268 2390.349,-230.5842 2426.0015,-263.9291 2462.5,-232 2497.199,-201.6452 2527.7095,-167.9322 2496.5,-134 2461.0723,-95.4816 2121.514,-85.7603 1962.6749,-83.3161"/>
-<polygon fill="#191970" stroke="#191970" points="2341.2448,-325.4859 2345.3535,-335.2515 2348.2315,-325.0551 2341.2448,-325.4859"/>
+<path fill="none" stroke="#191970" d="M1558.1863,-344.1842C1587.7411,-341.3038 1623.3259,-337.8975 1655.3474,-335 1844.1414,-317.9167 1900.5865,-359.1752 2080.3474,-299 2186.4048,-263.4971 2239.2741,-262.9016 2293.3474,-165 2300.0086,-152.9395 2302.5531,-144.2509 2293.3474,-134 2267.3625,-105.0651 2025.8616,-90.9648 1896.4205,-85.4353"/>
+<polygon fill="#191970" stroke="#191970" points="1557.6119,-340.7235 1547.9997,-345.1794 1558.2926,-347.6904 1557.6119,-340.7235"/>
 </g>
 <!-- Node114&#45;&gt;Node41 -->
-<g id="edge73" class="edge">
+<g id="edge72" class="edge">
 <title>Node114&#45;&gt;Node41</title>
-<path fill="none" stroke="#191970" d="M2283.7341,-345.7148C2189.0909,-338.1977 2005.9901,-322.0619 1851.5,-299 1697.8767,-276.0675 1660.4354,-264.2745 1508.5,-232 1448.2821,-219.2083 1434.2225,-211.1297 1373.5,-201 1222.7435,-175.851 1183.2913,-182.8718 1031.5,-165 1015.8781,-163.1607 999.1201,-161.0581 983.2551,-159.0075"/>
-<polygon fill="#191970" stroke="#191970" points="2283.4776,-349.2053 2293.7217,-346.5021 2284.0277,-342.227 2283.4776,-349.2053"/>
+<path fill="none" stroke="#191970" d="M1557.9289,-335.7007C1559.4138,-335.4542 1560.8882,-335.22 1562.3474,-335 1667.68,-319.1191 1942.6627,-341.4837 2040.3474,-299 2114.0481,-266.947 2175.8454,-186.8805 2195.6742,-159.1415"/>
+<polygon fill="#191970" stroke="#191970" points="1557.2479,-332.267 1548.0283,-337.4871 1558.4909,-339.1558 1557.2479,-332.267"/>
 </g>
 <!-- Node114&#45;&gt;Node43 -->
-<g id="edge74" class="edge">
+<g id="edge73" class="edge">
 <title>Node114&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M2411.0818,-335.702C2412.5665,-335.4551 2414.0409,-335.2205 2415.5,-335 2467.7256,-327.1091 2853.5938,-337.7366 2889.5,-299 2909.0035,-277.9591 2885.2225,-213.5329 2870.5,-201 2841.8586,-176.6185 2600.9966,-159.5285 2487.3799,-152.7464"/>
-<polygon fill="#191970" stroke="#191970" points="2410.4,-332.2684 2401.1814,-337.4903 2411.6443,-339.1569 2410.4,-332.2684"/>
+<path fill="none" stroke="#191970" d="M1430.5081,-343.2606C1356.9213,-334.2246 1241.0141,-317.6681 1201.3474,-299 1140.5876,-270.4049 1147.9109,-227.821 1086.3474,-201 959.5921,-145.7773 913.6873,-187.9754 777.3474,-165 773.6651,-164.3795 769.8846,-163.6915 766.0794,-162.9605"/>
+<polygon fill="#191970" stroke="#191970" points="1430.2495,-346.7548 1440.5983,-344.4851 1431.0929,-339.8058 1430.2495,-346.7548"/>
 </g>
 <!-- Node114&#45;&gt;Node44 -->
-<g id="edge75" class="edge">
+<g id="edge74" class="edge">
 <title>Node114&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M2411.3773,-343.3966C2436.6334,-340.66 2465.923,-337.5758 2492.5,-335 2538.4582,-330.5459 2875.2966,-333.0345 2906.5,-299 3045.5675,-147.3149 2606.3245,-98.853 2443.0745,-86.2933"/>
-<polygon fill="#191970" stroke="#191970" points="2410.7481,-339.9443 2401.1855,-344.5057 2411.5055,-346.9033 2410.7481,-339.9443"/>
+<path fill="none" stroke="#191970" d="M1430.8473,-348.6637C1330.2967,-344.7962 1128.672,-333.1299 961.3474,-299 864.5253,-279.2508 836.5889,-278.4054 749.3474,-232 729.7988,-221.6017 728.9836,-212.9567 710.3474,-201 680.5691,-181.8948 657.8632,-195.1483 639.3474,-165 625.519,-142.4841 646.4432,-114.4796 662.8646,-97.5719"/>
+<polygon fill="#191970" stroke="#191970" points="1430.7209,-352.1613 1440.844,-349.0351 1430.9809,-345.1661 1430.7209,-352.1613"/>
 </g>
 <!-- Node114&#45;&gt;Node112 -->
-<g id="edge80" class="edge">
+<g id="edge79" class="edge">
 <title>Node114&#45;&gt;Node112</title>
-<path fill="none" stroke="#191970" d="M2411.0788,-335.6824C2412.5645,-335.4414 2414.0398,-335.2133 2415.5,-335 2655.7014,-299.9159 2720.2986,-334.0841 2960.5,-299 2965.1727,-298.3175 2969.9998,-297.4832 2974.826,-296.5592"/>
-<polygon fill="#191970" stroke="#191970" points="2410.4083,-332.2466 2401.174,-337.4408 2411.6319,-339.1389 2410.4083,-332.2466"/>
+<path fill="none" stroke="#191970" d="M1557.919,-335.6305C1559.4068,-335.405 1560.8845,-335.1942 1562.3474,-335 1960.5065,-282.1441 2067.6555,-355.2638 2465.3474,-299 2468.3586,-298.574 2471.4354,-298.0654 2474.5305,-297.4965"/>
+<polygon fill="#191970" stroke="#191970" points="1557.2785,-332.189 1548.0031,-337.3091 1558.447,-339.0908 1557.2785,-332.189"/>
 </g>
 <!-- Node99 -->
-<g id="node40" class="node">
+<g id="node39" class="node">
 <title>Node99</title>
-<g id="a_node40"><a xlink:href="search__task_8h.html" target="_top" xlink:title="Meta information and hardware parameters for a search task. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1860.5,-268.5 1860.5,-298.5 2012.5,-298.5 2012.5,-268.5 1860.5,-268.5"/>
-<text text-anchor="start" x="1868.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="1936.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_task.h</text>
+<g id="a_node39"><a xlink:href="search__task_8h.html" target="_top" xlink:title="Meta information and hardware parameters for a search task. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1626.3474,-268.5 1626.3474,-298.5 1778.3474,-298.5 1778.3474,-268.5 1626.3474,-268.5"/>
+<text text-anchor="start" x="1634.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="1702.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_task.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node99 -->
-<g id="edge62" class="edge">
+<g id="edge60" class="edge">
 <title>Node114&#45;&gt;Node99</title>
-<path fill="none" stroke="#191970" d="M2283.579,-340.8598C2217.7977,-330.8317 2112.3839,-314.463 2021.5,-299 2018.6903,-298.522 2015.8295,-298.0295 2012.9406,-297.5274"/>
-<polygon fill="#191970" stroke="#191970" points="2283.375,-344.369 2293.7879,-342.4137 2284.4284,-337.4487 2283.375,-344.369"/>
+<path fill="none" stroke="#191970" d="M1550.9236,-332.2759C1583.705,-321.7165 1624.4856,-308.5805 1655.4645,-298.6017"/>
+<polygon fill="#191970" stroke="#191970" points="1549.4719,-329.0664 1541.0266,-335.4639 1551.6181,-335.7292 1549.4719,-329.0664"/>
 </g>
 <!-- Node107 -->
-<g id="node41" class="node">
+<g id="node40" class="node">
 <title>Node107</title>
-<g id="a_node41"><a xlink:href="driver__api_8h.html" target="_top" xlink:title="Compiler driver APIs to drive the compilation. ">
-<polygon fill="#ffffff" stroke="#000000" points="2030.5,-268.5 2030.5,-298.5 2136.5,-298.5 2136.5,-268.5 2030.5,-268.5"/>
-<text text-anchor="start" x="2038.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/driver</text>
-<text text-anchor="middle" x="2083.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/driver_api.h</text>
+<g id="a_node40"><a xlink:href="driver__api_8h.html" target="_top" xlink:title="Compiler driver APIs to drive the compilation. ">
+<polygon fill="#ffffff" stroke="#000000" points="1796.3474,-268.5 1796.3474,-298.5 1902.3474,-298.5 1902.3474,-268.5 1796.3474,-268.5"/>
+<text text-anchor="start" x="1804.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/driver</text>
+<text text-anchor="middle" x="1849.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/driver_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node107 -->
-<g id="edge63" class="edge">
+<g id="edge61" class="edge">
 <title>Node114&#45;&gt;Node107</title>
-<path fill="none" stroke="#191970" d="M2283.8115,-334.3366C2238.809,-322.9155 2179.1836,-307.7833 2136.7159,-297.0055"/>
-<polygon fill="#191970" stroke="#191970" points="2283.2037,-337.7933 2293.7575,-336.8608 2284.9257,-331.0084 2283.2037,-337.7933"/>
+<path fill="none" stroke="#191970" d="M1557.9574,-335.8659C1559.4337,-335.5698 1560.8986,-335.2807 1562.3474,-335 1661.7703,-315.7363 1688.1309,-319.2999 1787.3474,-299 1790.2823,-298.3995 1793.2877,-297.7533 1796.3163,-297.0776"/>
+<polygon fill="#191970" stroke="#191970" points="1557.1835,-332.4518 1548.1004,-337.9058 1558.6022,-339.3065 1557.1835,-332.4518"/>
 </g>
 <!-- Node115 -->
-<g id="node42" class="node">
+<g id="node41" class="node">
 <title>Node115</title>
-<g id="a_node42"><a xlink:href="memory__pools_8h.html" target="_top" xlink:title="The object definition for relay.build argument type of memory pools. ">
-<polygon fill="#ffffff" stroke="#000000" points="1333.5,-268.5 1333.5,-298.5 1461.5,-298.5 1461.5,-268.5 1333.5,-268.5"/>
-<text text-anchor="start" x="1341.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/memory</text>
-<text text-anchor="middle" x="1397.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pools.h</text>
+<g id="a_node41"><a xlink:href="memory__pools_8h.html" target="_top" xlink:title="The object definition for relay.build argument type of memory pools. ">
+<polygon fill="#ffffff" stroke="#000000" points="325.3474,-268.5 325.3474,-298.5 453.3474,-298.5 453.3474,-268.5 325.3474,-268.5"/>
+<text text-anchor="start" x="333.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/memory</text>
+<text text-anchor="middle" x="389.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pools.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node115 -->
-<g id="edge64" class="edge">
+<g id="edge62" class="edge">
 <title>Node114&#45;&gt;Node115</title>
-<path fill="none" stroke="#191970" d="M2283.9213,-349.7275C2139.6101,-347.3233 1776.4506,-337.604 1475.5,-299 1470.9809,-298.4203 1466.3308,-297.7325 1461.6585,-296.9741"/>
-<polygon fill="#191970" stroke="#191970" points="2283.8747,-353.2271 2293.9297,-349.8882 2283.9872,-346.228 2283.8747,-353.2271"/>
+<path fill="none" stroke="#191970" d="M1430.4393,-348.2623C1237.8586,-341.3602 664.9954,-319.621 479.3474,-299 470.9956,-298.0723 462.2444,-296.8644 453.6171,-295.532"/>
+<polygon fill="#191970" stroke="#191970" points="1430.5595,-351.7688 1440.6781,-348.6281 1430.8095,-344.7732 1430.5595,-351.7688"/>
 </g>
 <!-- Node116 -->
-<g id="node43" class="node">
+<g id="node42" class="node">
 <title>Node116</title>
-<g id="a_node43"><a xlink:href="tir_2usmp_2utils_8h.html" target="_top" xlink:title="Utilities for Unified Static Memory Planner. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1246.5,-201.5 1246.5,-231.5 1364.5,-231.5 1364.5,-201.5 1246.5,-201.5"/>
-<text text-anchor="start" x="1254.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
-<text text-anchor="middle" x="1305.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/utils.h</text>
+<g id="a_node42"><a xlink:href="tir_2usmp_2utils_8h.html" target="_top" xlink:title="Utilities for Unified Static Memory Planner. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="188.3474,-201.5 188.3474,-231.5 306.3474,-231.5 306.3474,-201.5 188.3474,-201.5"/>
+<text text-anchor="start" x="196.3474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
+<text text-anchor="middle" x="247.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/utils.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node116 -->
-<g id="edge85" class="edge">
+<g id="edge84" class="edge">
 <title>Node114&#45;&gt;Node116</title>
-<path fill="none" stroke="#191970" d="M2283.6601,-349.3903C2065.5485,-345.3271 1361.3372,-329.8623 1324.5,-299 1305.0091,-282.6705 1303.1845,-250.7352 1304.0501,-231.7437"/>
-<polygon fill="#191970" stroke="#191970" points="2283.6114,-352.8899 2293.6744,-349.5752 2283.7407,-345.8911 2283.6114,-352.8899"/>
+<path fill="none" stroke="#191970" d="M1430.78,-348.4136C1189.3479,-340.4021 341.5212,-311.4404 316.3474,-299 287.0531,-284.5233 265.5658,-251.2867 254.9012,-231.7034"/>
+<polygon fill="#191970" stroke="#191970" points="1430.6935,-351.9125 1440.8039,-348.7457 1430.9254,-344.9164 1430.6935,-351.9125"/>
 </g>
 <!-- Node120 -->
-<g id="node44" class="node">
+<g id="node43" class="node">
 <title>Node120</title>
-<g id="a_node44"><a xlink:href="builder_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/builder.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="2520.5,-268.5 2520.5,-298.5 2672.5,-298.5 2672.5,-268.5 2520.5,-268.5"/>
-<text text-anchor="start" x="2528.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2596.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builder.h</text>
+<g id="a_node43"><a xlink:href="apply__history__best_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/apply_history_best.h">
+<polygon fill="#ffffff" stroke="#000000" points="1204.3474,-201.5 1204.3474,-231.5 1356.3474,-231.5 1356.3474,-201.5 1204.3474,-201.5"/>
+<text text-anchor="start" x="1212.3474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1280.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node120 -->
-<g id="edge67" class="edge">
+<g id="edge65" class="edge">
 <title>Node114&#45;&gt;Node120</title>
-<path fill="none" stroke="#191970" d="M2410.8875,-333.4439C2450.9392,-322.667 2502.2122,-308.8706 2540.7164,-298.51"/>
-<polygon fill="#191970" stroke="#191970" points="2409.9698,-330.0663 2401.2227,-336.0445 2411.7887,-336.8259 2409.9698,-330.0663"/>
+<path fill="none" stroke="#191970" d="M1458.566,-330.3221C1443.1128,-321.2273 1425.0211,-310.0603 1409.3474,-299 1391.5389,-286.4333 1389.3407,-280.3005 1371.3474,-268 1351.5657,-254.477 1327.9898,-241.2073 1309.7918,-231.5251"/>
+<polygon fill="#191970" stroke="#191970" points="1456.9188,-333.4131 1467.3216,-335.4212 1460.4416,-327.3641 1456.9188,-333.4131"/>
 </g>
-<!-- Node123 -->
-<g id="node45" class="node">
-<title>Node123</title>
-<g id="a_node45"><a xlink:href="tune__context_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/tune_context.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="2519.5,-201.5 2519.5,-231.5 2671.5,-231.5 2671.5,-201.5 2519.5,-201.5"/>
-<text text-anchor="start" x="2527.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2595.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tune_context.h</text>
+<!-- Node121 -->
+<g id="node44" class="node">
+<title>Node121</title>
+<g id="a_node44"><a xlink:href="builder_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/builder.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="1418.3474,-268.5 1418.3474,-298.5 1570.3474,-298.5 1570.3474,-268.5 1418.3474,-268.5"/>
+<text text-anchor="start" x="1426.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1494.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builder.h</text>
 </a>
 </g>
 </g>
-<!-- Node114&#45;&gt;Node123 -->
-<g id="edge72" class="edge">
-<title>Node114&#45;&gt;Node123</title>
-<path fill="none" stroke="#191970" d="M2353.1697,-325.4106C2358.6428,-306.892 2368.7831,-282.486 2386.5,-268 2397.2224,-259.233 2465.616,-243.349 2521.2901,-231.531"/>
-<polygon fill="#191970" stroke="#191970" points="2349.7399,-324.6875 2350.5275,-335.253 2356.5006,-326.5024 2349.7399,-324.6875"/>
+<!-- Node114&#45;&gt;Node121 -->
+<g id="edge66" class="edge">
+<title>Node114&#45;&gt;Node121</title>
+<path fill="none" stroke="#191970" d="M1494.3474,-325.0249C1494.3474,-316.128 1494.3474,-306.4287 1494.3474,-298.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1490.8475,-325.2966 1494.3474,-335.2967 1497.8475,-325.2967 1490.8475,-325.2966"/>
 </g>
 <!-- Node124 -->
-<g id="node46" class="node">
+<g id="node45" class="node">
 <title>Node124</title>
-<g id="a_node46"><a xlink:href="database_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/database.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="2728.5,-268.5 2728.5,-298.5 2880.5,-298.5 2880.5,-268.5 2728.5,-268.5"/>
-<text text-anchor="start" x="2736.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2804.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/database.h</text>
+<g id="a_node45"><a xlink:href="tune__context_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/tune_context.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="1528.3474,-201.5 1528.3474,-231.5 1680.3474,-231.5 1680.3474,-201.5 1528.3474,-201.5"/>
+<text text-anchor="start" x="1536.3474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1604.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tune_context.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node124 -->
-<g id="edge69" class="edge">
+<g id="edge71" class="edge">
 <title>Node114&#45;&gt;Node124</title>
-<path fill="none" stroke="#191970" d="M2411.0959,-335.7892C2412.5764,-335.5161 2414.0461,-335.2525 2415.5,-335 2547.3743,-312.0956 2582.0596,-318.3649 2714.5,-299 2719.0496,-298.3348 2723.7233,-297.6214 2728.4348,-296.8792"/>
-<polygon fill="#191970" stroke="#191970" points="2410.3646,-332.3658 2401.2173,-337.7115 2411.7017,-339.2369 2410.3646,-332.3658"/>
+<path fill="none" stroke="#191970" d="M1540.9225,-330.4154C1554.9516,-322.4121 1569.279,-311.969 1579.3474,-299 1594.8577,-279.0213 1600.7847,-249.4667 1603.0219,-231.6862"/>
+<polygon fill="#191970" stroke="#191970" points="1538.9437,-327.5055 1531.7941,-335.3243 1542.2591,-333.6705 1538.9437,-327.5055"/>
 </g>
 <!-- Node125 -->
-<g id="node47" class="node">
+<g id="node46" class="node">
 <title>Node125</title>
-<g id="a_node47"><a xlink:href="integration_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/integration.h">
-<polygon fill="#ffffff" stroke="#000000" points="2709.5,-201.5 2709.5,-231.5 2861.5,-231.5 2861.5,-201.5 2709.5,-201.5"/>
-<text text-anchor="start" x="2717.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2785.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/integration.h</text>
+<g id="a_node46"><a xlink:href="database_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/database.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="1210.3474,-268.5 1210.3474,-298.5 1362.3474,-298.5 1362.3474,-268.5 1210.3474,-268.5"/>
+<text text-anchor="start" x="1218.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1286.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/database.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node125 -->
-<g id="edge71" class="edge">
+<g id="edge68" class="edge">
 <title>Node114&#45;&gt;Node125</title>
-<path fill="none" stroke="#191970" d="M2411.1011,-335.8183C2412.58,-335.5365 2414.048,-335.2632 2415.5,-335 2532.8871,-313.722 2572.0593,-346.4893 2681.5,-299 2701.4946,-290.3238 2702.4628,-281.5939 2719.5,-268 2734.9506,-255.6721 2752.6119,-241.9079 2765.7744,-231.7128"/>
-<polygon fill="#191970" stroke="#191970" points="2410.3536,-332.3983 2401.2304,-337.7851 2411.7216,-339.2634 2410.3536,-332.3983"/>
+<path fill="none" stroke="#191970" d="M1437.7711,-332.2759C1404.9897,-321.7165 1364.2092,-308.5805 1333.2302,-298.6017"/>
+<polygon fill="#191970" stroke="#191970" points="1437.0766,-335.7292 1447.6681,-335.4639 1439.2229,-329.0664 1437.0766,-335.7292"/>
 </g>
 <!-- Node126 -->
-<g id="node48" class="node">
+<g id="node47" class="node">
 <title>Node126</title>
-<g id="a_node48"><a xlink:href="codegen_8h.html" target="_top" xlink:title="Translates IRModule to runtime::Module. ">
-<polygon fill="#ffffff" stroke="#000000" points="2395,-268.5 2395,-298.5 2502,-298.5 2502,-268.5 2395,-268.5"/>
-<text text-anchor="start" x="2403" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="2448.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/codegen.h</text>
+<g id="a_node47"><a xlink:href="extracted__task_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/extracted_task.h">
+<polygon fill="#ffffff" stroke="#000000" points="2304.3474,-268.5 2304.3474,-298.5 2456.3474,-298.5 2456.3474,-268.5 2304.3474,-268.5"/>
+<text text-anchor="start" x="2312.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2380.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extracted_task.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node126 -->
-<g id="edge77" class="edge">
+<g id="edge70" class="edge">
 <title>Node114&#45;&gt;Node126</title>
-<path fill="none" stroke="#191970" d="M2378.7119,-329.7951C2393.8457,-319.7558 2411.6992,-307.9124 2425.5598,-298.7177"/>
-<polygon fill="#191970" stroke="#191970" points="2376.5648,-327.0193 2370.1664,-335.4639 2380.4344,-332.8525 2376.5648,-327.0193"/>
+<path fill="none" stroke="#191970" d="M1557.9215,-335.6495C1559.4086,-335.4184 1560.8854,-335.2012 1562.3474,-335 1883.2735,-290.8341 1968.3537,-334.5563 2290.3474,-299 2294.9175,-298.4953 2299.6072,-297.9061 2304.3307,-297.2579"/>
+<polygon fill="#191970" stroke="#191970" points="1557.27,-332.2101 1548.0096,-337.3574 1558.4587,-339.1085 1557.27,-332.2101"/>
 </g>
 <!-- Node127 -->
-<g id="node49" class="node">
+<g id="node48" class="node">
 <title>Node127</title>
-<g id="a_node49"><a xlink:href="generic__func_8h.html" target="_top" xlink:title="Generic function that can be specialzied on a per target basis. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="2346,-201.5 2346,-231.5 2453,-231.5 2453,-201.5 2346,-201.5"/>
-<text text-anchor="start" x="2354" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="2399.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/generic_func.h</text>
+<g id="a_node48"><a xlink:href="codegen_8h.html" target="_top" xlink:title="Translates IRModule to runtime::Module. ">
+<polygon fill="#ffffff" stroke="#000000" points="970.8474,-268.5 970.8474,-298.5 1077.8474,-298.5 1077.8474,-268.5 970.8474,-268.5"/>
+<text text-anchor="start" x="978.8474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1024.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/codegen.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node127 -->
-<g id="edge78" class="edge">
+<g id="edge76" class="edge">
 <title>Node114&#45;&gt;Node127</title>
-<path fill="none" stroke="#191970" d="M2327.1347,-327.1146C2314.976,-310.1711 2303.7969,-286.9991 2314.5,-268 2323.8156,-251.4638 2340.8193,-239.6299 2357.1841,-231.5103"/>
-<polygon fill="#191970" stroke="#191970" points="2324.6,-329.56 2333.4715,-335.3521 2330.1483,-325.2919 2324.6,-329.56"/>
+<path fill="none" stroke="#191970" d="M1430.4334,-344.2404C1350.8849,-336.007 1211.0265,-320.077 1092.3474,-299 1087.6979,-298.1743 1082.8868,-297.2404 1078.0714,-296.2505"/>
+<polygon fill="#191970" stroke="#191970" points="1430.4707,-347.7625 1440.776,-345.3026 1431.186,-340.7992 1430.4707,-347.7625"/>
 </g>
 <!-- Node128 -->
-<g id="node50" class="node">
+<g id="node49" class="node">
 <title>Node128</title>
-<g id="a_node50"><a xlink:href="virtual__device_8h.html" target="_top" xlink:title="A compile time representation for where data is to be stored at runtime, and how to compile code to c...">
-<polygon fill="#ffffff" stroke="#ff0000" points="2155,-268.5 2155,-298.5 2262,-298.5 2262,-268.5 2155,-268.5"/>
-<text text-anchor="start" x="2163" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="2208.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/virtual_device.h</text>
+<g id="a_node49"><a xlink:href="generic__func_8h.html" target="_top" xlink:title="Generic function that can be specialzied on a per target basis. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="970.8474,-201.5 970.8474,-231.5 1077.8474,-231.5 1077.8474,-201.5 970.8474,-201.5"/>
+<text text-anchor="start" x="978.8474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1024.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/generic_func.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node128 -->
-<g id="edge81" class="edge">
+<g id="edge77" class="edge">
 <title>Node114&#45;&gt;Node128</title>
-<path fill="none" stroke="#191970" d="M2307.1523,-331.0518C2285.7938,-320.7567 2259.9489,-308.2991 2240.0711,-298.7177"/>
-<polygon fill="#191970" stroke="#191970" points="2305.7778,-334.2746 2316.3057,-335.4639 2308.8173,-327.9689 2305.7778,-334.2746"/>
+<path fill="none" stroke="#191970" d="M1430.507,-345.4516C1340.9637,-337.6959 1183.1093,-321.3671 1130.3474,-299 1120.5248,-294.836 1070.5793,-254.4676 1042.8934,-231.7836"/>
+<polygon fill="#191970" stroke="#191970" points="1430.2837,-348.9452 1440.5456,-346.31 1430.8801,-341.9706 1430.2837,-348.9452"/>
+</g>
+<!-- Node129 -->
+<g id="node50" class="node">
+<title>Node129</title>
+<g id="a_node50"><a xlink:href="virtual__device_8h.html" target="_top" xlink:title="A compile time representation for where data is to be stored at runtime, and how to compile code to c...">
+<polygon fill="#ffffff" stroke="#ff0000" points="1924.8474,-268.5 1924.8474,-298.5 2031.8474,-298.5 2031.8474,-268.5 1924.8474,-268.5"/>
+<text text-anchor="start" x="1932.8474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1978.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/virtual_device.h</text>
+</a>
+</g>
+</g>
+<!-- Node114&#45;&gt;Node129 -->
+<g id="edge80" class="edge">
+<title>Node114&#45;&gt;Node129</title>
+<path fill="none" stroke="#191970" d="M1557.9376,-335.7555C1559.4198,-335.4925 1560.8913,-335.2401 1562.3474,-335 1716.2032,-309.6259 1757.5328,-324.6227 1911.3474,-299 1915.7048,-298.2741 1920.2023,-297.4343 1924.7082,-296.5286"/>
+<polygon fill="#191970" stroke="#191970" points="1557.2253,-332.3281 1548.0502,-337.626 1558.5265,-339.2061 1557.2253,-332.3281"/>
 </g>
 <!-- Node115&#45;&gt;Node116 -->
-<g id="edge65" class="edge">
+<g id="edge63" class="edge">
 <title>Node115&#45;&gt;Node116</title>
-<path fill="none" stroke="#191970" d="M1368.454,-262.3469C1354.7647,-252.3776 1338.7464,-240.7121 1326.2936,-231.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1366.4798,-265.2389 1376.6238,-268.2967 1370.6006,-259.5804 1366.4798,-265.2389"/>
+<path fill="none" stroke="#191970" d="M348.4221,-264.1902C326.5463,-253.8685 299.9977,-241.3421 279.5999,-231.7177"/>
+<polygon fill="#191970" stroke="#191970" points="346.9424,-267.362 357.4798,-268.4639 349.9295,-261.0313 346.9424,-267.362"/>
 </g>
 <!-- Node116&#45;&gt;Node46 -->
-<g id="edge66" class="edge">
+<g id="edge64" class="edge">
 <title>Node116&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M1236.0983,-214.1068C1115.19,-209.2684 858.2969,-196.0213 643.5,-165 639.0119,-164.3518 634.3865,-163.5912 629.7453,-162.7609"/>
-<polygon fill="#191970" stroke="#191970" points="1236.1895,-217.613 1246.3193,-214.5087 1236.4645,-210.6184 1236.1895,-217.613"/>
-</g>
-<!-- Node120&#45;&gt;Node123 -->
-<g id="edge68" class="edge">
-<title>Node120&#45;&gt;Node123</title>
-<path fill="none" stroke="#191970" d="M2596.1198,-258.0249C2595.987,-249.128 2595.8422,-239.4287 2595.726,-231.6432"/>
-<polygon fill="#191970" stroke="#191970" points="2592.6241,-258.35 2596.2731,-268.2967 2599.6234,-258.2455 2592.6241,-258.35"/>
+<path fill="none" stroke="#191970" d="M247.3474,-191.0249C247.3474,-182.128 247.3474,-172.4287 247.3474,-164.6432"/>
+<polygon fill="#191970" stroke="#191970" points="243.8475,-191.2966 247.3474,-201.2967 250.8475,-191.2967 243.8475,-191.2966"/>
 </g>
-<!-- Node124&#45;&gt;Node125 -->
-<g id="edge70" class="edge">
-<title>Node124&#45;&gt;Node125</title>
-<path fill="none" stroke="#191970" d="M2797.4417,-258.6103C2794.8739,-249.5553 2792.0507,-239.5998 2789.7943,-231.6432"/>
-<polygon fill="#191970" stroke="#191970" points="2794.0931,-259.6309 2800.1886,-268.2967 2800.8275,-257.7211 2794.0931,-259.6309"/>
+<!-- Node121&#45;&gt;Node124 -->
+<g id="edge67" class="edge">
+<title>Node121&#45;&gt;Node124</title>
+<path fill="none" stroke="#191970" d="M1527.8792,-263.0761C1544.459,-252.9774 1564.1262,-240.9983 1579.363,-231.7177"/>
+<polygon fill="#191970" stroke="#191970" points="1525.7533,-260.2727 1519.0335,-268.4639 1529.3947,-266.2511 1525.7533,-260.2727"/>
 </g>
-<!-- Node127&#45;&gt;Node43 -->
-<g id="edge79" class="edge">
-<title>Node127&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M2410.1468,-191.9021C2414.0997,-182.7696 2418.4645,-172.6854 2421.9455,-164.6432"/>
-<polygon fill="#191970" stroke="#191970" points="2406.8408,-190.7291 2406.0805,-201.2967 2413.2649,-193.5097 2406.8408,-190.7291"/>
+<!-- Node125&#45;&gt;Node120 -->
+<g id="edge69" class="edge">
+<title>Node125&#45;&gt;Node120</title>
+<path fill="none" stroke="#191970" d="M1284.0923,-258.3179C1283.2884,-249.3414 1282.4083,-239.5143 1281.7035,-231.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1280.6078,-258.6487 1284.9859,-268.2967 1287.5799,-258.0243 1280.6078,-258.6487"/>
 </g>
-<!-- Node128&#45;&gt;Node25 -->
-<g id="edge83" class="edge">
-<title>Node128&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M2144.5142,-268.008C1958.0003,-237.8716 1907.532,-250.1816 1723.5,-232 1700.5875,-229.7363 1675.5652,-227.0045 1653.1959,-224.4689"/>
-<polygon fill="#191970" stroke="#191970" points="2144.2243,-271.507 2154.6581,-269.6668 2145.3541,-264.5988 2144.2243,-271.507"/>
+<!-- Node128&#45;&gt;Node43 -->
+<g id="edge78" class="edge">
+<title>Node128&#45;&gt;Node43</title>
+<path fill="none" stroke="#191970" d="M960.6809,-203.0842C911.4426,-192.7033 841.5691,-177.9605 780.3474,-165 775.6575,-164.0072 770.7984,-162.9776 765.917,-161.9425"/>
+<polygon fill="#191970" stroke="#191970" points="960.0471,-206.5274 970.5541,-205.1656 961.4911,-199.678 960.0471,-206.5274"/>
 </g>
-<!-- Node128&#45;&gt;Node32 -->
+<!-- Node129&#45;&gt;Node25 -->
 <g id="edge82" class="edge">
-<title>Node128&#45;&gt;Node32</title>
-<path fill="none" stroke="#191970" d="M2209.0632,-258.3415C2209.6796,-230.8131 2210.6477,-187.5714 2211.1583,-164.7614"/>
-<polygon fill="#191970" stroke="#191970" points="2205.5631,-258.3131 2208.8383,-268.389 2212.5614,-258.4699 2205.5631,-258.3131"/>
+<title>Node129&#45;&gt;Node25</title>
+<path fill="none" stroke="#191970" d="M1914.6424,-268.548C1913.5368,-268.3583 1912.4377,-268.1754 1911.3474,-268 1738.6117,-240.2194 1692.4639,-257.2991 1519.3474,-232 1508.2832,-230.3831 1496.4068,-228.2117 1485.3737,-226.007"/>
+<polygon fill="#191970" stroke="#191970" points="1914.2462,-272.0342 1924.717,-270.4178 1915.5236,-265.1517 1914.2462,-272.0342"/>
 </g>
-<!-- Node128&#45;&gt;Node34 -->
-<g id="edge84" class="edge">
-<title>Node128&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M2234.521,-261.5089C2268.2437,-230.4158 2318.8756,-173.0481 2284.5,-134 2263.6142,-110.2753 2074.3965,-94.5254 1962.817,-87.214"/>
-<polygon fill="#191970" stroke="#191970" points="2231.8875,-259.17 2226.7891,-268.4574 2236.5664,-264.3765 2231.8875,-259.17"/>
+<!-- Node129&#45;&gt;Node32 -->
+<g id="edge81" class="edge">
+<title>Node129&#45;&gt;Node32</title>
+<path fill="none" stroke="#191970" d="M1982.2901,-258.3415C1986.6043,-230.8131 1993.381,-187.5714 1996.9557,-164.7614"/>
+<polygon fill="#191970" stroke="#191970" points="1978.8061,-257.9676 1980.7155,-268.389 1985.7217,-259.0515 1978.8061,-257.9676"/>
+</g>
+<!-- Node129&#45;&gt;Node34 -->
+<g id="edge83" class="edge">
+<title>Node129&#45;&gt;Node34</title>
+<path fill="none" stroke="#191970" d="M2008.8195,-262.0946C2047.9577,-232.0211 2106.9451,-176.2185 2072.3474,-134 2050.3545,-107.1628 1963.3645,-94.0242 1896.6198,-87.7871"/>
+<polygon fill="#191970" stroke="#191970" points="2006.231,-259.6608 2000.3291,-268.4595 2010.4298,-265.2617 2006.231,-259.6608"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/c__runtime__api_8h__dep__incl.svg b/docs/reference/api/doxygen/c__runtime__api_8h__dep__incl.svg
index 42b213bac..af4fcaf82 100644
--- a/docs/reference/api/doxygen/c__runtime__api_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/c__runtime__api_8h__dep__incl.svg
@@ -47,48 +47,48 @@
 <path fill="none" stroke="#191970" d="M1093.1682,-721.5837C1145.8097,-693.3486 1233.7718,-636.0661 1264,-556 1285.2411,-499.7382 1220.661,-439.1829 1192.4712,-416.1395"/>
 <polygon fill="#191970" stroke="#191970" points="1091.3131,-718.6046 1084.0883,-726.354 1094.5688,-724.8014 1091.3131,-718.6046"/>
 </g>
-<!-- Node160 -->
+<!-- Node161 -->
 <g id="node15" class="node">
-<title>Node160</title>
+<title>Node161</title>
 <g id="a_node15"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="973.5,-73 973.5,-92 1094.5,-92 1094.5,-73 973.5,-73"/>
 <text text-anchor="middle" x="1034" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/expr.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node160 -->
+<!-- Node4&#45;&gt;Node161 -->
 <g id="edge111" class="edge">
-<title>Node4&#45;&gt;Node160</title>
+<title>Node4&#45;&gt;Node161</title>
 <path fill="none" stroke="#191970" d="M983.685,-734.2436C901.2221,-724.8989 767.7859,-707.7392 721,-690 706.6191,-684.5474 488,-555.8799 488,-540.5 488,-540.5 488,-540.5 488,-406.5 488,-246.5733 580.7362,-207.0585 723,-134 814.649,-86.9343 850.4815,-115.57 952,-98 962.707,-96.1469 974.1785,-94.0493 985.0475,-92.0094"/>
 <polygon fill="#191970" stroke="#191970" points="983.3992,-737.7334 993.7274,-735.3715 984.1806,-730.7771 983.3992,-737.7334"/>
 </g>
-<!-- Node173 -->
+<!-- Node174 -->
 <g id="node22" class="node">
-<title>Node173</title>
+<title>Node174</title>
 <g id="a_node22"><a xlink:href="reflection_8h.html" target="_top" xlink:title="Reflection and serialization of compiler IR/AST nodes. ">
 <polygon fill="#ffffff" stroke="#000000" points="806.5,-464 806.5,-483 965.5,-483 965.5,-464 806.5,-464"/>
 <text text-anchor="middle" x="886" y="-471" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/reflection.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node173 -->
+<!-- Node4&#45;&gt;Node174 -->
 <g id="edge38" class="edge">
-<title>Node4&#45;&gt;Node173</title>
+<title>Node4&#45;&gt;Node174</title>
 <path fill="none" stroke="#191970" d="M983.8047,-734.3152C911.2011,-725.7843 801.7906,-710.1392 765,-690 729.4119,-670.519 722.8588,-658.3787 703,-623 681.2835,-584.3117 656.7777,-560.0334 684,-525 699.7386,-504.7454 759.9803,-491.1315 810.616,-483.0142"/>
 <polygon fill="#191970" stroke="#191970" points="983.4576,-737.7983 993.7937,-735.4715 984.2625,-730.8448 983.4576,-737.7983"/>
 </g>
-<!-- Node178 -->
+<!-- Node179 -->
 <g id="node26" class="node">
-<title>Node178</title>
+<title>Node179</title>
 <g id="a_node26"><a xlink:href="serialization_8h.html" target="_top" xlink:title="include/tvm/node/serialization.h">
 <polygon fill="#ffffff" stroke="#000000" points="1290.5,-598 1290.5,-617 1463.5,-617 1463.5,-598 1290.5,-598"/>
 <text text-anchor="middle" x="1377" y="-605" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/serialization.h</text>
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node178 -->
+<!-- Node4&#45;&gt;Node179 -->
 <g id="edge43" class="edge">
-<title>Node4&#45;&gt;Node178</title>
+<title>Node4&#45;&gt;Node179</title>
 <path fill="none" stroke="#191970" d="M1120.1987,-727.2171C1156.0397,-718.5733 1200.2455,-706.0907 1238,-690 1286.7914,-669.2055 1339.3025,-634.148 1363.4467,-617.2219"/>
 <polygon fill="#191970" stroke="#191970" points="1119.2495,-723.845 1110.3238,-729.5531 1120.861,-730.657 1119.2495,-723.845"/>
 </g>
@@ -108,9 +108,9 @@
 <path fill="none" stroke="#191970" d="M983.5666,-737.3906C882.7362,-730.7536 688.518,-715.7472 525,-690 522.0088,-689.529 518.9545,-689.0101 515.8751,-688.4564"/>
 <polygon fill="#191970" stroke="#191970" points="983.4135,-740.888 993.6198,-738.0449 983.8682,-733.9028 983.4135,-740.888"/>
 </g>
-<!-- Node179 -->
+<!-- Node180 -->
 <g id="node28" class="node">
-<title>Node179</title>
+<title>Node180</title>
 <g id="a_node28"><a xlink:href="builtin__fp16_8h.html" target="_top" xlink:title="Functions for conversion between fp32 and fp16. ">
 <polygon fill="#ffffff" stroke="#000000" points="534,-659.5 534,-689.5 650,-689.5 650,-659.5 534,-659.5"/>
 <text text-anchor="start" x="542" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -118,15 +118,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node179 -->
+<!-- Node4&#45;&gt;Node180 -->
 <g id="edge45" class="edge">
-<title>Node4&#45;&gt;Node179</title>
+<title>Node4&#45;&gt;Node180</title>
 <path fill="none" stroke="#191970" d="M983.7946,-734.1216C906.1061,-725.3293 775.4861,-709.3671 664,-690 659.4648,-689.2122 654.7813,-688.3394 650.0809,-687.4211"/>
 <polygon fill="#191970" stroke="#191970" points="983.6035,-737.6221 993.9322,-735.2621 984.3862,-730.666 983.6035,-737.6221"/>
 </g>
-<!-- Node180 -->
+<!-- Node181 -->
 <g id="node29" class="node">
-<title>Node180</title>
+<title>Node181</title>
 <g id="a_node29"><a xlink:href="c__backend__api_8h.html" target="_top" xlink:title="TVM runtime backend API. ">
 <polygon fill="#ffffff" stroke="#000000" points="258,-659.5 258,-689.5 374,-689.5 374,-659.5 258,-659.5"/>
 <text text-anchor="start" x="266" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -134,15 +134,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node180 -->
+<!-- Node4&#45;&gt;Node181 -->
 <g id="edge46" class="edge">
-<title>Node4&#45;&gt;Node180</title>
+<title>Node4&#45;&gt;Node181</title>
 <path fill="none" stroke="#191970" d="M983.3306,-739.5375C861.8469,-735.3256 601.3425,-722.9655 384,-690 380.7677,-689.5097 377.4608,-688.9505 374.131,-688.3422"/>
 <polygon fill="#191970" stroke="#191970" points="983.4811,-743.0446 993.594,-739.8854 983.7183,-736.0486 983.4811,-743.0446"/>
 </g>
-<!-- Node183 -->
+<!-- Node184 -->
 <g id="node32" class="node">
-<title>Node183</title>
+<title>Node184</title>
 <g id="a_node32"><a xlink:href="crt_2packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
 <polygon fill="#ffffff" stroke="#000000" points="172,-458.5 172,-488.5 288,-488.5 288,-458.5 172,-458.5"/>
 <text text-anchor="start" x="180" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -150,15 +150,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node183 -->
+<!-- Node4&#45;&gt;Node184 -->
 <g id="edge53" class="edge">
-<title>Node4&#45;&gt;Node183</title>
+<title>Node4&#45;&gt;Node184</title>
 <path fill="none" stroke="#191970" d="M983.6033,-740.0468C798.2697,-735.7138 295.7643,-721.1999 228,-690 180.5251,-668.1417 149.7003,-642.5448 163,-592 173.6447,-551.5455 201.5986,-510.384 217.8377,-488.832"/>
 <polygon fill="#191970" stroke="#191970" points="983.6914,-743.5496 993.7696,-740.2817 983.8532,-736.5515 983.6914,-743.5496"/>
 </g>
-<!-- Node184 -->
+<!-- Node185 -->
 <g id="node33" class="node">
-<title>Node184</title>
+<title>Node185</title>
 <g id="a_node33"><a xlink:href="graph__executor_8h.html" target="_top" xlink:title="Tiny graph executor that can run graph containing only tvm PackedFunc. ">
 <polygon fill="#ffffff" stroke="#000000" points="170.5,-391.5 170.5,-421.5 289.5,-421.5 289.5,-391.5 170.5,-391.5"/>
 <text text-anchor="start" x="178.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -166,15 +166,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node184 -->
+<!-- Node4&#45;&gt;Node185 -->
 <g id="edge52" class="edge">
-<title>Node4&#45;&gt;Node184</title>
+<title>Node4&#45;&gt;Node185</title>
 <path fill="none" stroke="#191970" d="M983.8852,-740.5633C790.5157,-737.477 247.5182,-725.697 176,-690 132.9749,-668.5248 106,-655.5869 106,-607.5 106,-607.5 106,-607.5 106,-540.5 106,-485.0315 163.9453,-442.7806 200.6137,-421.5968"/>
 <polygon fill="#191970" stroke="#191970" points="983.8707,-744.0634 993.9244,-740.7207 983.9805,-737.0642 983.8707,-744.0634"/>
 </g>
-<!-- Node185 -->
+<!-- Node186 -->
 <g id="node34" class="node">
-<title>Node185</title>
+<title>Node186</title>
 <g id="a_node34"><a xlink:href="page__allocator_8h.html" target="_top" xlink:title="An implementation of a dynamic memory allocator for microcontrollers. ">
 <polygon fill="#ffffff" stroke="#000000" points="908,-659.5 908,-689.5 1024,-689.5 1024,-659.5 908,-659.5"/>
 <text text-anchor="start" x="916" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -182,15 +182,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node185 -->
+<!-- Node4&#45;&gt;Node186 -->
 <g id="edge54" class="edge">
-<title>Node4&#45;&gt;Node185</title>
+<title>Node4&#45;&gt;Node186</title>
 <path fill="none" stroke="#191970" d="M1024.4855,-720.0643C1011.7696,-710.1577 996.9684,-698.6265 985.4375,-689.6432"/>
 <polygon fill="#191970" stroke="#191970" points="1022.4456,-722.9119 1032.4853,-726.2967 1026.7477,-717.3899 1022.4456,-722.9119"/>
 </g>
-<!-- Node186 -->
+<!-- Node187 -->
 <g id="node35" class="node">
-<title>Node186</title>
+<title>Node187</title>
 <g id="a_node35"><a xlink:href="platform_8h.html" target="_top" xlink:title="The virtual memory manager for micro&#45;controllers. ">
 <polygon fill="#ffffff" stroke="#000000" points="172,-592.5 172,-622.5 288,-622.5 288,-592.5 172,-592.5"/>
 <text text-anchor="start" x="180" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -198,15 +198,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node186 -->
+<!-- Node4&#45;&gt;Node187 -->
 <g id="edge55" class="edge">
-<title>Node4&#45;&gt;Node186</title>
+<title>Node4&#45;&gt;Node187</title>
 <path fill="none" stroke="#191970" d="M983.6306,-739.3218C794.5718,-733.0075 276.8172,-713.6327 249,-690 229.6218,-673.5369 227.7575,-641.6486 228.5857,-622.7016"/>
 <polygon fill="#191970" stroke="#191970" points="983.6164,-742.8231 993.7271,-739.657 983.8487,-735.827 983.6164,-742.8231"/>
 </g>
-<!-- Node187 -->
+<!-- Node188 -->
 <g id="node36" class="node">
-<title>Node187</title>
+<title>Node188</title>
 <g id="a_node36"><a xlink:href="data__type_8h.html" target="_top" xlink:title="include/tvm/runtime\l/data_type.h">
 <polygon fill="#ffffff" stroke="#000000" points="774,-659.5 774,-689.5 890,-689.5 890,-659.5 774,-659.5"/>
 <text text-anchor="start" x="782" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -214,15 +214,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node187 -->
+<!-- Node4&#45;&gt;Node188 -->
 <g id="edge57" class="edge">
-<title>Node4&#45;&gt;Node187</title>
+<title>Node4&#45;&gt;Node188</title>
 <path fill="none" stroke="#191970" d="M993.0545,-723.5484C958.2315,-712.9432 914.6363,-699.6665 881.5876,-689.6017"/>
 <polygon fill="#191970" stroke="#191970" points="992.0418,-726.8987 1002.6277,-726.4639 994.0812,-720.2023 992.0418,-726.8987"/>
 </g>
-<!-- Node190 -->
+<!-- Node191 -->
 <g id="node39" class="node">
-<title>Node190</title>
+<title>Node191</title>
 <g id="a_node39"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1080,-592.5 1080,-622.5 1196,-622.5 1196,-592.5 1080,-592.5"/>
 <text text-anchor="start" x="1088" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -230,15 +230,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node190 -->
+<!-- Node4&#45;&gt;Node191 -->
 <g id="edge92" class="edge">
-<title>Node4&#45;&gt;Node190</title>
+<title>Node4&#45;&gt;Node191</title>
 <path fill="none" stroke="#191970" d="M1067.218,-717.7882C1084.8275,-690.3502 1113.307,-645.9751 1128.2054,-622.7614"/>
 <polygon fill="#191970" stroke="#191970" points="1064.1538,-716.0827 1061.6981,-726.389 1070.0449,-719.8635 1064.1538,-716.0827"/>
 </g>
-<!-- Node192 -->
+<!-- Node193 -->
 <g id="node40" class="node">
-<title>Node192</title>
+<title>Node193</title>
 <g id="a_node40"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
 <polygon fill="#ffffff" stroke="#000000" points="1882,-458.5 1882,-488.5 1998,-488.5 1998,-458.5 1882,-458.5"/>
 <text text-anchor="start" x="1890" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -246,15 +246,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node192 -->
+<!-- Node4&#45;&gt;Node193 -->
 <g id="edge89" class="edge">
-<title>Node4&#45;&gt;Node192</title>
+<title>Node4&#45;&gt;Node193</title>
 <path fill="none" stroke="#191970" d="M1120.523,-740.4253C1336.8644,-736.7011 1992.9474,-722.7415 2024,-690 2074.4641,-636.7914 2059.8254,-588.9869 2024,-525 2014.8076,-508.5816 1998.0059,-496.7643 1981.8313,-488.6253"/>
 <polygon fill="#191970" stroke="#191970" points="1120.1913,-736.9303 1110.2523,-740.6001 1120.3104,-743.9293 1120.1913,-736.9303"/>
 </g>
-<!-- Node193 -->
+<!-- Node194 -->
 <g id="node41" class="node">
-<title>Node193</title>
+<title>Node194</title>
 <g id="a_node41"><a xlink:href="profiling_8h.html" target="_top" xlink:title="Runtime profiling including timers. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1676,-391.5 1676,-421.5 1792,-421.5 1792,-391.5 1676,-391.5"/>
 <text text-anchor="start" x="1684" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -262,15 +262,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node193 -->
+<!-- Node4&#45;&gt;Node194 -->
 <g id="edge107" class="edge">
-<title>Node4&#45;&gt;Node193</title>
+<title>Node4&#45;&gt;Node194</title>
 <path fill="none" stroke="#191970" d="M1120.2838,-739.4634C1266.5833,-734.5718 1605.9868,-720.2546 1717,-690 1847.7905,-654.3555 1919.225,-671.0002 1991,-556 1998.2949,-544.3119 1999.1986,-536.0729 1991,-525 1958.3724,-480.9335 1923.1571,-511.1514 1873,-489 1829.3604,-469.727 1782.3835,-439.6702 1755.7459,-421.6508"/>
 <polygon fill="#191970" stroke="#191970" points="1119.969,-735.9718 1110.0897,-739.7994 1120.1997,-742.968 1119.969,-735.9718"/>
 </g>
-<!-- Node195 -->
+<!-- Node196 -->
 <g id="node42" class="node">
-<title>Node195</title>
+<title>Node196</title>
 <g id="a_node42"><a xlink:href="packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1672,-525.5 1672,-555.5 1788,-555.5 1788,-525.5 1672,-525.5"/>
 <text text-anchor="start" x="1680" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -278,15 +278,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node195 -->
+<!-- Node4&#45;&gt;Node196 -->
 <g id="edge106" class="edge">
-<title>Node4&#45;&gt;Node195</title>
+<title>Node4&#45;&gt;Node196</title>
 <path fill="none" stroke="#191970" d="M1120.088,-738.5387C1264.2419,-731.8313 1590.7115,-714.1631 1635,-690 1688.4509,-660.838 1716.0495,-587.3542 1725.8114,-555.5538"/>
 <polygon fill="#191970" stroke="#191970" points="1119.8585,-735.0455 1110.0304,-739.0027 1120.1811,-742.0381 1119.8585,-735.0455"/>
 </g>
-<!-- Node196 -->
+<!-- Node197 -->
 <g id="node43" class="node">
-<title>Node196</title>
+<title>Node197</title>
 <g id="a_node43"><a xlink:href="runtime_2module_8h.html" target="_top" xlink:title="Runtime container of the functions generated by TVM, This is used to support dynamically link...">
 <polygon fill="#ffffff" stroke="#ff0000" points="2022,-458.5 2022,-488.5 2138,-488.5 2138,-458.5 2022,-458.5"/>
 <text text-anchor="start" x="2030" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -294,15 +294,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node196 -->
+<!-- Node4&#45;&gt;Node197 -->
 <g id="edge91" class="edge">
-<title>Node4&#45;&gt;Node196</title>
+<title>Node4&#45;&gt;Node197</title>
 <path fill="none" stroke="#191970" d="M1120.4172,-741.0114C1362.1381,-738.9544 2163.5243,-729.193 2201,-690 2261.8545,-626.3568 2148.2711,-526.2392 2100.1088,-488.5332"/>
 <polygon fill="#191970" stroke="#191970" points="1120.3221,-737.5119 1110.3517,-741.0953 1120.3805,-744.5117 1120.3221,-737.5119"/>
 </g>
-<!-- Node201 -->
+<!-- Node202 -->
 <g id="node45" class="node">
-<title>Node201</title>
+<title>Node202</title>
 <g id="a_node45"><a xlink:href="serializer_8h.html" target="_top" xlink:title="Serializer extension to support TVM data types Include this file to enable serialization of DLDataTyp...">
 <polygon fill="#ffffff" stroke="#000000" points="1122,-525.5 1122,-555.5 1238,-555.5 1238,-525.5 1122,-525.5"/>
 <text text-anchor="start" x="1130" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -310,15 +310,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node201 -->
+<!-- Node4&#45;&gt;Node202 -->
 <g id="edge108" class="edge">
-<title>Node4&#45;&gt;Node201</title>
+<title>Node4&#45;&gt;Node202</title>
 <path fill="none" stroke="#191970" d="M1048.2915,-715.8982C1045.0785,-683.798 1044.4646,-628.5542 1071,-592 1083.3566,-574.978 1102.8102,-563.3838 1121.8841,-555.5793"/>
 <polygon fill="#191970" stroke="#191970" points="1044.8603,-716.6919 1049.4961,-726.2186 1051.8131,-715.8802 1044.8603,-716.6919"/>
 </g>
-<!-- Node202 -->
+<!-- Node203 -->
 <g id="node46" class="node">
-<title>Node202</title>
+<title>Node203</title>
 <g id="a_node46"><a xlink:href="memory__manager_8h.html" target="_top" xlink:title="Abstract device memory management API. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1844.5,-525.5 1844.5,-555.5 1981.5,-555.5 1981.5,-525.5 1844.5,-525.5"/>
 <text text-anchor="start" x="1852.5" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -326,15 +326,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node202 -->
+<!-- Node4&#45;&gt;Node203 -->
 <g id="edge109" class="edge">
-<title>Node4&#45;&gt;Node202</title>
+<title>Node4&#45;&gt;Node203</title>
 <path fill="none" stroke="#191970" d="M1120.3469,-739.719C1258.6408,-735.4729 1566.9872,-722.5683 1667,-690 1760.8529,-659.4376 1856.31,-587.0514 1895.0359,-555.5646"/>
 <polygon fill="#191970" stroke="#191970" points="1120.18,-736.2223 1110.2898,-740.0216 1120.3906,-743.2191 1120.18,-736.2223"/>
 </g>
-<!-- Node204 -->
+<!-- Node205 -->
 <g id="node48" class="node">
-<title>Node204</title>
+<title>Node205</title>
 <g id="a_node48"><a xlink:href="metadata_8h.html" target="_top" xlink:title="Defines types which can be used in Metadata. ">
 <polygon fill="#ffffff" stroke="#000000" points="2076,-659.5 2076,-689.5 2192,-689.5 2192,-659.5 2076,-659.5"/>
 <text text-anchor="start" x="2084" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -342,15 +342,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node204 -->
+<!-- Node4&#45;&gt;Node205 -->
 <g id="edge90" class="edge">
-<title>Node4&#45;&gt;Node204</title>
+<title>Node4&#45;&gt;Node205</title>
 <path fill="none" stroke="#191970" d="M1120.4297,-739.4498C1316.7173,-733.3403 1879.2441,-714.1707 2062,-690 2066.5634,-689.3965 2071.2671,-688.6562 2075.9815,-687.8295"/>
 <polygon fill="#191970" stroke="#191970" points="1120.1362,-735.9571 1110.2494,-739.7652 1120.353,-742.9538 1120.1362,-735.9571"/>
 </g>
-<!-- Node205 -->
+<!-- Node206 -->
 <g id="node49" class="node">
-<title>Node205</title>
+<title>Node206</title>
 <g id="a_node49"><a xlink:href="object_8h.html" target="_top" xlink:title="A managed object in the TVM runtime. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1510,-659.5 1510,-689.5 1626,-689.5 1626,-659.5 1510,-659.5"/>
 <text text-anchor="start" x="1518" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -358,15 +358,15 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node205 -->
+<!-- Node4&#45;&gt;Node206 -->
 <g id="edge93" class="edge">
-<title>Node4&#45;&gt;Node205</title>
+<title>Node4&#45;&gt;Node206</title>
 <path fill="none" stroke="#191970" d="M1120.402,-732.6184C1222.648,-719.3422 1413.5695,-694.552 1509.6286,-682.0792"/>
 <polygon fill="#191970" stroke="#191970" points="1119.6548,-729.1859 1110.1887,-733.9445 1120.5562,-736.1276 1119.6548,-729.1859"/>
 </g>
-<!-- Node218 -->
+<!-- Node219 -->
 <g id="node50" class="node">
-<title>Node218</title>
+<title>Node219</title>
 <g id="a_node50"><a xlink:href="parallel__for_8h.html" target="_top" xlink:title="An implementation to run loop in parallel. ">
 <polygon fill="#ffffff" stroke="#000000" points="2248,-659.5 2248,-689.5 2362,-689.5 2362,-659.5 2248,-659.5"/>
 <text text-anchor="start" x="2256" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/support</text>
@@ -374,9 +374,9 @@
 </a>
 </g>
 </g>
-<!-- Node4&#45;&gt;Node218 -->
+<!-- Node4&#45;&gt;Node219 -->
 <g id="edge110" class="edge">
-<title>Node4&#45;&gt;Node218</title>
+<title>Node4&#45;&gt;Node219</title>
 <path fill="none" stroke="#191970" d="M1120.2239,-740.0655C1338.2128,-735.2397 2016.3242,-718.2901 2234,-690 2238.5041,-689.4146 2243.1455,-688.6874 2247.7965,-687.8697"/>
 <polygon fill="#191970" stroke="#191970" points="1120.1155,-736.5669 1110.1949,-740.2861 1120.2695,-743.5652 1120.1155,-736.5669"/>
 </g>
@@ -487,18 +487,18 @@
 <path fill="none" stroke="#191970" d="M1258.9261,-396.0383C1312.3906,-387.4449 1376.8402,-373.6503 1397,-355 1412.1973,-340.9406 1450.3423,-198.0058 1460.4885,-159.1849"/>
 <polygon fill="#191970" stroke="#191970" points="1258.0779,-392.6284 1248.7406,-397.6349 1259.162,-399.544 1258.0779,-392.6284"/>
 </g>
-<!-- Node134 -->
+<!-- Node135 -->
 <g id="node10" class="node">
-<title>Node134</title>
+<title>Node135</title>
 <g id="a_node10"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1270.5,-201.5 1270.5,-220.5 1387.5,-220.5 1387.5,-201.5 1270.5,-201.5"/>
 <text text-anchor="middle" x="1329" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/expr.h</text>
 </a>
 </g>
 </g>
-<!-- Node13&#45;&gt;Node134 -->
+<!-- Node13&#45;&gt;Node135 -->
 <g id="edge11" class="edge">
-<title>Node13&#45;&gt;Node134</title>
+<title>Node13&#45;&gt;Node135</title>
 <path fill="none" stroke="#191970" d="M1189.1015,-387.9374C1197.8688,-370.7429 1211.9818,-344.7693 1227,-324 1256.8876,-282.6672 1299.6845,-239.4302 1318.9386,-220.6527"/>
 <polygon fill="#191970" stroke="#191970" points="1185.9407,-386.4327 1184.5907,-396.9412 1192.1993,-389.5682 1185.9407,-386.4327"/>
 </g>
@@ -518,9 +518,9 @@
 <path fill="none" stroke="#191970" d="M1119.2479,-395.1059C1039.9347,-380.2035 910.9933,-355.8709 910,-355 895.0596,-341.9 858.3918,-210.1796 846.0955,-164.7821"/>
 <polygon fill="#191970" stroke="#191970" points="1118.6641,-398.5574 1129.1383,-396.9637 1119.9564,-391.6777 1118.6641,-398.5574"/>
 </g>
-<!-- Node60 -->
+<!-- Node61 -->
 <g id="node12" class="node">
-<title>Node60</title>
+<title>Node61</title>
 <g id="a_node12"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry. ">
 <polygon fill="#ffffff" stroke="#000000" points="835.5,-67.5 835.5,-97.5 942.5,-97.5 942.5,-67.5 835.5,-67.5"/>
 <text text-anchor="start" x="843.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
@@ -528,81 +528,81 @@
 </a>
 </g>
 </g>
-<!-- Node13&#45;&gt;Node60 -->
+<!-- Node13&#45;&gt;Node61 -->
 <g id="edge32" class="edge">
-<title>Node13&#45;&gt;Node60</title>
+<title>Node13&#45;&gt;Node61</title>
 <path fill="none" stroke="#191970" d="M1119.0742,-395.0446C1058.6294,-383.2247 973.2691,-365.1279 961,-355 930.0093,-329.4179 924,-312.6854 924,-272.5 924,-272.5 924,-272.5 924,-211 924,-168.6872 906.1149,-121.2048 895.9149,-97.5656"/>
 <polygon fill="#191970" stroke="#191970" points="1118.4365,-398.486 1128.9206,-396.9578 1119.7718,-391.6145 1118.4365,-398.486"/>
 </g>
-<!-- Node13&#45;&gt;Node160 -->
+<!-- Node13&#45;&gt;Node161 -->
 <g id="edge36" class="edge">
-<title>Node13&#45;&gt;Node160</title>
+<title>Node13&#45;&gt;Node161</title>
 <path fill="none" stroke="#191970" d="M1120.2725,-394.8748C1064.881,-383.4896 989.7147,-366.2571 981,-355 916.0934,-271.1577 1001.8869,-130.1712 1027.2998,-92.1767"/>
 <polygon fill="#191970" stroke="#191970" points="1119.8675,-398.364 1130.3648,-396.9298 1121.2643,-391.5048 1119.8675,-398.364"/>
 </g>
-<!-- Node161 -->
+<!-- Node162 -->
 <g id="node16" class="node">
-<title>Node161</title>
+<title>Node162</title>
 <g id="a_node16"><a xlink:href="relay_2base_8h.html" target="_top" xlink:title="Base classes for the Relay IR. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1608.5,-6 1608.5,-25 1745.5,-25 1745.5,-6 1608.5,-6"/>
 <text text-anchor="middle" x="1677" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/base.h</text>
 </a>
 </g>
 </g>
-<!-- Node13&#45;&gt;Node161 -->
+<!-- Node13&#45;&gt;Node162 -->
 <g id="edge31" class="edge">
-<title>Node13&#45;&gt;Node161</title>
+<title>Node13&#45;&gt;Node162</title>
 <path fill="none" stroke="#191970" d="M1258.8622,-402.7711C1392.656,-395.8177 1652.9909,-379.3376 1687,-355 1744.2523,-314.0291 1753,-281.402 1753,-211 1753,-211 1753,-211 1753,-149.5 1753,-96.8121 1707.9944,-45.8623 1687.2497,-25.1761"/>
 <polygon fill="#191970" stroke="#191970" points="1258.4764,-399.2862 1248.6693,-403.2951 1258.8358,-406.277 1258.4764,-399.2862"/>
 </g>
-<!-- Node168 -->
+<!-- Node169 -->
 <g id="node17" class="node">
-<title>Node168</title>
+<title>Node169</title>
 <g id="a_node17"><a xlink:href="var_8h.html" target="_top" xlink:title="Variables in the TIR. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1070.5,-140 1070.5,-159 1185.5,-159 1185.5,-140 1070.5,-140"/>
 <text text-anchor="middle" x="1128" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/var.h</text>
 </a>
 </g>
 </g>
-<!-- Node13&#45;&gt;Node168 -->
+<!-- Node13&#45;&gt;Node169 -->
 <g id="edge37" class="edge">
-<title>Node13&#45;&gt;Node168</title>
+<title>Node13&#45;&gt;Node169</title>
 <path fill="none" stroke="#191970" d="M1176.0236,-386.8475C1165.5809,-335.2362 1137.6542,-197.2143 1129.9769,-159.2706"/>
 <polygon fill="#191970" stroke="#191970" points="1172.6113,-387.6319 1178.025,-396.7391 1179.4723,-386.2436 1172.6113,-387.6319"/>
 </g>
-<!-- Node170 -->
+<!-- Node171 -->
 <g id="node18" class="node">
-<title>Node170</title>
+<title>Node171</title>
 <g id="a_node18"><a xlink:href="ir_2span_8h.html" target="_top" xlink:title="Span information for debugging purposes. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1558.5,-330 1558.5,-349 1677.5,-349 1677.5,-330 1558.5,-330"/>
 <text text-anchor="middle" x="1618" y="-337" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/span.h</text>
 </a>
 </g>
 </g>
-<!-- Node13&#45;&gt;Node170 -->
+<!-- Node13&#45;&gt;Node171 -->
 <g id="edge23" class="edge">
-<title>Node13&#45;&gt;Node170</title>
+<title>Node13&#45;&gt;Node171</title>
 <path fill="none" stroke="#191970" d="M1252.185,-395.458C1337.7485,-382.3695 1478.7381,-360.8026 1558.383,-348.6195"/>
 <polygon fill="#191970" stroke="#191970" points="1251.6453,-391.9998 1242.2896,-396.9717 1252.7038,-398.9193 1251.6453,-391.9998"/>
 </g>
-<!-- Node171 -->
+<!-- Node172 -->
 <g id="node19" class="node">
-<title>Node171</title>
+<title>Node172</title>
 <g id="a_node19"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="1444,-263 1444,-282 1562,-282 1562,-263 1444,-263"/>
 <text text-anchor="middle" x="1503" y="-270" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type.h</text>
 </a>
 </g>
 </g>
-<!-- Node13&#45;&gt;Node171 -->
+<!-- Node13&#45;&gt;Node172 -->
 <g id="edge29" class="edge">
-<title>Node13&#45;&gt;Node171</title>
+<title>Node13&#45;&gt;Node172</title>
 <path fill="none" stroke="#191970" d="M1258.709,-395.8255C1320.7077,-386.4054 1401.3006,-371.6151 1430,-355 1461.6131,-336.698 1486.6894,-299.7819 1497.3854,-282.2154"/>
 <polygon fill="#191970" stroke="#191970" points="1257.9111,-392.4059 1248.5396,-397.3482 1258.9477,-399.3287 1257.9111,-392.4059"/>
 </g>
-<!-- Node143 -->
+<!-- Node144 -->
 <g id="node20" class="node">
-<title>Node143</title>
+<title>Node144</title>
 <g id="a_node20"><a xlink:href="arg__info_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/arg_info.h">
 <polygon fill="#ffffff" stroke="#ff0000" points="1236,-324.5 1236,-354.5 1388,-354.5 1388,-324.5 1236,-324.5"/>
 <text text-anchor="start" x="1244" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
@@ -610,9 +610,9 @@
 </a>
 </g>
 </g>
-<!-- Node13&#45;&gt;Node143 -->
+<!-- Node13&#45;&gt;Node144 -->
 <g id="edge30" class="edge">
-<title>Node13&#45;&gt;Node143</title>
+<title>Node13&#45;&gt;Node144</title>
 <path fill="none" stroke="#191970" d="M1208.0087,-392.2834C1229.8661,-381.1892 1260.1528,-365.8164 1282.4049,-354.5218"/>
 <polygon fill="#191970" stroke="#191970" points="1206.2453,-389.2534 1198.9124,-396.9005 1209.4136,-395.4954 1206.2453,-389.2534"/>
 </g>
@@ -632,15 +632,15 @@
 <path fill="none" stroke="#191970" d="M1119.9444,-395.094C1112.2288,-393.6847 1104.4316,-392.2882 1097,-391 997.2161,-373.7031 959.8831,-405.3245 872,-355 843.9734,-338.9511 822.6311,-306.6057 811.8343,-287.5311"/>
 <polygon fill="#191970" stroke="#191970" points="1119.5342,-398.5772 1130.0027,-396.9459 1120.8018,-391.693 1119.5342,-398.5772"/>
 </g>
-<!-- Node134&#45;&gt;Node16 -->
+<!-- Node135&#45;&gt;Node16 -->
 <g id="edge12" class="edge">
-<title>Node134&#45;&gt;Node16</title>
+<title>Node135&#45;&gt;Node16</title>
 <path fill="none" stroke="#191970" d="M1359.0911,-197.1895C1384.4082,-185.5701 1419.9454,-169.2601 1442.2095,-159.0419"/>
 <polygon fill="#191970" stroke="#191970" points="1357.5661,-194.0384 1349.9375,-201.3906 1360.486,-200.4003 1357.5661,-194.0384"/>
 </g>
-<!-- Node134&#45;&gt;Node26 -->
+<!-- Node135&#45;&gt;Node26 -->
 <g id="edge13" class="edge">
-<title>Node134&#45;&gt;Node26</title>
+<title>Node135&#45;&gt;Node26</title>
 <path fill="none" stroke="#191970" d="M1260.1628,-202.307C1162.2021,-189.9362 984.6236,-167.511 895.7278,-156.2849"/>
 <polygon fill="#191970" stroke="#191970" points="1259.8967,-205.8011 1270.2564,-203.5817 1260.7738,-198.8563 1259.8967,-205.8011"/>
 </g>
@@ -654,21 +654,21 @@
 </a>
 </g>
 </g>
-<!-- Node134&#45;&gt;Node28 -->
+<!-- Node135&#45;&gt;Node28 -->
 <g id="edge20" class="edge">
-<title>Node134&#45;&gt;Node28</title>
+<title>Node135&#45;&gt;Node28</title>
 <path fill="none" stroke="#191970" d="M1343.0628,-193.3133C1356.3842,-177.064 1377.3685,-152.7334 1398,-134 1412.7442,-120.6123 1430.8943,-107.3384 1445.0179,-97.6203"/>
 <polygon fill="#191970" stroke="#191970" points="1340.0707,-191.4469 1336.5013,-201.4224 1345.5124,-195.8501 1340.0707,-191.4469"/>
 </g>
-<!-- Node134&#45;&gt;Node160 -->
+<!-- Node135&#45;&gt;Node161 -->
 <g id="edge18" class="edge">
-<title>Node134&#45;&gt;Node160</title>
+<title>Node135&#45;&gt;Node161</title>
 <path fill="none" stroke="#191970" d="M1306.2487,-195.9241C1280.1987,-179.1441 1235.8428,-152.0228 1195,-134 1154.0557,-115.9324 1104.7598,-101.1153 1071.5922,-92.0875"/>
 <polygon fill="#191970" stroke="#191970" points="1304.3723,-198.8788 1314.6637,-201.3962 1308.1884,-193.0105 1304.3723,-198.8788"/>
 </g>
-<!-- Node134&#45;&gt;Node168 -->
+<!-- Node135&#45;&gt;Node169 -->
 <g id="edge21" class="edge">
-<title>Node134&#45;&gt;Node168</title>
+<title>Node135&#45;&gt;Node169</title>
 <path fill="none" stroke="#191970" d="M1287.8197,-198.4001C1249.6697,-186.7273 1193.7588,-169.6202 1159.1857,-159.0419"/>
 <polygon fill="#191970" stroke="#191970" points="1287.0073,-201.8116 1297.5938,-201.3906 1289.0554,-195.1179 1287.0073,-201.8116"/>
 </g>
@@ -678,9 +678,9 @@
 <path fill="none" stroke="#191970" d="M780.0437,-131.6842C743.0855,-121.0568 696.6689,-107.7095 661.5178,-97.6017"/>
 <polygon fill="#191970" stroke="#191970" points="779.1324,-135.064 789.7103,-134.4639 781.067,-128.3366 779.1324,-135.064"/>
 </g>
-<!-- Node26&#45;&gt;Node60 -->
+<!-- Node26&#45;&gt;Node61 -->
 <g id="edge15" class="edge">
-<title>Node26&#45;&gt;Node60</title>
+<title>Node26&#45;&gt;Node61</title>
 <path fill="none" stroke="#191970" d="M858.4412,-126.0626C865.057,-116.6315 872.4955,-106.0276 878.3772,-97.6432"/>
 <polygon fill="#191970" stroke="#191970" points="855.5426,-124.1001 852.665,-134.2967 861.2732,-128.1201 855.5426,-124.1001"/>
 </g>
@@ -706,45 +706,45 @@
 <path fill="none" stroke="#191970" d="M1537.5475,-70.1401C1608.8119,-57.4751 1718.4326,-37.9934 1785.7143,-26.0362"/>
 <polygon fill="#191970" stroke="#191970" points="1536.5543,-66.7617 1527.321,-71.9575 1537.7791,-73.6537 1536.5543,-66.7617"/>
 </g>
-<!-- Node160&#45;&gt;Node161 -->
+<!-- Node161&#45;&gt;Node162 -->
 <g id="edge19" class="edge">
-<title>Node160&#45;&gt;Node161</title>
+<title>Node161&#45;&gt;Node162</title>
 <path fill="none" stroke="#191970" d="M1104.9533,-75.1067C1229.3272,-62.1471 1485.1461,-35.491 1608.0748,-22.6819"/>
 <polygon fill="#191970" stroke="#191970" points="1104.3648,-71.649 1094.7814,-76.1666 1105.0904,-78.6113 1104.3648,-71.649"/>
 </g>
-<!-- Node168&#45;&gt;Node160 -->
+<!-- Node169&#45;&gt;Node161 -->
 <g id="edge22" class="edge">
-<title>Node168&#45;&gt;Node160</title>
+<title>Node169&#45;&gt;Node161</title>
 <path fill="none" stroke="#191970" d="M1106.268,-134.0102C1088.109,-121.067 1062.7886,-103.0195 1047.4429,-92.0817"/>
 <polygon fill="#191970" stroke="#191970" points="1104.3574,-136.9464 1114.5321,-139.9005 1108.4204,-131.2462 1104.3574,-136.9464"/>
 </g>
-<!-- Node170&#45;&gt;Node134 -->
+<!-- Node171&#45;&gt;Node135 -->
 <g id="edge24" class="edge">
-<title>Node170&#45;&gt;Node134</title>
+<title>Node171&#45;&gt;Node135</title>
 <path fill="none" stroke="#191970" d="M1612.2338,-320.0122C1605.5207,-300.8721 1592.5146,-272.3725 1571,-257 1542.2059,-236.4263 1449.4997,-223.2284 1387.552,-216.4682"/>
 <polygon fill="#191970" stroke="#191970" points="1608.9889,-321.3525 1615.4032,-329.785 1615.6475,-319.193 1608.9889,-321.3525"/>
 </g>
-<!-- Node170&#45;&gt;Node161 -->
+<!-- Node171&#45;&gt;Node162 -->
 <g id="edge28" class="edge">
-<title>Node170&#45;&gt;Node161</title>
+<title>Node171&#45;&gt;Node162</title>
 <path fill="none" stroke="#191970" d="M1632.0769,-321.8208C1649.5289,-298.0732 1677,-253.8816 1677,-211 1677,-211 1677,-211 1677,-149.5 1677,-102.9722 1677,-47.357 1677,-25.2517"/>
 <polygon fill="#191970" stroke="#191970" points="1629.2197,-319.796 1625.957,-329.8759 1634.7935,-324.0307 1629.2197,-319.796"/>
 </g>
-<!-- Node170&#45;&gt;Node171 -->
+<!-- Node171&#45;&gt;Node172 -->
 <g id="edge25" class="edge">
-<title>Node170&#45;&gt;Node171</title>
+<title>Node171&#45;&gt;Node172</title>
 <path fill="none" stroke="#191970" d="M1592.6159,-324.711C1570.3276,-311.7256 1538.5615,-293.2184 1519.4461,-282.0817"/>
 <polygon fill="#191970" stroke="#191970" points="1591.1208,-327.8906 1601.5233,-329.9005 1594.6447,-321.8423 1591.1208,-327.8906"/>
 </g>
-<!-- Node171&#45;&gt;Node16 -->
+<!-- Node172&#45;&gt;Node16 -->
 <g id="edge26" class="edge">
-<title>Node171&#45;&gt;Node16</title>
+<title>Node172&#45;&gt;Node16</title>
 <path fill="none" stroke="#191970" d="M1496.6871,-253.0879C1487.9977,-226.3678 1472.6831,-179.2756 1466.1242,-159.1068"/>
 <polygon fill="#191970" stroke="#191970" points="1493.4402,-254.4211 1499.8613,-262.8484 1500.097,-252.2562 1493.4402,-254.4211"/>
 </g>
-<!-- Node171&#45;&gt;Node134 -->
+<!-- Node172&#45;&gt;Node135 -->
 <g id="edge27" class="edge">
-<title>Node171&#45;&gt;Node134</title>
+<title>Node172&#45;&gt;Node135</title>
 <path fill="none" stroke="#191970" d="M1466.0791,-259.4504C1433.0932,-247.7916 1385.5434,-230.9852 1355.9966,-220.5419"/>
 <polygon fill="#191970" stroke="#191970" points="1465.2177,-262.8581 1475.8125,-262.8906 1467.5505,-256.2582 1465.2177,-262.8581"/>
 </g>
@@ -754,15 +754,15 @@
 <path fill="none" stroke="#191970" d="M811.6841,-247.6276C819.3561,-222.7948 830.9003,-185.428 837.3023,-164.7056"/>
 <polygon fill="#191970" stroke="#191970" points="808.2673,-246.8302 808.6595,-257.4178 814.9554,-248.8965 808.2673,-246.8302"/>
 </g>
-<!-- Node173&#45;&gt;Node13 -->
+<!-- Node174&#45;&gt;Node13 -->
 <g id="edge41" class="edge">
-<title>Node173&#45;&gt;Node13</title>
+<title>Node174&#45;&gt;Node13</title>
 <path fill="none" stroke="#191970" d="M937.6863,-461.7211C994.6107,-448.7486 1085.0568,-428.1367 1137.8574,-416.1039"/>
 <polygon fill="#191970" stroke="#191970" points="936.7831,-458.3372 927.8108,-463.9717 938.3385,-465.1622 936.7831,-458.3372"/>
 </g>
-<!-- Node174 -->
+<!-- Node175 -->
 <g id="node23" class="node">
-<title>Node174</title>
+<title>Node175</title>
 <g id="a_node23"><a xlink:href="env__func_8h.html" target="_top" xlink:title="Serializable global function used in IR. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="949.5,-391.5 949.5,-421.5 1054.5,-421.5 1054.5,-391.5 949.5,-391.5"/>
 <text text-anchor="start" x="957.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/env</text>
@@ -770,30 +770,30 @@
 </a>
 </g>
 </g>
-<!-- Node173&#45;&gt;Node174 -->
+<!-- Node174&#45;&gt;Node175 -->
 <g id="edge39" class="edge">
-<title>Node173&#45;&gt;Node174</title>
+<title>Node174&#45;&gt;Node175</title>
 <path fill="none" stroke="#191970" d="M911.3929,-458.8334C930.5365,-447.7763 956.7004,-432.6644 975.9922,-421.5218"/>
 <polygon fill="#191970" stroke="#191970" points="909.5288,-455.8682 902.62,-463.9005 913.0299,-461.9297 909.5288,-455.8682"/>
 </g>
-<!-- Node175 -->
+<!-- Node176 -->
 <g id="node24" class="node">
-<title>Node175</title>
+<title>Node176</title>
 <g id="a_node24"><a xlink:href="instrument_8h.html" target="_top" xlink:title="include/tvm/ir/instrument.h">
 <polygon fill="#ffffff" stroke="#ff0000" points="629.5,-397 629.5,-416 778.5,-416 778.5,-397 629.5,-397"/>
 <text text-anchor="middle" x="704" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/instrument.h</text>
 </a>
 </g>
 </g>
-<!-- Node173&#45;&gt;Node175 -->
+<!-- Node174&#45;&gt;Node176 -->
 <g id="edge40" class="edge">
-<title>Node173&#45;&gt;Node175</title>
+<title>Node174&#45;&gt;Node176</title>
 <path fill="none" stroke="#191970" d="M850.4583,-460.416C815.0818,-447.3928 761.6304,-427.7156 730.0278,-416.0817"/>
 <polygon fill="#191970" stroke="#191970" points="849.3304,-463.7303 859.9238,-463.9005 851.7487,-457.1613 849.3304,-463.7303"/>
 </g>
-<!-- Node176 -->
+<!-- Node177 -->
 <g id="node25" class="node">
-<title>Node176</title>
+<title>Node177</title>
 <g id="a_node25"><a xlink:href="instruction_8h.html" target="_top" xlink:title="include/tvm/tir/schedule\l/instruction.h">
 <polygon fill="#ffffff" stroke="#ff0000" points="797,-391.5 797,-421.5 931,-421.5 931,-391.5 797,-391.5"/>
 <text text-anchor="start" x="805" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/schedule</text>
@@ -801,15 +801,15 @@
 </a>
 </g>
 </g>
-<!-- Node173&#45;&gt;Node176 -->
+<!-- Node174&#45;&gt;Node177 -->
 <g id="edge42" class="edge">
-<title>Node173&#45;&gt;Node176</title>
+<title>Node174&#45;&gt;Node177</title>
 <path fill="none" stroke="#191970" d="M879.6312,-454.1042C876.2243,-443.7287 872.0924,-431.145 868.9325,-421.5218"/>
 <polygon fill="#191970" stroke="#191970" points="876.4028,-455.4915 882.8479,-463.9005 883.0535,-453.3077 876.4028,-455.4915"/>
 </g>
-<!-- Node181 -->
+<!-- Node182 -->
 <g id="node30" class="node">
-<title>Node181</title>
+<title>Node182</title>
 <g id="a_node30"><a xlink:href="func__registry_8h.html" target="_top" xlink:title="Defines generic string&#45;based function lookup structs. ">
 <polygon fill="#ffffff" stroke="#000000" points="306,-592.5 306,-622.5 422,-622.5 422,-592.5 306,-592.5"/>
 <text text-anchor="start" x="314" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -817,15 +817,15 @@
 </a>
 </g>
 </g>
-<!-- Node180&#45;&gt;Node181 -->
+<!-- Node181&#45;&gt;Node182 -->
 <g id="edge47" class="edge">
-<title>Node180&#45;&gt;Node181</title>
+<title>Node181&#45;&gt;Node182</title>
 <path fill="none" stroke="#191970" d="M332.791,-651.0626C339.5476,-641.6315 347.1444,-631.0276 353.1512,-622.6432"/>
 <polygon fill="#191970" stroke="#191970" points="329.8706,-649.1292 326.8919,-659.2967 335.561,-653.2059 329.8706,-649.1292"/>
 </g>
-<!-- Node182 -->
+<!-- Node183 -->
 <g id="node31" class="node">
-<title>Node182</title>
+<title>Node183</title>
 <g id="a_node31"><a xlink:href="runtime_2crt_2module_8h.html" target="_top" xlink:title="Runtime container of the functions. ">
 <polygon fill="#ffffff" stroke="#000000" points="306,-525.5 306,-555.5 422,-555.5 422,-525.5 306,-525.5"/>
 <text text-anchor="start" x="314" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -833,63 +833,63 @@
 </a>
 </g>
 </g>
-<!-- Node180&#45;&gt;Node182 -->
+<!-- Node181&#45;&gt;Node183 -->
 <g id="edge51" class="edge">
-<title>Node180&#45;&gt;Node182</title>
+<title>Node181&#45;&gt;Node183</title>
 <path fill="none" stroke="#191970" d="M383.6675,-658.9598C402.1414,-651.2833 420.0614,-639.884 431,-623 438.4914,-611.4369 437.0886,-604.3595 431,-592 423.2848,-576.3386 408.265,-564.1093 394.3986,-555.5054"/>
 <polygon fill="#191970" stroke="#191970" points="382.3819,-655.7041 374.2876,-662.5403 384.8783,-662.2439 382.3819,-655.7041"/>
 </g>
-<!-- Node181&#45;&gt;Node182 -->
+<!-- Node182&#45;&gt;Node183 -->
 <g id="edge48" class="edge">
-<title>Node181&#45;&gt;Node182</title>
+<title>Node182&#45;&gt;Node183</title>
 <path fill="none" stroke="#191970" d="M364,-582.0249C364,-573.128 364,-563.4287 364,-555.6432"/>
 <polygon fill="#191970" stroke="#191970" points="360.5001,-582.2966 364,-592.2967 367.5001,-582.2967 360.5001,-582.2966"/>
 </g>
-<!-- Node182&#45;&gt;Node183 -->
+<!-- Node183&#45;&gt;Node184 -->
 <g id="edge49" class="edge">
-<title>Node182&#45;&gt;Node183</title>
+<title>Node183&#45;&gt;Node184</title>
 <path fill="none" stroke="#191970" d="M324.8264,-520.9132C304.2901,-510.645 279.5123,-498.2561 260.4355,-488.7177"/>
 <polygon fill="#191970" stroke="#191970" points="323.4182,-524.1222 333.9278,-525.4639 326.5488,-517.8612 323.4182,-524.1222"/>
 </g>
-<!-- Node183&#45;&gt;Node184 -->
+<!-- Node184&#45;&gt;Node185 -->
 <g id="edge50" class="edge">
-<title>Node183&#45;&gt;Node184</title>
+<title>Node184&#45;&gt;Node185</title>
 <path fill="none" stroke="#191970" d="M230,-448.0249C230,-439.128 230,-429.4287 230,-421.6432"/>
 <polygon fill="#191970" stroke="#191970" points="226.5001,-448.2966 230,-458.2967 233.5001,-448.2967 226.5001,-448.2966"/>
 </g>
-<!-- Node186&#45;&gt;Node183 -->
+<!-- Node187&#45;&gt;Node184 -->
 <g id="edge56" class="edge">
-<title>Node186&#45;&gt;Node183</title>
+<title>Node187&#45;&gt;Node184</title>
 <path fill="none" stroke="#191970" d="M230,-582.3415C230,-554.8131 230,-511.5714 230,-488.7614"/>
 <polygon fill="#191970" stroke="#191970" points="226.5001,-582.3889 230,-592.389 233.5001,-582.389 226.5001,-582.3889"/>
 </g>
-<!-- Node187&#45;&gt;Node160 -->
+<!-- Node188&#45;&gt;Node161 -->
 <g id="edge87" class="edge">
-<title>Node187&#45;&gt;Node160</title>
+<title>Node188&#45;&gt;Node161</title>
 <path fill="none" stroke="#191970" d="M763.9792,-659.7518C721.3691,-649.6038 671.1996,-635.7131 653,-623 541.8143,-545.3327 522.0464,-440.1936 592,-324 653.2727,-222.2255 675.4843,-190.47 780,-134 784.5338,-131.5504 912.7261,-106.2192 985.2193,-92.0198"/>
 <polygon fill="#191970" stroke="#191970" points="763.2449,-663.1745 773.7802,-662.0527 764.8448,-656.3598 763.2449,-663.1745"/>
 </g>
-<!-- Node187&#45;&gt;Node168 -->
+<!-- Node188&#45;&gt;Node169 -->
 <g id="edge88" class="edge">
-<title>Node187&#45;&gt;Node168</title>
+<title>Node188&#45;&gt;Node169</title>
 <path fill="none" stroke="#191970" d="M768.8674,-655.9853C721.0966,-638.4276 658.3707,-607.0032 626,-556 570.7338,-468.9225 549.5906,-398.4146 621,-324 659.2537,-284.1365 814.4968,-305.2005 867,-288 967.9079,-254.9418 1076.2768,-184.7903 1114.0649,-159.1466"/>
 <polygon fill="#191970" stroke="#191970" points="767.9182,-659.3625 778.5129,-659.4185 770.2656,-652.7678 767.9182,-659.3625"/>
 </g>
-<!-- Node187&#45;&gt;Node171 -->
+<!-- Node188&#45;&gt;Node172 -->
 <g id="edge58" class="edge">
-<title>Node187&#45;&gt;Node171</title>
+<title>Node188&#45;&gt;Node172</title>
 <path fill="none" stroke="#191970" d="M876.1981,-655.4628C897.7059,-646.0073 923.8539,-634.2275 947,-623 1004.773,-594.976 1021.4048,-591.364 1075,-556 1093.1925,-543.996 1094.6357,-536.7395 1113,-525 1258.3697,-432.0712 1339.5164,-476.5148 1462,-355 1483.4598,-333.71 1495.5803,-298.8886 1500.4547,-282.1201"/>
 <polygon fill="#191970" stroke="#191970" points="874.7365,-652.2819 866.9795,-659.4986 877.5437,-658.6944 874.7365,-652.2819"/>
 </g>
-<!-- Node187&#45;&gt;Node173 -->
+<!-- Node188&#45;&gt;Node174 -->
 <g id="edge59" class="edge">
-<title>Node187&#45;&gt;Node173</title>
+<title>Node188&#45;&gt;Node174</title>
 <path fill="none" stroke="#191970" d="M791.212,-654.7546C739.2745,-626.9491 660.5059,-574.1464 698,-525 712.9329,-505.4262 771.6214,-491.4662 819.5039,-483.0616"/>
 <polygon fill="#191970" stroke="#191970" points="789.7637,-657.947 800.2461,-659.4865 793.0117,-651.7461 789.7637,-657.947"/>
 </g>
-<!-- Node188 -->
+<!-- Node189 -->
 <g id="node37" class="node">
-<title>Node188</title>
+<title>Node189</title>
 <g id="a_node37"><a xlink:href="structural__equal_8h.html" target="_top" xlink:title="Structural equality comparison. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="706.5,-525.5 706.5,-555.5 857.5,-555.5 857.5,-525.5 706.5,-525.5"/>
 <text text-anchor="start" x="714.5" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/structural</text>
@@ -897,15 +897,15 @@
 </a>
 </g>
 </g>
-<!-- Node187&#45;&gt;Node188 -->
+<!-- Node188&#45;&gt;Node189 -->
 <g id="edge60" class="edge">
-<title>Node187&#45;&gt;Node188</title>
+<title>Node188&#45;&gt;Node189</title>
 <path fill="none" stroke="#191970" d="M805.1398,-652.0203C797.1809,-643.7847 789.4184,-633.809 785,-623 775.9977,-600.9772 777.4088,-572.8263 779.5137,-555.7547"/>
 <polygon fill="#191970" stroke="#191970" points="802.7965,-654.6234 812.4138,-659.0684 807.6676,-649.5961 802.7965,-654.6234"/>
 </g>
-<!-- Node189 -->
+<!-- Node190 -->
 <g id="node38" class="node">
-<title>Node189</title>
+<title>Node190</title>
 <g id="a_node38"><a xlink:href="structural__hash_8h.html" target="_top" xlink:title="include/tvm/node/structural\l_hash.h">
 <polygon fill="#ffffff" stroke="#ff0000" points="914.5,-525.5 914.5,-555.5 1065.5,-555.5 1065.5,-525.5 914.5,-525.5"/>
 <text text-anchor="start" x="922.5" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/structural</text>
@@ -913,27 +913,27 @@
 </a>
 </g>
 </g>
-<!-- Node187&#45;&gt;Node189 -->
+<!-- Node188&#45;&gt;Node190 -->
 <g id="edge63" class="edge">
-<title>Node187&#45;&gt;Node189</title>
+<title>Node188&#45;&gt;Node190</title>
 <path fill="none" stroke="#191970" d="M871.8432,-654.5227C887.317,-645.8646 904.7159,-634.9663 919,-623 943.4804,-602.4919 966.5813,-573.1069 979.4553,-555.5028"/>
 <polygon fill="#191970" stroke="#191970" points="870.0942,-651.4899 862.9931,-659.3528 873.4476,-657.6344 870.0942,-651.4899"/>
 </g>
-<!-- Node187&#45;&gt;Node190 -->
+<!-- Node188&#45;&gt;Node191 -->
 <g id="edge66" class="edge">
-<title>Node187&#45;&gt;Node190</title>
+<title>Node188&#45;&gt;Node191</title>
 <path fill="none" stroke="#191970" d="M900.0238,-658.7878C967.314,-643.7986 1033.83,-629.5453 1079.9926,-619.7434"/>
 <polygon fill="#191970" stroke="#191970" points="899.09,-655.41 890.0924,-661.0042 900.6147,-662.2419 899.09,-655.41"/>
 </g>
-<!-- Node187&#45;&gt;Node195 -->
+<!-- Node188&#45;&gt;Node196 -->
 <g id="edge85" class="edge">
-<title>Node187&#45;&gt;Node195</title>
+<title>Node188&#45;&gt;Node196</title>
 <path fill="none" stroke="#191970" d="M899.9707,-658.9722C1035.764,-636.502 1075.4264,-656.0754 1205,-623 1240.7454,-613.8755 1246.2425,-601.077 1282,-592 1318.9456,-582.6214 1558.9495,-557.7077 1671.6802,-546.3229"/>
 <polygon fill="#191970" stroke="#191970" points="899.2963,-655.5366 890.0249,-660.6641 900.4703,-662.4375 899.2963,-655.5366"/>
 </g>
-<!-- Node203 -->
+<!-- Node204 -->
 <g id="node47" class="node">
-<title>Node203</title>
+<title>Node204</title>
 <g id="a_node47"><a xlink:href="bytecode_8h.html" target="_top" xlink:title="The bytecode for Relay virtual machine. ">
 <polygon fill="#ffffff" stroke="#ff0000" points="794,-592.5 794,-622.5 910,-622.5 910,-592.5 794,-592.5"/>
 <text text-anchor="start" x="802" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -941,135 +941,135 @@
 </a>
 </g>
 </g>
-<!-- Node187&#45;&gt;Node203 -->
+<!-- Node188&#45;&gt;Node204 -->
 <g id="edge86" class="edge">
-<title>Node187&#45;&gt;Node203</title>
+<title>Node188&#45;&gt;Node204</title>
 <path fill="none" stroke="#191970" d="M839.4298,-649.6103C842.1328,-640.5553 845.1045,-630.5998 847.4797,-622.6432"/>
 <polygon fill="#191970" stroke="#191970" points="836.045,-648.7133 836.5383,-659.2967 842.7525,-650.7156 836.045,-648.7133"/>
 </g>
-<!-- Node188&#45;&gt;Node13 -->
+<!-- Node189&#45;&gt;Node13 -->
 <g id="edge61" class="edge">
-<title>Node188&#45;&gt;Node13</title>
+<title>Node189&#45;&gt;Node13</title>
 <path fill="none" stroke="#191970" d="M856.0206,-522.9975C892.2032,-513.8733 936.2058,-501.9286 975,-489 1043.425,-466.1966 1121.9087,-432.3929 1158.7752,-416.0436"/>
 <polygon fill="#191970" stroke="#191970" points="854.8857,-519.6735 846.0334,-525.4947 856.5838,-526.4644 854.8857,-519.6735"/>
 </g>
-<!-- Node188&#45;&gt;Node173 -->
+<!-- Node189&#45;&gt;Node174 -->
 <g id="edge62" class="edge">
-<title>Node188&#45;&gt;Node173</title>
+<title>Node189&#45;&gt;Node174</title>
 <path fill="none" stroke="#191970" d="M813.7519,-520.0445C832.8201,-507.7601 856.1932,-492.7025 871.0924,-483.1039"/>
 <polygon fill="#191970" stroke="#191970" points="811.8506,-517.1058 805.3396,-525.4639 815.6417,-522.9904 811.8506,-517.1058"/>
 </g>
-<!-- Node189&#45;&gt;Node13 -->
+<!-- Node190&#45;&gt;Node13 -->
 <g id="edge64" class="edge">
-<title>Node189&#45;&gt;Node13</title>
+<title>Node190&#45;&gt;Node13</title>
 <path fill="none" stroke="#191970" d="M1019.8239,-519.4663C1061.6186,-489.99 1135.908,-437.5965 1166.3822,-416.1042"/>
 <polygon fill="#191970" stroke="#191970" points="1017.5809,-516.7653 1011.4261,-525.389 1021.6154,-522.4857 1017.5809,-516.7653"/>
 </g>
-<!-- Node189&#45;&gt;Node173 -->
+<!-- Node190&#45;&gt;Node174 -->
 <g id="edge65" class="edge">
-<title>Node189&#45;&gt;Node173</title>
+<title>Node190&#45;&gt;Node174</title>
 <path fill="none" stroke="#191970" d="M958.2481,-520.0445C939.1799,-507.7601 915.8068,-492.7025 900.9076,-483.1039"/>
 <polygon fill="#191970" stroke="#191970" points="956.3583,-522.9904 966.6604,-525.4639 960.1494,-517.1058 956.3583,-522.9904"/>
 </g>
-<!-- Node190&#45;&gt;Node8 -->
+<!-- Node191&#45;&gt;Node8 -->
 <g id="edge67" class="edge">
-<title>Node190&#45;&gt;Node8</title>
+<title>Node191&#45;&gt;Node8</title>
 <path fill="none" stroke="#191970" d="M1069.6762,-602.88C953.813,-594.5494 728.3468,-576.0074 698,-556 610.1224,-498.0631 602,-444.7576 602,-339.5 602,-339.5 602,-339.5 602,-211 602,-169.8905 605.6162,-121.4926 607.6503,-97.5206"/>
 <polygon fill="#191970" stroke="#191970" points="1069.6353,-606.3858 1079.859,-603.6061 1070.1333,-599.4036 1069.6353,-606.3858"/>
 </g>
-<!-- Node190&#45;&gt;Node173 -->
+<!-- Node191&#45;&gt;Node174 -->
 <g id="edge68" class="edge">
-<title>Node190&#45;&gt;Node173</title>
+<title>Node191&#45;&gt;Node174</title>
 <path fill="none" stroke="#191970" d="M1195.3379,-588.709C1232.2037,-573.6327 1269.3651,-550.7821 1247,-525 1228.8247,-504.0478 1066.3562,-487.6473 965.6697,-479.3856"/>
 <polygon fill="#191970" stroke="#191970" points="1194.0375,-585.4594 1186.008,-592.3716 1196.5954,-591.9753 1194.0375,-585.4594"/>
 </g>
-<!-- Node190&#45;&gt;Node189 -->
+<!-- Node191&#45;&gt;Node190 -->
 <g id="edge69" class="edge">
-<title>Node190&#45;&gt;Node189</title>
+<title>Node191&#45;&gt;Node190</title>
 <path fill="none" stroke="#191970" d="M1095.6173,-588.3132C1072.6739,-577.9267 1044.7366,-565.2794 1023.359,-555.6017"/>
 <polygon fill="#191970" stroke="#191970" points="1094.2325,-591.5282 1104.7859,-592.4639 1097.1194,-585.1512 1094.2325,-591.5282"/>
 </g>
-<!-- Node190&#45;&gt;Node192 -->
+<!-- Node191&#45;&gt;Node193 -->
 <g id="edge70" class="edge">
-<title>Node190&#45;&gt;Node192</title>
+<title>Node191&#45;&gt;Node193</title>
 <path fill="none" stroke="#191970" d="M1206.326,-596.0839C1361.2751,-570.1947 1737.0906,-507.4026 1881.831,-483.219"/>
 <polygon fill="#191970" stroke="#191970" points="1205.2869,-592.7089 1196.0005,-597.8091 1206.4406,-599.6132 1205.2869,-592.7089"/>
 </g>
-<!-- Node190&#45;&gt;Node195 -->
+<!-- Node191&#45;&gt;Node196 -->
 <g id="edge74" class="edge">
-<title>Node190&#45;&gt;Node195</title>
+<title>Node191&#45;&gt;Node196</title>
 <path fill="none" stroke="#191970" d="M1206.1297,-597.5368C1219.9749,-595.6143 1234.4467,-593.6785 1248,-592 1400.6307,-573.0979 1580.9755,-554.9382 1671.6846,-546.0936"/>
 <polygon fill="#191970" stroke="#191970" points="1205.5989,-594.0769 1196.1811,-598.9304 1206.57,-601.0092 1205.5989,-594.0769"/>
 </g>
-<!-- Node190&#45;&gt;Node201 -->
+<!-- Node191&#45;&gt;Node202 -->
 <g id="edge82" class="edge">
-<title>Node190&#45;&gt;Node201</title>
+<title>Node191&#45;&gt;Node202</title>
 <path fill="none" stroke="#191970" d="M1146.5514,-583.4837C1151.8767,-574.1996 1158.6104,-563.8565 1164.7537,-555.6432"/>
 <polygon fill="#191970" stroke="#191970" points="1143.4624,-581.8379 1141.7696,-592.2967 1149.6151,-585.1763 1143.4624,-581.8379"/>
 </g>
-<!-- Node190&#45;&gt;Node202 -->
+<!-- Node191&#45;&gt;Node203 -->
 <g id="edge84" class="edge">
-<title>Node190&#45;&gt;Node202</title>
+<title>Node191&#45;&gt;Node203</title>
 <path fill="none" stroke="#191970" d="M1206.1631,-599.6341C1230.1199,-597.0098 1257.2358,-594.1976 1282,-592 1510.5493,-571.7186 1568.7291,-579.2059 1797,-556 1812.3624,-554.4383 1828.827,-552.4377 1844.3854,-550.3966"/>
 <polygon fill="#191970" stroke="#191970" points="1205.6607,-596.1682 1196.1054,-600.7449 1206.4292,-603.1259 1205.6607,-596.1682"/>
 </g>
-<!-- Node192&#45;&gt;Node28 -->
+<!-- Node193&#45;&gt;Node28 -->
 <g id="edge73" class="edge">
-<title>Node192&#45;&gt;Node28</title>
+<title>Node193&#45;&gt;Node28</title>
 <path fill="none" stroke="#191970" d="M1904.2561,-452.8841C1891.2907,-444.3586 1877.1136,-433.7196 1866,-422 1786.4807,-338.1445 1815.8032,-277.2907 1729,-201 1668.9131,-148.1901 1581.3757,-114.9779 1524.5538,-97.5743"/>
 <polygon fill="#191970" stroke="#191970" points="1902.6696,-456.023 1912.986,-458.436 1906.4261,-450.1162 1902.6696,-456.023"/>
 </g>
-<!-- Node192&#45;&gt;Node29 -->
+<!-- Node193&#45;&gt;Node29 -->
 <g id="edge72" class="edge">
-<title>Node192&#45;&gt;Node29</title>
+<title>Node193&#45;&gt;Node29</title>
 <path fill="none" stroke="#191970" d="M1922.2251,-450.0754C1904.5338,-424.3808 1880,-381.2261 1880,-339.5 1880,-339.5 1880,-339.5 1880,-149.5 1880,-105.2584 1861.9189,-55.3895 1851.7484,-30.8378"/>
 <polygon fill="#191970" stroke="#191970" points="1919.4994,-452.282 1928.1459,-458.4048 1925.2048,-448.2263 1919.4994,-452.282"/>
 </g>
-<!-- Node192&#45;&gt;Node193 -->
+<!-- Node193&#45;&gt;Node194 -->
 <g id="edge71" class="edge">
-<title>Node192&#45;&gt;Node193</title>
+<title>Node193&#45;&gt;Node194</title>
 <path fill="none" stroke="#191970" d="M1883.9677,-455.2759C1851.5015,-444.7165 1811.1131,-431.5805 1780.4321,-421.6017"/>
 <polygon fill="#191970" stroke="#191970" points="1883.1774,-458.6993 1893.7696,-458.4639 1885.3425,-452.0425 1883.1774,-458.6993"/>
 </g>
-<!-- Node195&#45;&gt;Node6 -->
+<!-- Node196&#45;&gt;Node6 -->
 <g id="edge75" class="edge">
-<title>Node195&#45;&gt;Node6</title>
+<title>Node196&#45;&gt;Node6</title>
 <path fill="none" stroke="#191970" d="M1661.8294,-538.2543C1543.0951,-532.0758 1292.8881,-508.9027 1103,-422 1082.8662,-412.7857 1084.372,-399.6749 1064,-391 953.4266,-343.9153 914.7946,-373.2019 796,-355 791.4551,-354.3036 786.7849,-353.5661 782.0763,-352.8057"/>
 <polygon fill="#191970" stroke="#191970" points="1661.7103,-541.7526 1671.8714,-538.7524 1662.0571,-534.7612 1661.7103,-541.7526"/>
 </g>
-<!-- Node195&#45;&gt;Node173 -->
+<!-- Node196&#45;&gt;Node174 -->
 <g id="edge76" class="edge">
-<title>Node195&#45;&gt;Node173</title>
+<title>Node196&#45;&gt;Node174</title>
 <path fill="none" stroke="#191970" d="M1661.486,-535.3149C1541.439,-526.1957 1285.2655,-506.5835 1069,-489 1035.1546,-486.2482 997.798,-483.1034 965.7092,-480.3689"/>
 <polygon fill="#191970" stroke="#191970" points="1661.395,-538.818 1671.6313,-536.0852 1661.9251,-531.8381 1661.395,-538.818"/>
 </g>
-<!-- Node195&#45;&gt;Node192 -->
+<!-- Node196&#45;&gt;Node193 -->
 <g id="edge77" class="edge">
-<title>Node195&#45;&gt;Node192</title>
+<title>Node196&#45;&gt;Node193</title>
 <path fill="none" stroke="#191970" d="M1786.6928,-522.4123C1819.8618,-511.8298 1861.2547,-498.6235 1892.6664,-488.6017"/>
 <polygon fill="#191970" stroke="#191970" points="1785.5911,-519.0899 1777.1281,-525.4639 1787.7188,-525.7587 1785.5911,-519.0899"/>
 </g>
-<!-- Node195&#45;&gt;Node193 -->
+<!-- Node196&#45;&gt;Node194 -->
 <g id="edge81" class="edge">
-<title>Node195&#45;&gt;Node193</title>
+<title>Node196&#45;&gt;Node194</title>
 <path fill="none" stroke="#191970" d="M1730.751,-515.3415C1731.5727,-487.8131 1732.8635,-444.5714 1733.5444,-421.7614"/>
 <polygon fill="#191970" stroke="#191970" points="1727.2511,-515.289 1730.4511,-525.389 1734.248,-515.4979 1727.2511,-515.289"/>
 </g>
-<!-- Node195&#45;&gt;Node196 -->
+<!-- Node196&#45;&gt;Node197 -->
 <g id="edge78" class="edge">
-<title>Node195&#45;&gt;Node196</title>
+<title>Node196&#45;&gt;Node197</title>
 <path fill="none" stroke="#191970" d="M1797.9729,-527.0084C1852.1934,-516.9076 1929.9184,-502.5545 1998,-489 2005.6241,-487.4821 2013.6843,-485.8243 2021.6735,-484.1755"/>
 <polygon fill="#191970" stroke="#191970" points="1797.3189,-523.57 1788.13,-528.8438 1798.6021,-530.4514 1797.3189,-523.57"/>
 </g>
-<!-- Node196&#45;&gt;Node195 -->
+<!-- Node197&#45;&gt;Node196 -->
 <g id="edge80" class="edge">
-<title>Node196&#45;&gt;Node195</title>
+<title>Node197&#45;&gt;Node196</title>
 <path fill="none" stroke="#191970" d="M2011.8744,-489.8058C1930.3552,-505.9344 1843.7837,-521.7337 1788.0273,-531.3499"/>
 <polygon fill="#191970" stroke="#191970" points="2012.6613,-493.218 2021.7883,-487.8377 2011.2981,-486.352 2012.6613,-493.218"/>
 </g>
-<!-- Node197 -->
+<!-- Node198 -->
 <g id="node44" class="node">
-<title>Node197</title>
+<title>Node198</title>
 <g id="a_node44"><a xlink:href="libtorch__runtime_8h.html" target="_top" xlink:title="include/tvm/runtime\l/contrib/libtorch_runtime.h">
 <polygon fill="#ffffff" stroke="#000000" points="2007,-391.5 2007,-421.5 2153,-421.5 2153,-391.5 2007,-391.5"/>
 <text text-anchor="start" x="2015" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
@@ -1077,87 +1077,87 @@
 </a>
 </g>
 </g>
-<!-- Node196&#45;&gt;Node197 -->
+<!-- Node197&#45;&gt;Node198 -->
 <g id="edge79" class="edge">
-<title>Node196&#45;&gt;Node197</title>
+<title>Node197&#45;&gt;Node198</title>
 <path fill="none" stroke="#191970" d="M2080,-448.0249C2080,-439.128 2080,-429.4287 2080,-421.6432"/>
 <polygon fill="#191970" stroke="#191970" points="2076.5001,-448.2966 2080,-458.2967 2083.5001,-448.2967 2076.5001,-448.2966"/>
 </g>
-<!-- Node201&#45;&gt;Node190 -->
+<!-- Node202&#45;&gt;Node191 -->
 <g id="edge83" class="edge">
-<title>Node201&#45;&gt;Node190</title>
+<title>Node202&#45;&gt;Node191</title>
 <path fill="none" stroke="#191970" d="M1171.4876,-564.4483C1166.1692,-573.7272 1159.4374,-584.0729 1153.2913,-592.2967"/>
 <polygon fill="#191970" stroke="#191970" points="1174.572,-566.1026 1176.2608,-555.6432 1168.4181,-562.7665 1174.572,-566.1026"/>
 </g>
-<!-- Node205&#45;&gt;Node13 -->
+<!-- Node206&#45;&gt;Node13 -->
 <g id="edge98" class="edge">
-<title>Node205&#45;&gt;Node13</title>
+<title>Node206&#45;&gt;Node13</title>
 <path fill="none" stroke="#191970" d="M1544.609,-652.3186C1492.4738,-603.205 1367.4471,-487.3064 1318,-458 1285.5518,-438.7685 1244.6827,-424.6017 1215.8684,-416.0476"/>
 <polygon fill="#191970" stroke="#191970" points="1542.3669,-655.0152 1552.0417,-659.3336 1547.1715,-649.9244 1542.3669,-655.0152"/>
 </g>
-<!-- Node205&#45;&gt;Node16 -->
+<!-- Node206&#45;&gt;Node16 -->
 <g id="edge94" class="edge">
-<title>Node205&#45;&gt;Node16</title>
+<title>Node206&#45;&gt;Node16</title>
 <path fill="none" stroke="#191970" d="M1583.5132,-650.6038C1588.5897,-642.116 1593.9573,-632.3455 1598,-623 1640.7102,-524.2671 1611.9467,-483.4202 1667,-391 1678.58,-371.5602 1694.3409,-375.905 1703,-355 1708.2725,-342.271 1709.2528,-336.2772 1703,-324 1657.2927,-234.2551 1541.4294,-179.814 1489.2187,-159.0945"/>
 <polygon fill="#191970" stroke="#191970" points="1580.4639,-648.8806 1578.1954,-659.2298 1586.4226,-652.5541 1580.4639,-648.8806"/>
 </g>
-<!-- Node205&#45;&gt;Node134 -->
+<!-- Node206&#45;&gt;Node135 -->
 <g id="edge95" class="edge">
-<title>Node205&#45;&gt;Node134</title>
+<title>Node206&#45;&gt;Node135</title>
 <path fill="none" stroke="#191970" d="M1556.6309,-649.9769C1545.4352,-623.5463 1530,-579.9532 1530,-540.5 1530,-540.5 1530,-540.5 1530,-406.5 1530,-354.2911 1388.8858,-252.32 1343.1339,-220.6311"/>
 <polygon fill="#191970" stroke="#191970" points="1553.4601,-651.4617 1560.6732,-659.222 1559.8738,-648.6573 1553.4601,-651.4617"/>
 </g>
-<!-- Node205&#45;&gt;Node170 -->
+<!-- Node206&#45;&gt;Node171 -->
 <g id="edge96" class="edge">
-<title>Node205&#45;&gt;Node170</title>
+<title>Node206&#45;&gt;Node171</title>
 <path fill="none" stroke="#191970" d="M1568,-649.1092C1568,-622.1594 1568,-578.3265 1568,-540.5 1568,-540.5 1568,-540.5 1568,-473.5 1568,-424.087 1598.2132,-370.5245 1611.6675,-349.1221"/>
 <polygon fill="#191970" stroke="#191970" points="1564.5001,-649.227 1568,-659.2271 1571.5001,-649.2271 1564.5001,-649.227"/>
 </g>
-<!-- Node205&#45;&gt;Node171 -->
+<!-- Node206&#45;&gt;Node172 -->
 <g id="edge97" class="edge">
-<title>Node205&#45;&gt;Node171</title>
+<title>Node206&#45;&gt;Node172</title>
 <path fill="none" stroke="#191970" d="M1575.1103,-649.3193C1577.3981,-640.9662 1579.8861,-631.6042 1582,-623 1607.1881,-520.4757 1573.4247,-478.1577 1633,-391 1649.277,-367.187 1673.3895,-380.4314 1687,-355 1693.5012,-342.8525 1695.3265,-334.9771 1687,-324 1671.8141,-303.9801 1610.161,-289.6191 1562.3574,-281.2306"/>
 <polygon fill="#191970" stroke="#191970" points="1571.6623,-648.6557 1572.3628,-659.2274 1578.4078,-650.5263 1571.6623,-648.6557"/>
 </g>
-<!-- Node205&#45;&gt;Node173 -->
+<!-- Node206&#45;&gt;Node174 -->
 <g id="edge99" class="edge">
-<title>Node205&#45;&gt;Node173</title>
+<title>Node206&#45;&gt;Node174</title>
 <path fill="none" stroke="#191970" d="M1499.668,-669.8148C1383.0389,-661.418 1150.4544,-642.8221 1071,-623 994.2052,-603.8414 957.679,-615.9481 906,-556 887.8128,-534.9027 885.579,-499.9895 885.6554,-483.1597"/>
 <polygon fill="#191970" stroke="#191970" points="1499.6794,-673.3245 1509.9037,-670.547 1500.1789,-666.3423 1499.6794,-673.3245"/>
 </g>
-<!-- Node205&#45;&gt;Node178 -->
+<!-- Node206&#45;&gt;Node179 -->
 <g id="edge100" class="edge">
-<title>Node205&#45;&gt;Node178</title>
+<title>Node206&#45;&gt;Node179</title>
 <path fill="none" stroke="#191970" d="M1515.2621,-656.0003C1479.2102,-643.3538 1432.9119,-627.1131 1404.0972,-617.0053"/>
 <polygon fill="#191970" stroke="#191970" points="1514.541,-659.4564 1525.1359,-659.4639 1516.8582,-652.851 1514.541,-659.4564"/>
 </g>
-<!-- Node205&#45;&gt;Node190 -->
+<!-- Node206&#45;&gt;Node191 -->
 <g id="edge102" class="edge">
-<title>Node205&#45;&gt;Node190</title>
+<title>Node206&#45;&gt;Node191</title>
 <path fill="none" stroke="#191970" d="M1499.6298,-663.847C1415.8224,-650.7886 1275.2409,-628.8841 1196.3115,-616.5857"/>
 <polygon fill="#191970" stroke="#191970" points="1499.1411,-667.313 1509.5608,-665.3944 1500.2189,-660.3964 1499.1411,-667.313"/>
 </g>
-<!-- Node205&#45;&gt;Node193 -->
+<!-- Node206&#45;&gt;Node194 -->
 <g id="edge104" class="edge">
-<title>Node205&#45;&gt;Node193</title>
+<title>Node206&#45;&gt;Node194</title>
 <path fill="none" stroke="#191970" d="M1635.8453,-660.6274C1690.6898,-645.3528 1764.0094,-614.7227 1797,-556 1823.2111,-509.3446 1775.8121,-449.5924 1749.6297,-421.8837"/>
 <polygon fill="#191970" stroke="#191970" points="1634.9336,-657.2481 1626.179,-663.2154 1636.744,-664.01 1634.9336,-657.2481"/>
 </g>
-<!-- Node205&#45;&gt;Node195 -->
+<!-- Node206&#45;&gt;Node196 -->
 <g id="edge103" class="edge">
-<title>Node205&#45;&gt;Node195</title>
+<title>Node206&#45;&gt;Node196</title>
 <path fill="none" stroke="#191970" d="M1609.2111,-654.6743C1625.2176,-646.0372 1643.2175,-635.1138 1658,-623 1682.8497,-602.6364 1706.2681,-573.2051 1719.3153,-555.5529"/>
 <polygon fill="#191970" stroke="#191970" points="1607.2791,-651.7357 1600.0565,-659.4872 1610.5365,-657.9317 1607.2791,-651.7357"/>
 </g>
-<!-- Node205&#45;&gt;Node196 -->
+<!-- Node206&#45;&gt;Node197 -->
 <g id="edge101" class="edge">
-<title>Node205&#45;&gt;Node196</title>
+<title>Node206&#45;&gt;Node197</title>
 <path fill="none" stroke="#191970" d="M1636.3436,-668.7332C1697.326,-662.1602 1788.401,-648.798 1864,-623 1924.3978,-602.3894 1938.9301,-592.8974 1991,-556 2019.8798,-535.5354 2049.1839,-506.4008 2065.918,-488.789"/>
 <polygon fill="#191970" stroke="#191970" points="1635.6528,-665.2863 1626.0709,-669.8069 1636.3806,-672.2483 1635.6528,-665.2863"/>
 </g>
-<!-- Node205&#45;&gt;Node202 -->
+<!-- Node206&#45;&gt;Node203 -->
 <g id="edge105" class="edge">
-<title>Node205&#45;&gt;Node202</title>
+<title>Node206&#45;&gt;Node203</title>
 <path fill="none" stroke="#191970" d="M1636.1571,-665.6749C1702.2103,-656.3112 1797.0946,-640.4768 1830,-623 1861.042,-606.5129 1888.0332,-574.633 1902.2723,-555.694"/>
 <polygon fill="#191970" stroke="#191970" points="1635.6431,-662.2127 1626.2248,-667.0652 1636.6135,-669.1451 1635.6431,-662.2127"/>
 </g>
diff --git a/docs/reference/api/doxygen/classes.html b/docs/reference/api/doxygen/classes.html
index d988c5e0f..94f199385 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -65,227 +65,227 @@ $(function() {
 <div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|& [...]
 <table class="classindex">
 <tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;a&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DWinogradAttrs.html">Conv3DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html">IterAdapter</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1PostprocNode.html">PostprocNode</a> (<a [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvGemmWeightTransformAttrs.html">ConvGemmWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html">MapNode::iterator</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1PragmaS [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzer.html">AccessAnalyzer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvWinogradWeightTransformAttrs.html">ConvWinogradWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1run [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html">AccessAnalyzerNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CorrelationAttrs.html">CorrelationAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1Iterator [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool1DAttrs.html">AdaptivePool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1support_1_1Span_1_1iterator__base.html">Sp [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool2DAttrs.html">AdaptivePool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1IteratorNode.html">I [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool3DAttrs.html">AdaptivePool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Add.html">Add</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a class="el" href="namesp [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AddNode.html">AddNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">CountNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html">IterMapExprNode</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADT.html">ADT</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CropAndResizeAttrs.html">CropAndResizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMark.html">IterMark</a> (<a class="el" href="namespacetvm_1_1ar [...]
+</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DWinogradAttrs.html">Conv3DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html">IterAdapter</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1PragmaStepNode.html">PragmaStepNode</a [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvGemmWeightTransformAttrs.html">ConvGemmWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html">MapNode::iterator</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Prefetch.html">Pref [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzer.html">AccessAnalyzer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConvWinogradWeightTransformAttrs.html">ConvWinogradWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1run [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html">AccessAnalyzerNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CorrelationAttrs.html">CorrelationAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1Iterator [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool1DAttrs.html">AdaptivePool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1support_1_1Span_1_1iterator__base.html">Sp [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool2DAttrs.html">AdaptivePool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModel.html">CostModel</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1IteratorNode.html">I [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AdaptivePool3DAttrs.html">AdaptivePool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Add.html">Add</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CostModelNode.html">CostModelNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AddNode.html">AddNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html">CountNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html">IterMapExprNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADT.html">ADT</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CropAndResizeAttrs.html">CropAndResizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMark.html">IterMark</a> (<a class="el" href="namespacetvm_1_1ar [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ADTObj.html">ADTObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html">IterMarkNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1PrimFunc.html">PrimFunc</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1State.html">State</a> (<a class="el" href="namespacetvm_1_1auto__schedu [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AffineGridAttrs.html">AffineGridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html">IterSplitExpr</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1PrimFuncNode.html">PrimFuncNode</a> (<a class="el" href="name [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AffineType.html">AffineType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Database.html">Database</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html">IterSplitExprNode</a> (<a class="el" href="namespacetvm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AffineTypeNode.html">AffineTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1DatabaseNode.html">DatabaseNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html">IterSumExpr</a> (<a class="el" href="namespac [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllClassNonMaximumSuppressionAttrs.html">AllClassNonMaximumSuppressionAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducer.html">DataProducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html">IterSum [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Allocate.html">Allocate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducerNode.html">DataProducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVar.html">IterVar</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateConst.html">AllocateConst</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DataType.html">DataType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttr.html">IterVarAttr</a> (<a class="el" href="namespacetvm_1_1te.htm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateConstNode.html">AllocateConstNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePattern.html">DataTypePattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttrNode.html">IterVarAttrNode</a> (<a class="el" href [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfo.html">AllocatedPoolInfo</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePatternNode.html">DataTypePatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVarNode.html">IterVarNode< [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html">AllocatedPoolInfoNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DebugAttrs.html">DebugAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelation.html">IterVarRelation</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateNode.html">AllocateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeformableConv2DAttrs.html">DeformableConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelationNode.html">IterVarRelationNode</a> (<a clas [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html">IterMarkNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PrimType.html">PrimType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1Step.html">Step</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_s [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AffineGridAttrs.html">AffineGridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html">IterSplitExpr</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PrimTypeNode.html">PrimTypeNode</a> (<a class="el" href="namespacetv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AffineType.html">AffineType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Database.html">Database</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html">IterSplitExprNode</a> (<a class="el" href="namespacetvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AffineTypeNode.html">AffineTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1DatabaseNode.html">DatabaseNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html">IterSumExpr</a> (<a class="el" href="namespac [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllClassNonMaximumSuppressionAttrs.html">AllClassNonMaximumSuppressionAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducer.html">DataProducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html">IterSum [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Allocate.html">Allocate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataProducerNode.html">DataProducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVar.html">IterVar</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateConst.html">AllocateConst</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DataType.html">DataType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttr.html">IterVarAttr</a> (<a class="el" href="namespacetvm_1_1te.htm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateConstNode.html">AllocateConstNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePattern.html">DataTypePattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarAttrNode.html">IterVarAttrNode</a> (<a class="el" href [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfo.html">AllocatedPoolInfo</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DataTypePatternNode.html">DataTypePatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IterVarNode.html">IterVarNode< [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html">AllocatedPoolInfoNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DebugAttrs.html">DebugAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelation.html">IterVarRelation</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AllocateNode.html">AllocateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeformableConv2DAttrs.html">DeformableConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1IterVarRelationNode.html">IterVarRelationNode</a> (<a clas [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Allocator.html">Allocator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DenseAttrs.html">DenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td> [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ProgramBuilder.html">ProgramBuilder</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1StmtSRef.html">StmtSRef</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocStorageAttrs.html">AllocStorageAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DenseMapNode.html">DenseMapNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ProgramBuilderNode.html">ProgramBuilderNo [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocTensorAttrs.html">AllocTensorAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DensePackAttrs.html">DensePackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html">L2NormalizeAttrs</a> (<a class [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPattern.html">AltPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Dependency.html">Dependency</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html">LayerNormAttrs</a> (<a class="el" href="namespacetvm_1_1rela [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPatternNode.html">AltPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DependencyNode.html">DependencyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Layout.html">Layout</a> (<a class="el" href="namespacetvm_1_1tir.htm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1DequantizeAttrs.html">DequantizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutAxis.html">LayoutAxis</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1And.html">And</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html">DeviceAPI</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutNode.html">LayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&# [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AndNode.html">AndNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html">DeviceCopyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html">LayoutTransformAttrs</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStep.html">AnnotationStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStepNode.html">AnnotationStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html">DeviceWrapperNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el"  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Any.html">Any</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPattern.html">DFPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1LENode.html">LENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AnyNode.html">AnyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallback.html">DFPatternCallback</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::re [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">ApplyHistoryBest</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html">DFPatternCallbackNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Let.html">Let</a>  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html">ApplyHistoryBestNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html">DFPatternFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetNode.html">LetN [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArangeAttrs.html">ArangeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html">DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a cla [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ArgInfo.html">ArgInfo</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html">DFPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPattern.html">LetPattern</a> (<a class="el" hre [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html">ArgInfoNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html">DFPatternVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPatternNode.html">LetPatternNode< [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgReduceAttrs.html">ArgReduceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Diagnostic.html">Diagnostic</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmt.html">LetStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&# [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgsortAttrs.html">ArgsortAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticBuilder.html">DiagnosticBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContext.html">DiagnosticContext</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1support_1_1LinearCongruentialEngine.html">LinearCongruentialEngine</a> (<a class="el" href="namespac [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ProgramMeasurer.html">ProgramMeasurer</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1StmtVisitor.html">StmtVisitor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocStorageAttrs.html">AllocStorageAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DenseMapNode.html">DenseMapNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ProgramMeasurerNode.html">ProgramMeasurer [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AllocTensorAttrs.html">AllocTensorAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DensePackAttrs.html">DensePackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1L2NormalizeAttrs.html">L2NormalizeAttrs</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPattern.html">AltPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Dependency.html">Dependency</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayerNormAttrs.html">LayerNormAttrs</a> (<a class="el" href="namespacetvm_1_1rela [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AltPatternNode.html">AltPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DependencyNode.html">DependencyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Layout.html">Layout</a> (<a class="el" href="namespacetvm_1_1tir.htm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1DequantizeAttrs.html">DequantizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutAxis.html">LayoutAxis</a> (<a class="el" href= [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1And.html">And</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html">DeviceAPI</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutNode.html">LayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&# [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AndNode.html">AndNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DeviceCopyAttrs.html">DeviceCopyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LayoutTransformAttrs.html">LayoutTransformAttrs</a> (<a class="el" href="nam [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStep.html">AnnotationStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DeviceWrapper.html">DeviceWrapper</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AnnotationStepNode.html">AnnotationStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html">DeviceWrapperNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el"  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Any.html">Any</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPattern.html">DFPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1LENode.html">LENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AnyNode.html">AnyNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallback.html">DFPatternCallback</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::re [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">ApplyHistoryBest</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html">DFPatternCallbackNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Let.html">Let</a>  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html">ApplyHistoryBestNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor.html">DFPatternFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetNode.html">LetN [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArangeAttrs.html">ArangeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html">DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a cla [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ArgInfo.html">ArgInfo</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternNode.html">DFPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPattern.html">LetPattern</a> (<a class="el" hre [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html">ArgInfoNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DFPatternVisitor.html">DFPatternVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPatternNode.html">LetPatternNode< [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgReduceAttrs.html">ArgReduceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Diagnostic.html">Diagnostic</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmt.html">LetStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&# [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html">ArrayAccessor</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContextNode.html">DiagnosticContextNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1LinkedParam.html">LinkedParam</a> (<a clas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html">ArrayAccessor&lt; const char *, ::tvm::runtime::String &gt;</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticNode.html">DiagnosticNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html">SimpleObjAllocator::ArrayHandler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRenderer.html">DiagnosticRenderer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Load.html">Load</a> (<a class="el"  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html">ArrayIterator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRendererNode.html">DiagnosticRendererNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoadNode.html">LoadNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ArgsortAttrs.html">ArgsortAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticBuilder.html">DiagnosticBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContext.html">DiagnosticContext</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1support_1_1LinearCongruentialEngine.html">LinearCongruentialEngine</a> (<a class="el" href="namespac [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html">ArrayAccessor</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticContextNode.html">DiagnosticContextNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1LinkedParam.html">LinkedParam</a> (<a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor_3_01const_01char_01_5_00_01_1_1tvm_1_1runtime_1_1String_01_4.html">ArrayAccessor&lt; const char *, ::tvm::runtime::String &gt;</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticNode.html">DiagnosticNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</t [...]
 </td><td valign="top"><a class="el" href="classtvm_1_1TargetKind.html">TargetKind</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ArrayNode.html">ArrayNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrs.html">DictAttrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilder.html">LocalBuilder</a> (<a class="el" href="namespacetvm_1_1auto__scheduler. [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmt.html">AssertStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrsNode.html">DictAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html">LocalBuilderNode</a> (<a class="el" href="namespacetvm_1_1auto__sche [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmtNode.html">AssertStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html">DilateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunner.html">LocalRunner</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1ArrayHandler.html">SimpleObjAllocator::ArrayHandler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRenderer.html">DiagnosticRenderer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Load.html">Load</a> (<a class="el"  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayIterator.html">ArrayIterator</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DiagnosticRendererNode.html">DiagnosticRendererNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoadNode.html">LoadNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ArrayNode.html">ArrayNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrs.html">DictAttrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilder.html">LocalBuilder</a> (<a class="el" href="namespacetvm_1_1auto__scheduler. [...]
 </td><td valign="top"><a class="el" href="classtvm_1_1TargetKindRegEntry.html">TargetKindRegEntry</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMap.html">AttachMap</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html">Dilation2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html">LocalR [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMapNode.html">AttachMapNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Div.html">Div</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRV.html">LoopRV</a> (<a class="el" href="namespacetvm_1_1ti [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocEntry.html">AttrDocEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DivNode.html">DivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRVNode.html">LoopRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm: [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocVisitor.html">AttrDocVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html">DominatorPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html">LRNAttrs</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1AttrError.html">AttrError</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LT.html">LT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&# [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrExistVisitor.html">AttrExistVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html">DropoutAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LTNode.html">LTNode</a> (<a class="el" href="namespacetvm_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmt.html">AssertStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrsNode.html">DictAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html">LocalBuilderNode</a> (<a class="el" href="namespacetvm_1_1auto__sche [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AssertStmtNode.html">AssertStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DilateAttrs.html">DilateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunner.html">LocalRunner</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMap.html">AttachMap</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Dilation2DAttrs.html">Dilation2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html">LocalR [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1AttachMapNode.html">AttachMapNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Div.html">Div</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRV.html">LoopRV</a> (<a class="el" href="namespacetvm_1_1ti [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocEntry.html">AttrDocEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DivNode.html">DivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRVNode.html">LoopRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm: [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocVisitor.html">AttrDocVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html">DominatorPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html">LRNAttrs</a> (<a class="el" href="nam [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1AttrError.html">AttrError</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LT.html">LT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&# [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrExistVisitor.html">AttrExistVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html">DropoutAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LTNode.html">LTNode</a> (<a class="el" href="namespacetvm_ [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfo.html">AttrFieldInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0">< [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1RangeNode.html">RangeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1TempExpr.html">TempExpr</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfoNode.html">AttrFieldInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html">DynExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Rebase.html">Rebase</a> (<a class="el" href="namespacetvm_1_1te.html">tvm [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1RebaseNode.html">RebaseNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfoNode.html">AttrFieldInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html">DynExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RecClosure.html">RecClosure</a> (<a class="el" href="namespacetvm_1_1r [...]
 <tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrInitEntry.html">AttrInitEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;e&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1RebaseNode.html">RebaseNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;& [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrInitVisitor.html">AttrInitVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RecClosure.html">RecClosure</a> (<a class="el" href="namespacet [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNonDefaultVisitor.html">AttrNonDefaultVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1EinsumAttrs.html">EinsumAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Match.html">Match</a> (<a class="el" href="names [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrNopEntry.html">AttrNopEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1EnvFunc.html">EnvFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegion.html">MatchBufferRegion</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNormalVisitor.html">AttrNormalVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1EnvFuncNode.html">EnvFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el" href="namespace [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPattern.html">AttrPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQ.html">EQ</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MatchNode.html">MatchNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&# [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPatternNode.html">AttrPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQNode.html">EQNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatmulAttrs.html">MatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.ht [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistry.html">AttrRegistry</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1ErrorBuilder.html">ErrorBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html">MatrixSetDiagAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#16 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMap.html">AttrRegistryMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ErrorReporter.html">ErrorReporter</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Max.html">Max</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html">AttrRegistryMapContainerMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Evaluate.html">Evaluate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MaxNode.html">MaxNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Attrs.html">Attrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EvaluateNode.html">EvaluateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html">MaxPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&# [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrsNode.html">AttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Executable.html">Executable</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html">MaxPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1rel [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSEqualVisitor.html">AttrsSEqualVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Executor.html">Executor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html">MaxPool3DAttrs</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSHashVisitor.html">AttrsSHashVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExecutorNode.html">ExecutorNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCallback.html">MeasureCallback</a> (<a  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmt.html">AttrStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExecutorRegEntry.html">ExecutorRegEntry</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmtNode.html">AttrStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html">ExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a clas [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrTriggerNonDefaultEntry.html">AttrTriggerNonDefaultEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1ExprDeepEqual.html">ExprDeepEqual</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html">Mea [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrVisitor.html">AttrVisitor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidate.html">MeasureCandidate</a> (<a class="el" href="namespacetvm_1_1meta__s [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AutoSchedulerLayoutTransformAttrs.html">AutoSchedulerLayoutTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.htm [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html">AvgPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href=" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool2DAttrs.html">AvgPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const PrimExpr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool3DAttrs.html">AvgPool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResult.html">MeasureResult</a> (<a class="el" hr [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RecClosureObj.html">RecClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TensorAffineTypeNode.html">TensorAffineTypeNode</a> (<a class="el" href="namespacetvm. [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrInitVisitor.html">AttrInitVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReader.html">RecordReader</a> (<a class="el" hr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNonDefaultVisitor.html">AttrNonDefaultVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1EinsumAttrs.html">EinsumAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Match.html">Match</a> (<a class="el" href="names [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrNopEntry.html">AttrNopEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1EnvFunc.html">EnvFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegion.html">MatchBufferRegion</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrNormalVisitor.html">AttrNormalVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1EnvFuncNode.html">EnvFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el" href="namespace [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPattern.html">AttrPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQ.html">EQ</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MatchNode.html">MatchNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&# [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1AttrPatternNode.html">AttrPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EQNode.html">EQNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatmulAttrs.html">MatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistry.html">AttrRegistry</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1ErrorBuilder.html">ErrorBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html">MatrixSetDiagAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#16 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMap.html">AttrRegistryMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ErrorReporter.html">ErrorReporter</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Max.html">Max</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign= [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html">AttrRegistryMapContainerMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Evaluate.html">Evaluate</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MaxNode.html">MaxNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::t [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Attrs.html">Attrs</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1EvaluateNode.html">EvaluateNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool1DAttrs.html">MaxPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&# [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrsNode.html">AttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1Executable.html">Executable</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool2DAttrs.html">MaxPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1rel [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSEqualVisitor.html">AttrsSEqualVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Executor.html">Executor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MaxPool3DAttrs.html">MaxPool3DAttrs</a> (<a class="el" href= [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSHashVisitor.html">AttrsSHashVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExecutorNode.html">ExecutorNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCallback.html">MeasureCallback</a> (<a  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmt.html">AttrStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExecutorRegEntry.html">ExecutorRegEntry</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el" href="n [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmtNode.html">AttrStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ExpandDimsAttrs.html">ExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a clas [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1detail_1_1AttrTriggerNonDefaultEntry.html">AttrTriggerNonDefaultEntry</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1ExprDeepEqual.html">ExprDeepEqual</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html">Mea [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrVisitor.html">AttrVisitor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidate.html">MeasureCandidate</a> (<a class="el" href="namespacetvm_1_1meta__s [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AutoSchedulerLayoutTransformAttrs.html">AutoSchedulerLayoutTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.htm [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html">AvgPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool2DAttrs.html">AvgPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor_3_01R_07const_01PrimExpr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const PrimExpr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool3DAttrs.html">AvgPool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResult.html">MeasureResult</a> (<a class="el" hr [...]
 <tr><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResultNode.html">MeasureResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1RelayExpr.html">RelayExpr</a> (<a class="el"  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html">ExprPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfo.html">MemoryInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1RelayExprNode.html">RelayExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPatternNode.html">ExprPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfoNode.html">MemoryInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160; [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html">ExprRewriter</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el" href=" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structMemoryManagerInterface.html">MemoryManagerInterface</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="cla [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFunc.html">BaseFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOp.html">ExternOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArray.html">MetadataArray</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFuncNode.html">BaseFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOpNode.html">ExternOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html">MetadataArrayNode</a> (<a class="el" href="namespacetvm_1_1runti [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorType.html">BaseTensorType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTask.html">ExtractedTask</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBase.html">MetadataBase</a> (<a class=" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorTypeNode.html">BaseTensorTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html">ExtractedTaskNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html">Metadata [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueEqual.html">BaseValueEqual</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncObj_1_1Extractor.html">PackedFuncObj::Extractor</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">MetaScheduleContext</ [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResultNode.html">MeasureResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RelayNode.html">RelayNode</a> (<a cl [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPattern.html">ExprPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfo.html">MemoryInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1RelayRefType.html">RelayRefType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td>< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseAttrsNode.html">BaseAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprPatternNode.html">ExprPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MemoryInfoNode.html">MemoryInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160; [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html">ExprRewriter</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structMemoryManagerInterface.html">MemoryManagerInterface</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="cla [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprVisitor.html">ExprVisitor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFunc.html">BaseFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOp.html">ExternOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArray.html">MetadataArray</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseFuncNode.html">BaseFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1ExternOpNode.html">ExternOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html">MetadataArrayNode</a> (<a class="el" href="namespacetvm_1_1runti [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorType.html">BaseTensorType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTask.html">ExtractedTask</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBase.html">MetadataBase</a> (<a class=" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseTensorTypeNode.html">BaseTensorTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html">ExtractedTaskNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html">Metadata [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueEqual.html">BaseValueEqual</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncObj_1_1Extractor.html">PackedFuncObj::Extractor</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a> [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1BaseValueHash.html">BaseValueHash</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;f&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContextNode.html">MetaScheduleContextNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1RequantizeAttrs.html">RequantizeAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1me [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchMatmulAttrs.html">BatchMatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ReshapeAt [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchNormAttrs.html">BatchNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1FeatureExtractor.html">FeatureExtractor</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollecto [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchToSpaceNDAttrs.html">BatchToSpaceNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html">FeatureExtractorNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Min.html">Min [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BiasAddAttrs.html">BiasAddAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html">FeatureSet</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MinNode.html">MinNode</a> (<a class="el" href="namespacetvm_1_1tir.html"> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayout.html">BijectiveLayout</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html">FIFOBufferAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html">MirrorPadAttrs</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayoutNode.html">BijectiveLayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html">FixedPointMultiplyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html">MixedModeMutat [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryConv2DAttrs.html">BinaryConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmt_1_1Flattener.html">SeqStmt::Flattener</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryDenseAttrs.html">BinaryDenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FloatImm.html">FloatImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mod.html">Mod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#16 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BinaryOpNode.html">BinaryOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FloatImmNode.html">FloatImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ModNode.html">ModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#1 [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BitPackAttrs.html">BitPackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDiv.html">FloorDiv</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a> (<a class="el" href="namespacetvm_1_1arith.html"> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Block.html">Block</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDivNode.html">FloorDivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.htm [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1BlockInfo.html">BlockInfo</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorMod.html">FloorMod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm: [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockNode.html">BlockNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorModNode.html">FloorModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Module.html">Module</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runt [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealize.html">BlockRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStep.html">FollowFusedSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html">ModuleNode [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealizeNode.html">BlockRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html">FollowFusedSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mul.html">Mul</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStep.html">FollowSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MulNode.html">MulNode</a> (<a class="el" href="name [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRVNode.html">BlockRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html">FollowSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html">MultiBo [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScope.html">BlockScope</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1For.html">For</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html">MultiBoxTransformLocAttrs</a> (<a class="el" href="namespacetvm_1_1re [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScopeNode.html">BlockScopeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ForNode.html">ForNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Mutator.html">Mutator</a> (<a class="el" href="namespacetvm_1_1meta__schedule [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html">FrameBuffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MutatorNode.html">MutatorNode</a> (<a class="el" href="na [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Broadcast.html">Broadcast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html">Framer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"> [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html">MetricCollectorNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ReshapeLikeAttrs.html">ReshapeLikeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TupleAffin [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchMatmulAttrs.html">BatchMatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Min.html">Min</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ReshapeTensorAttrs.html">ReshapeTensorAttrs</a> (<a class="el" href="namespacetvm_ [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchNormAttrs.html">BatchNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1FeatureExtractor.html">FeatureExtractor</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MinNode.html">MinNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BatchToSpaceNDAttrs.html">BatchToSpaceNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html">FeatureExtractorNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MirrorPadA [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BiasAddAttrs.html">BiasAddAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FeatureSet.html">FeatureSet</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html">MixedModeMutator</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayout.html">BijectiveLayout</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FIFOBufferAttrs.html">FIFOBufferAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class="el" hr [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BijectiveLayoutNode.html">BijectiveLayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1FixedPointMultiplyAttrs.html">FixedPointMultiplyAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mod.html">Mod</a> (<a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryConv2DAttrs.html">BinaryConv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmt_1_1Flattener.html">SeqStmt::Flattener</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ModNode.html">ModNode</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BinaryDenseAttrs.html">BinaryDenseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FloatImm.html">FloatImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BinaryOpNode.html">BinaryOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FloatImmNode.html">FloatImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tv [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1BitPackAttrs.html">BitPackAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDiv.html">FloorDiv</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a> (<a class="el" href="namespacetvm_1_1arit [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Block.html">Block</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDivNode.html">FloorDivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Module.html">Module</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>) [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1BlockInfo.html">BlockInfo</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorMod.html">FloorMod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html">ModuleNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::run [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockNode.html">BlockNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorModNode.html">FloorModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Mul.html">Mul</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#16 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealize.html">BlockRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStep.html">FollowFusedSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MulNode.html">MulNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealizeNode.html">BlockRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html">FollowFusedSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPrio [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRV.html">BlockRV</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStep.html">FollowSplitStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html">MultiBoxTransfor [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRVNode.html">BlockRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html">FollowSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Mutator.html">Mutator</a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScope.html">BlockScope</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1For.html">For</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MutatorNode.html">MutatorNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">t [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScopeNode.html">BlockScopeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ForNode.html">ForNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;n&# [...]
 </td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html">RunnerInputNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structTVMMetadata.html">TVMMetadata</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1BroadcastAttrs.html">BroadcastAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj_1_1FromStd.html">ShapeTupleObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1RunnerN [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BroadcastNode.html">BroadcastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html">StringObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray.html">NDArray</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Function.html">Function</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1NDArrayContainerTrait.html">NDArrayContainerTrait</a> (<a class="el" href [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionNode.html">FunctionNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html">NdarraySizeAttrs</a> (<a class="el" href="namespacetvm_1_1rela [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionPattern.html">FunctionPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html">NE</a> (<a class="el" href="namespacetvm_1_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html">BufferInfoAnalysis</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionPatternNode.html">FunctionPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NENode.html">NENode</a> (<a  [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html">BufferInfoAnalysisNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FuncType.html">FuncType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html">NLLLossAttrs</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1FrameBuffer.html">FrameBuffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1RunnerNode.html">RunnerNode</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Broadcast.html">Broadcast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1Framer.html">Framer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray.html">NDArray</a> (<a class="el" href [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1qnn_1_1BroadcastAttrs.html">BroadcastAttrs</a> (<a class="el" href="namespacetvm_1_1relay_1_1qnn.html">tvm::relay::qnn</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj_1_1FromStd.html">ShapeTupleObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1NDArrayContainerTrait.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BroadcastNode.html">BroadcastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html">StringObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html">NdarraySizeAttrs</a> (<a cla [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Function.html">Function</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html">NE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm: [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionNode.html">FunctionNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NENode.html">NENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#16 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfo.html">BufferInfo</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionPattern.html">FunctionPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html">NLLLossAttrs</a> (<a class="el [...]
 </td><td valign="top"><a class="el" href="structTVMParallelGroupEnv.html">TVMParallelGroupEnv</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">BufferInfoNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FuncTypeNode.html">FuncTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor.html">NodeFunctor</a> (<a class="el" href="namespacetvm.html">tvm</a> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoad.html">BufferLoad</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Fuse.html">Fuse</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor_3_01R_07const_01ObjectRef_01_6n_00_01Args_8_8_8_08_4.html">NodeFunctor&lt; R(const ObjectRef &amp;n, [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoadNode.html">BufferLoadNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1FuseNode.html">FuseNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html">NonMaximumSuppressionAttrs</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferNode.html">BufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStep.html">FuseStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html">NormalAttrs</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealize.html">BufferRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html">FuseStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Not.html">Not</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysis.html">BufferInfoAnalysis</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1FunctionPatternNode.html">FunctionPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor.html">NodeFunctor</a> ( [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html">BufferInfoAnalysisNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FuncType.html">FuncType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NodeFunctor_3_01R_07const_01ObjectRef_01_6n_00_01Args_8_8_8_08_4.html">No [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html">BufferInfoNode</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp.html">tvm::tir::usmp</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1FuncTypeNode.html">FuncTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html">NonMaximumSuppressionAttrs</a> (<a cla [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoad.html">BufferLoad</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Fuse.html">Fuse</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html">NormalAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#16 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoadNode.html">BufferLoadNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1FuseNode.html">FuseNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Not.html">Not</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferNode.html">BufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStep.html">FuseStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NotNode.html">NotNode</a> (<a class="el" href="namespacetvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealize.html">BufferRealize</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html">FuseStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1NullOptType.html">NullOptType</a> (<a cl [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRealizeNode.html">BufferRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NotNode.html">NotNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html">ScatterAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypeCall.html">TypeCall</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRegion.html">BufferRegion</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1NullOptType.html">NullOptType</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html">ScatterNDAttrs</a> (<a class="el" href="namespa [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRegionNode.html">BufferRegionNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html">GatherAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_o"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class=" [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Schedule.html">Schedule</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypeConstraint.html">TypeConstraint</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStore.html">BufferStore</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherNDAttrs.html">GatherNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Schedule.html">Schedule</a> (<a class="el" href="namespacetvm_1_1te.html">tv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStoreNode.html">BufferStoreNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GE.html">GE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html">ObjAllocatorBase</a> (<a class="el" href="namespacetvm_1_1runtime.htm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Builder.html">Builder</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GenericFunc.html">GenericFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a> (<a class="el" href="namespacetvm_1_1runtime.html">tv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInput.html">BuilderInput</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GenericFuncNode.html">GenericFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectEqual.html">ObjectEqual</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html">BuilderInputNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GENode.html">GENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectHash.html">ObjectHash</a> (<a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderNode.html">BuilderNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html">GetValidCountsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html">ObjectPtr</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderResult.html">BuilderResult</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html">GlobalPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrEqual.html">Objec [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html">BuilderResultNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVar.html">GlobalTypeVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrHash.html">ObjectPtrHash</a> (<a class="el" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResult.html">BuildResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVarNode.html">GlobalTypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> (<a class="el" href="nam [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html">BuildResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalVar.html">GlobalVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker.html">ObjectTypeChecker</a> (<a class="el"  [...]
+</td><td rowspan="2" valign="bottom"><a name="letter_o"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;o&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Schedule.html">Schedule</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypeConstraint.html">TypeConstraint</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRegion.html">BufferRegion</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Schedule.html">Schedule</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypeConstraintNode.html">TypeConstraintNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)& [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferRegionNode.html">BufferRegionNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherAttrs.html">GatherAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html">ObjAllocatorBase</a> (<a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStore.html">BufferStore</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GatherNDAttrs.html">GatherNDAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a> (<a class="el" href="namespacetvm_1_1runtime.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferStoreNode.html">BufferStoreNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GE.html">GE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectEqual.html">ObjectEqual</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::r [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Builder.html">Builder</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GenericFunc.html">GenericFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectHash.html">ObjectHash</a> (<a class="el" href="namespacetvm_1_1runtime [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInput.html">BuilderInput</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GenericFuncNode.html">GenericFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a> (<a class="el" href="namespac [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html">BuilderInputNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GENode.html">GENode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrEqual.html">ObjectPtrEqual</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderNode.html">BuilderNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GetValidCountsAttrs.html">GetValidCountsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectPtrHash.html">Object [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderResult.html">BuilderResult</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GlobalPool2DAttrs.html">GlobalPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html">BuilderResultNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVar.html">GlobalTypeVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker.html">ObjectTypeChecker</a> (<a cl [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResult.html">BuildResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalTypeVarNode.html">GlobalTypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_4_01_4.html">Obj [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html">BuildResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1GlobalVar.html">GlobalVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_01K_00_01V_01_4_01_4.html">Object [...]
 <tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarNode.html">GlobalVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_4_01_4.html">ObjectTypeChecker&lt; Array&lt; T &gt; &gt;</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1SearchPoli [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1algo_1_1GreedyBase.html">GreedyBase</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1algo.html">tvm::tir::usmp::algo</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_01K_00_01V_01_4_01_4.html">ObjectTypeChecker&lt; Map&lt; K, V &gt; &gt;</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStep.html">CacheReadStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html">GridSampleAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceA [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html">CacheReadStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html">GroupNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html">OneHo [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStep.html">CacheWriteStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GT.html">GT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Op.html">Op</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160; [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStepNode.html">CacheWriteStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GTNode.html">GTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="nam [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1GlobalVarNode.html">GlobalVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html">SearchSortedAttrs</a> (<a class="el" href="namespacetvm_1_1rel [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1algo_1_1GreedyBase.html">GreedyBase</a> (<a class="el" href="namespacetvm_1_1tir_1_1usmp_1_1algo.html">tvm::tir::usmp::algo</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1SearchStrategy.html">Searc [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStep.html">CacheReadStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GridSampleAttrs.html">GridSampleAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Op.html">Op</a> (<a class="el" href="na [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html">CacheReadStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1GroupNormAttrs.html">GroupNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpAttrMap.html">OpAttrMap</a> (<a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStep.html">CacheWriteStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GT.html">GT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Operation.html">Operation</a> (<a class="el" href="namespacetvm_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheWriteStepNode.html">CacheWriteStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GTNode.html">GTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1OperationNode.html">OperationNode</a> (<a class= [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;h&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1Operation.html">Operation</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1SearchTaskNode.html">SearchTaskNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1TypeName_3_01int64__t_01_4.html">TypeName&lt; i [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1OperationNode.html">OperationNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Select.html">Select</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#1 [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1CallFrame.html">CallFrame</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html">SimpleObjAllocator::Handler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1r [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CallLoweredAttrs.html">CallLoweredAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer_1_1Handler.html">SEqualReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html">OpImplementationNode</a> (<a class= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html">SHashReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpNode.html">OpNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160; [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDataType_01_4.html">Handler&lt; DLDataType &gt;</a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpRegEntry.html">OpRegEntry</a> (<a class= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPattern.html">CallPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDevice_01_4.html">Handler&lt; DLDevice &gt;</a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecialization.html">Op [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPatternNode.html">CallPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParams.html">HardwareParams</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html">Op [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html">HardwareParamsNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategy.ht [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Cast.html">Cast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOp.html">HybridOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html">OpStrategyNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#1 [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastAttrs.html">CastAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOpNode.html">HybridOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a> (<a class="el" href="namespacetvm_1_1runtime.html">t [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html">OpImplementation</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SelectNode.html">SelectNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1TypeName_3_01void_01_5_01_4.html">TypeName&lt; void * &gt;</a> (<a  [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementationNode.html">OpImplementationNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1SelectSEqualReduce.html">SelectSEqualReduce</a> (<a class="el" href="nam [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1profiling_1_1CallFrame.html">CallFrame</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1SimpleObjAllocator_1_1Handler.html">SimpleObjAllocator::Handler</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1O [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CallLoweredAttrs.html">CallLoweredAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer_1_1Handler.html">SEqualReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1OpRegEntry.html">OpRegEntry</a> (<a class="el" href="namespacetvm.html" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html">SHashReducer::Handler</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecialization.html">OpSpecialization</a> (<a class="el" href="namespacetvm_1_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CallNode.html">CallNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDataType_01_4.html">Handler&lt; DLDataType &gt;</a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpSpecializationNode.html">OpSpec [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPattern.html">CallPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structdmlc_1_1serializer_1_1Handler_3_01DLDevice_01_4.html">Handler&lt; DLDevice &gt;</a> (<a class="el" href="namespacedmlc_1_1serializer.html">dmlc::serializer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html">OpStrate [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CallPatternNode.html">CallPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParams.html">HardwareParams</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategyNode.html">OpStrate [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html">HardwareParamsNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Optional.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Cast.html">Cast</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOp.html">HybridOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastAttrs.html">CastAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1HybridOpNode.html">HybridOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1OrNode.html">OrNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>) [...]
 <tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CastHintAttrs.html">CastHintAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;i&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SEqualReducer.html">SEqualReducer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypeVarNode.html">TypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CastNode.html">CastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1OrNode.html">OrNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html">SequenceMaskAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm: [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Id.html">Id</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</di [...]
+</td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
 </td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1Sequential.html">Sequential</a> (<a class="el" href="namespacetvm_1_1transform.html">tvm::transform</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_u"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;u&#160;&#160;</div></td></tr></table>
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ClauseNode.html">ClauseNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IdNode.html">IdNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1SequentialNode.html">SequentialNode</a> (<a class="el" href="namespacetvm_1_1tra [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ClipAttrs.html">ClipAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1If.html">If</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html">PackedFunc</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::run [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Closure.html">Closure</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfNode.html">IfNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html">PackedFuncObj</a> (<a class="el" href="namespacetvm_1_1runtime [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ClosureObj.html">ClosureObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfPattern.html">IfPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncSubObj.html">PackedFuncSubObj</a> (<a class="el" href="names [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CmpOpNode.html">CmpOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfPatternNode.html">IfPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html">PackedFuncValueConverter</a> (<a class="el"  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducer.html">CommReducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElse.html">IfThenElse</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01Optional_3_01T_01_4_01_4.html">PackedFuncValueConverte [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducerNode.html">CommReducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElseNode.html">IfThenElseNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01PrimExpr_01_4.html">PackedFuncValueCon [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CastNode.html">CastNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1SequentialNode.html">SequentialNode</a> (<a class="el" href="namespacetvm_1_1transform.html">tvm::transform</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Id.html">Id</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html">PackedFunc</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ClauseNode.html">ClauseNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IdNode.html">IdNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html">PackedFuncObj</a> (<a class="el" href="namespacetvm_1_1runtime [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ClipAttrs.html">ClipAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1If.html">If</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncSubObj.html">PackedFuncSubObj</a> (<a class="el" href="namespacetvm_1_1runtime.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Closure.html">Closure</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfNode.html">IfNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html">PackedFuncValueConverter</a> (<a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ClosureObj.html">ClosureObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfPattern.html">IfPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01Optional_3_01T_01_4_01_4.html">PackedFun [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CmpOpNode.html">CmpOpNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1IfPatternNode.html">IfPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01PrimExpr_01_4.html">PackedFuncValueConverter&l [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1CompilationConfig.html">CompilationConfig</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce.html">ImplSEqualReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html">PackedFuncValueC [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1CompilationConfigNode.html">CompilationConfigNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce_3_01T_00_01true_01_4.html">ImplSEqualReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConvert [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1CompileError.html">CompileError</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce.html">ImplSHashReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1tvm_1_1runtime_1_1String_01_4.html">PackedFuncValu [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CompilerAttrs.html">CompilerAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html">ImplSHashReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1P [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStep.html">ComputeAtStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs.html">ImplVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html">PadAttrs</a>  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStepNode.html">ComputeAtStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html">ImplVisitAttrs&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="clas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAG.html">ComputeDAG</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IncompleteType.html">IncompleteType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">PassContext</a> (<a class="el" href="names [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html">ComputeDAGNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IncompleteTypeNode.html">IncompleteTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html">PassContextNode</a> (< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStep.html">ComputeInlineStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexMap.html">IndexMap</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> (<a class=" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html">ComputeInlineStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexMapNode.html">IndexMapNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html">Pass [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOp.html">ComputeOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html">InitOpAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html">PassInstrument</a> (<a class="el" href="namespacetvm_1_1in [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOpNode.html">ComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html">InplaceArrayBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1instrument_1_1PassInstrumentNode.html">PassInstrumentNode</a> (<a clas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStep.html">ComputeRootStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html">InstanceNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassNode.html">Pas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html">ComputeRootStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Patt [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConcatenateAttrs.html">ConcatenateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.html">PatternConstructor</a> (<a class="el" href [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKind.html">InstructionKind</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructorNode.html">PatternConstructorNode</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantNode.html">ConstantNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKindNode.html">InstructionKindNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html">PatternFunctor</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPattern.html">ConstantPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKindRegEntry.html">InstructionKindRegEntry</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_0 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPatternNode.html">ConstantPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionNode.html">InstructionNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html">PatternMutator</a> (<a class="el" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraints.html">IntConstraints</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternNode.html">PatternNode</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducer.html">CommReducer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElse.html">IfThenElse</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html">PackedFuncValueConverter&lt; tv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1CommReducerNode.html">CommReducerNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IfThenElseNode.html">IfThenElseNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Integer_01_4.html">PackedFuncVa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1CompilationConfig.html">CompilationConfig</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce.html">ImplSEqualReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1tvm_1_1runtime_1_1String_01_4.html">Pa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1CompilationConfigNode.html">CompilationConfigNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSEqualReduce_3_01T_00_01true_01_4.html">ImplSEqualReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1micro__rpc_1_1PacketFie [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1CompileError.html">CompileError</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce.html">ImplSHashReduce</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html">PadAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm:: [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1CompilerAttrs.html">CompilerAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html">ImplSHashReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1Pass.html">Pa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStep.html">ComputeAtStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs.html">ImplVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContext.html">PassCon [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeAtStepNode.html">ComputeAtStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1ImplVisitAttrs_3_01T_00_01true_01_4.html">ImplVisitAttrs&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAG.html">ComputeDAG</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IncompleteType.html">IncompleteType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfo.html">PassInfo</a> (<a class="el" href="namespacetv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html">ComputeDAGNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IncompleteTypeNode.html">IncompleteTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html">PassInfoNode</a> (<a clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStep.html">ComputeInlineStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexMap.html">IndexMap</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html">PassInstrument</a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html">ComputeInlineStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1IndexMapNode.html">IndexMapNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1instrument_1_1PassInstrumentNode.htm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOp.html">ComputeOp</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InitOpAttrs.html">InitOpAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassNode.html">PassNode</a> (<a class="el" href="namespacetvm_1_1transform.html" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1ComputeOpNode.html">ComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1InplaceArrayBase.html">InplaceArrayBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Pattern.html">Pattern</a> (<a class="el" href="namespacetvm_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStep.html">ComputeRootStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1InstanceNormAttrs.html">InstanceNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternConstructor.htm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html">ComputeRootStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Patt [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConcatenateAttrs.html">ConcatenateAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Instruction.html">Instruction</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html">PatternFunctor</a> (<a class="el" href="namesp [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Constant.html">Constant</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKind.html">InstructionKind</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html">Patt [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantNode.html">ConstantNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKindNode.html">InstructionKindNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternMutator.html">PatternMutator</a> (<a class="el" href= [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPattern.html">ConstantPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionKindRegEntry.html">InstructionKindRegEntry</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternNode.html">PatternNode</a> (<a class="e [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html">IntConstraintsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html">PatternTuple</a> (< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html">IntConstraintsTransform</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTupleNode.html">PatternTupleN [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html">IntConstraintsTransformNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar< [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1Constructor.html">Constructor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Integer.html">Integer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html">PatternVarNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstructorNode.html">ConstructorNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html">InterpreterClosure</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html">PatternVisitor</a> (<a class="el" href="namespacetvm_1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstructorValue.html">ConstructorValue</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosureObj.html">InterpreterClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWildcard</a>  [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConstructorValueObj.html">ConstructorValueObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html">IntGroupBounds</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcardNode.html">PatternWildcardNode</a> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">NDArray::Container</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html">IntGroupBoundsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">Per [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html">NDArray::ContainerBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IntImm.html">IntImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1PlaceholderOp.html">PlaceholderOp</a> (<a class="el" href="namespacetvm_1_1te.ht [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DAttrs.html">Conv1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1PlaceholderOpNode.html">PlaceholderOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</ [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DTransposeAttrs.html">Conv1DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PointerType.html">PointerType</a> (<a class="el" href="namespacetvm.html [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DAttrs.html">Conv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PointerTypeNode.html">PointerTypeNode</a> (<a class="el" href="namespacetv [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DTransposeAttrs.html">Conv2DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html">IntSetNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> (<a class [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradAttrs.html">Conv2DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IRModule.html">IRModule</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html">PoolAllocationNode</a> (<a class="el" href="namespacet [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstantPatternNode.html">ConstantPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1InstructionNode.html">InstructionNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html">PatternTuple</a> (<a class="el" hre [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraints.html">IntConstraints</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTupleNode.html">PatternTupleNode</a> (<a class="el" hre [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html">IntConstraintsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> (<a cl [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html">IntConstraintsTransform</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVarNode.html">PatternVarNode< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html">IntConstraintsTransformNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternVisitor.html">Pattern [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1Constructor.html">Constructor</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1Integer.html">Integer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWildcard</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td>< [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ConstructorNode.html">ConstructorNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosure.html">InterpreterClosure</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternWildcardNode.html">PatternWildcardNode</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ConstructorValue.html">ConstructorValue</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1InterpreterClosureObj.html">InterpreterClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html">PercentNo [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ConstructorValueObj.html">ConstructorValueObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html">IntGroupBounds</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1PlaceholderOp.html">PlaceholderOp</a> (<a class="el" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">NDArray::Container</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html">IntGroupBoundsNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1te_1_1PlaceholderOpNode.html">PlaceholderOpNo [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html">NDArray::ContainerBase</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IntImm.html">IntImm</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PointerType.html">PointerType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#16 [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DAttrs.html">Conv1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PointerTypeNode.html">PointerTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160 [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv1DTransposeAttrs.html">Conv1DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1usmp_1_1PoolAllocation.html">PoolAllocation</a> (<a class="el" hr [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DAttrs.html">Conv2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html">PoolAllocationNode</a> (<a class= [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html">Conv2DWinogradNNPACKWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IRModuleNode.html">IRModuleNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PoolInfo.html">PoolInfo</a> (<a class="el" hr [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DAttrs.html">Conv3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1is__specialized.html">is_specialized</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1PoolInfoNode.html">PoolInfoNode</a> (<a class="el" href="namespacetv [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DTransposeAttrs.html">Conv3DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1is__specialized_3_01Container_3_01Args_8_8_8_01_4_00_01Container_01_4.html">is_specialized&lt; Container&lt; Args... &gt;, Container &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DTransposeAttrs.html">Conv2DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html">IntSetNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PoolInfo.html">PoolInfo</a> (<a class="el" href="namespacetvm.ht [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradAttrs.html">Conv2DWinogradAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IRModule.html">IRModule</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1PoolInfoNode.html">PoolInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#16 [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html">Conv2DWinogradNNPACKWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1IRModuleNode.html">IRModuleNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1Postproc.html">Postproc</a> [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DAttrs.html">Conv3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1is__specialized.html">is_specialized</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1PostprocNode.html">PostprocNode</a> (<a class="el"  [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv3DTransposeAttrs.html">Conv3DTransposeAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1is__specialized_3_01Container_3_01Args_8_8_8_01_4_00_01Container_01_4.html">is_specialized&lt; Container&lt; Args... &gt;, Container &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td [...]
 <tr><td></td><td></td><td></td><td></td><td></td></tr>
 </table>
 <div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|& [...]
diff --git a/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ApplyHistoryBest-members.html b/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ApplyHistoryBest-members.html
index 604e78166..e53d22b9f 100644
--- a/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ApplyHistoryBest-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ApplyHistoryBest-members.html
@@ -71,32 +71,29 @@ $(function() {
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a3e9b0901b6e01257b060a45e159cc37e">_type_is_nullable</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a577ba1c425cbb630605e31689d55daeb">ApplyHistoryBest</a>(Database database)</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">tvm::meta_schedule::ApplyHistoryBest</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_1ObjectRef.html#a2d76fa1fb628ff276a284e61123589c5">as</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa5c355fbb7d2f7402ee360dba8a52cdd">ContainerType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a2a17f285e278c19d2ad3dfa3f79ce3ec">Current</a>()</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ac261cdb80487fb29ac42b28678f8cbef">data_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a17d8d5ad92691f9e18e3e0ae8ef69e4f">defined</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#acd04bb22a6861e9952c344ee8547411f">DowncastNoCheck</a>(ObjectRef ref)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a25c2d0695aacb2aba5ca792ba78ad4b2">EnterWithScope</a>()</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a4968b91856dbea85faa5c54cb1a26b90">ExitWithScope</a>()</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a22e5bb9d64dbc773bb9263b70882239e">FFIClearAfterMove</a>(ObjectRef *ref)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aadbc0886ffa80162ff31eefd0431ba09">get</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</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_1ObjectRef.html#ae423057ecf93c18714d17f53cd1d318f">get_mutable</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aed593996e4076632450de8fde776707c">GetDataPtr</a>(const ObjectRef &amp;ref)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a1ce6a18ade3e27e038f46eff36ecfd9e">MetaScheduleContext</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a48d21d088959263ec594e571c7c8dc06">ApplyHistoryBestInternal</a> class</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">tvm::meta_schedule::ApplyHistoryBest</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a2d76fa1fb628ff276a284e61123589c5">as</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</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_1ObjectRef.html#aa5c355fbb7d2f7402ee360dba8a52cdd">ContainerType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a01e1c6ca238eb14268ee62c5b7ae9285">Current</a>()</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">tvm::meta_schedule::ApplyHistoryBest</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_1ObjectRef.html#ac261cdb80487fb29ac42b28678f8cbef">data_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a17d8d5ad92691f9e18e3e0ae8ef69e4f">defined</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</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_1ObjectRef.html#acd04bb22a6861e9952c344ee8547411f">DowncastNoCheck</a>(ObjectRef ref)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a2491a7aa5fdd42a75b739ae6721fadea">EnterWithScope</a>()</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">tvm::meta_schedule::ApplyHistoryBest</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a2d9b51da8361036807ca659621ee27ca">ExitWithScope</a>()</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">tvm::meta_schedule::ApplyHistoryBest</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a22e5bb9d64dbc773bb9263b70882239e">FFIClearAfterMove</a>(ObjectRef *ref)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aadbc0886ffa80162ff31eefd0431ba09">get</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ae423057ecf93c18714d17f53cd1d318f">get_mutable</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aed593996e4076632450de8fde776707c">GetDataPtr</a>(const ObjectRef &amp;ref)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa07c1f6d66a438ea950637d13ed09471">ObjectRef</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a6a7dd7404edf1c26f8dbd9bd92d03a02">ObjectRef</a>(ObjectPtr&lt; Object &gt; data)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</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_1ObjectRef.html#aa1bd13a7185cb4b2b6bdde49416e8aa4">operator!=</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</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_1ObjectRef.html#a3deeeac5827a88f375b8c6ae1039c219">operator-&gt;</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a4744bf4a1b48f202d41b51dc5e08e6ee">operator&lt;</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</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_1ObjectRef.html#affdf1b8cdb36e140de7b3ad7064e4617">operator==</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a0c69f8d612a0e22764c5e2be7ba51cb8">QueryInsideWithScope</a>(runtime::String task_name, IRModule mod, Target target, Optional&lt; Array&lt; IRModule &gt;&gt; dispatched)</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</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_1ObjectRef.html#ae31a5b9f40781d60a2901994ead700e8">same_as</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a45331cace5dbba5ec2eb7e292322bea3">TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS</a>(ApplyHistoryBest, MetaScheduleContext, ApplyHistoryBestNode)</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">tvm::meta_schedule::ApplyHistoryBest</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a7400307bea943667eb31eedcc0147b09">tvm::meta_schedule::MetaScheduleContext::TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS</a>(MetaScheduleContext, runtime::ObjectRef, MetaScheduleContextNode)</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ae31a5b9f40781d60a2901994ead700e8">same_as</a>(const ObjectRef &amp;other) const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#aa624a049b126760c34f9675b441bb438">TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS</a>(ApplyHistoryBest, runtime::ObjectRef, ApplyHistoryBestNode)</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">tvm::meta_schedule::ApplyHistoryBest</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a4e7cdb1574b93a59e784d70aa47b8da7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</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_1ObjectRef.html#a0ae0da21d247cd87ea94fe3777c4405e">use_count</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a1115ad89013d5aa1e6611c9f62b1cf72">~MetaScheduleContext</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td><td class="entry"><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_1meta__schedule_1_1ApplyHistoryBest.html b/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html
index 9b2ad8bf8..491907349 100644
--- a/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html
+++ b/docs/reference/api/doxygen/classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html
@@ -64,6 +64,9 @@ $(function() {
 <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="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
 <a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest-members.html">List of all members</a>  </div>
   <div class="headertitle">
 <div class="title">tvm::meta_schedule::ApplyHistoryBest Class Reference</div>  </div>
@@ -73,17 +76,17 @@ $(function() {
 <p>Managed reference to <a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html" title="An integration context that allows application of historically best records from a database...">ApplyHistoryBestNode</a>.  
  <a href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#details">More...</a></p>
 
-<p><code>#include &lt;<a class="el" href="integration_8h_source.html">integration.h</a>&gt;</code></p>
+<p><code>#include &lt;<a class="el" href="apply__history__best_8h_source.html">apply_history_best.h</a>&gt;</code></p>
 <div class="dynheader">
 Inheritance diagram for tvm::meta_schedule::ApplyHistoryBest:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1meta__schedule_1_1ApplyHistoryBest__inherit__graph.svg" width="211" height="764"><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_1meta__schedule_1_1ApplyHistoryBest__inherit__graph.svg" width="198" height="551"><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::meta_schedule::ApplyHistoryBest:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1meta__schedule_1_1ApplyHistoryBest__coll__graph.svg" width="211" height="1054"><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_1meta__schedule_1_1ApplyHistoryBest__coll__graph.svg" width="198" height="839"><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">
@@ -92,14 +95,8 @@ Public Member Functions</h2></td></tr>
 <tr class="memitem:a577ba1c425cbb630605e31689d55daeb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a577ba1c425cbb630605e31689d55daeb">ApplyHistoryBest</a> (<a class="el" href="classtvm_1_1meta__schedule_1_1Database.html">Database</a> database)</td></tr>
 <tr class="memdesc:a577ba1c425cbb630605e31689d55daeb"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classtvm_1_1Constructor.html" title="Managed reference to ConstructorNode. ">Constructor</a>.  <a href="#a577ba1c425cbb630605e31689d55daeb">More...</a><br /></td></tr>
 <tr class="separator:a577ba1c425cbb630605e31689d55daeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45331cace5dbba5ec2eb7e292322bea3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a45331cace5dbba5ec2eb7e292322bea3">TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS</a> (<a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">ApplyHistoryBest</a>, <a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">Me [...]
-<tr class="separator:a45331cace5dbba5ec2eb7e292322bea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pub_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td></tr>
-<tr class="memitem:a1115ad89013d5aa1e6611c9f62b1cf72 inherit pub_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a1115ad89013d5aa1e6611c9f62b1cf72">~MetaScheduleContext</a> ()=default</td></tr>
-<tr class="memdesc:a1115ad89013d5aa1e6611c9f62b1cf72 inherit pub_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a1115ad89013d5aa1e6611c9f62b1cf72">More...</a><br /></td></tr>
-<tr class="separator:a1115ad89013d5aa1e6611c9f62b1cf72 inherit pub_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7400307bea943667eb31eedcc0147b09 inherit pub_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a7400307bea943667eb31eedcc0147b09">TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS</a> (<a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">MetaScheduleContext</a>, [...]
-<tr class="separator:a7400307bea943667eb31eedcc0147b09 inherit pub_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa624a049b126760c34f9675b441bb438"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#aa624a049b126760c34f9675b441bb438">TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS</a> (<a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">ApplyHistoryBest</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">runtime::ObjectRef< [...]
+<tr class="separator:aa624a049b126760c34f9675b441bb438"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_methods_classtvm_1_1runtime_1_1ObjectRef"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1runtime_1_1ObjectRef')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td></tr>
 <tr class="memitem:aa07c1f6d66a438ea950637d13ed09471 inherit pub_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa07c1f6d66a438ea950637d13ed09471">ObjectRef</a> ()=default</td></tr>
 <tr class="memdesc:aa07c1f6d66a438ea950637d13ed09471 inherit pub_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="mdescLeft">&#160;</td><td class="mdescRight">default constructor  <a href="classtvm_1_1runtime_1_1ObjectRef.html#aa07c1f6d66a438ea950637d13ed09471">More...</a><br /></td></tr>
@@ -134,35 +131,38 @@ Public Member Functions</h2></td></tr>
 <tr class="memdesc:a2d76fa1fb628ff276a284e61123589c5 inherit pub_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to downcast the internal <a class="el" href="classtvm_1_1runtime_1_1Object.html" title="base class of all object containers. ">Object</a> to a raw pointer of a corresponding type.  <a href="classtvm_1_1runtime_1_1ObjectRef.html#a2d76fa1fb628ff276a284e61123589c5">More...</a><br /></td></tr>
 <tr class="separator:a2d76fa1fb628ff276a284e61123589c5 inherit pub_methods_classtvm_1_1runtime_1_1ObjectRef"><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:a01e1c6ca238eb14268ee62c5b7ae9285"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html">ApplyHistoryBest</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a01e1c6ca238eb14268ee62c5b7ae9285">Current</a> ()</td></tr>
+<tr class="memdesc:a01e1c6ca238eb14268ee62c5b7ae9285"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current <a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html" title="Managed reference to ApplyHistoryBestNode. ">ApplyHistoryBest</a> in the context.  <a href="#a01e1c6ca238eb14268ee62c5b7ae9285">More...</a><br /></td></tr>
+<tr class="separator:a01e1c6ca238eb14268ee62c5b7ae9285"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a2491a7aa5fdd42a75b739ae6721fadea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a2491a7aa5fdd42a75b739ae6721fadea">EnterWithScope</a> ()</td></tr>
+<tr class="memdesc:a2491a7aa5fdd42a75b739ae6721fadea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entering the scope of the context manager.  <a href="#a2491a7aa5fdd42a75b739ae6721fadea">More...</a><br /></td></tr>
+<tr class="separator:a2491a7aa5fdd42a75b739ae6721fadea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d9b51da8361036807ca659621ee27ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a2d9b51da8361036807ca659621ee27ca">ExitWithScope</a> ()</td></tr>
+<tr class="memdesc:a2d9b51da8361036807ca659621ee27ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exiting the scope of the context manager.  <a href="#a2d9b51da8361036807ca659621ee27ca">More...</a><br /></td></tr>
+<tr class="separator:a2d9b51da8361036807ca659621ee27ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pro_methods_classtvm_1_1runtime_1_1ObjectRef"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtvm_1_1runtime_1_1ObjectRef')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td></tr>
+<tr class="memitem:ae423057ecf93c18714d17f53cd1d318f inherit pro_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ae423057ecf93c18714d17f53cd1d318f">get_mutable</a> () const</td></tr>
+<tr class="separator:ae423057ecf93c18714d17f53cd1d318f inherit pro_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a48d21d088959263ec594e571c7c8dc06"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1ApplyHistoryBest.html#a48d21d088959263ec594e571c7c8dc06">ApplyHistoryBestInternal</a></td></tr>
+<tr class="separator:a48d21d088959263ec594e571c7c8dc06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
 Additional Inherited Members</h2></td></tr>
 <tr class="inherit_header pub_types_classtvm_1_1runtime_1_1ObjectRef"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtvm_1_1runtime_1_1ObjectRef')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td></tr>
 <tr class="memitem:aa5c355fbb7d2f7402ee360dba8a52cdd inherit pub_types_classtvm_1_1runtime_1_1ObjectRef"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#aa5c355fbb7d2f7402ee360dba8a52cdd">ContainerType</a> = <a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a></td></tr>
 <tr class="memdesc:aa5c355fbb7d2f7402ee360dba8a52cdd inherit pub_types_classtvm_1_1runtime_1_1ObjectRef"><td class="mdescLeft">&#160;</td><td class="mdescRight">type indicate the container type.  <a href="classtvm_1_1runtime_1_1ObjectRef.html#aa5c355fbb7d2f7402ee360dba8a52cdd">More...</a><br /></td></tr>
 <tr class="separator:aa5c355fbb7d2f7402ee360dba8a52cdd inherit pub_types_classtvm_1_1runtime_1_1ObjectRef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pub_static_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td></tr>
-<tr class="memitem:a2a17f285e278c19d2ad3dfa3f79ce3ec inherit pub_static_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">MetaScheduleContext</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.ht [...]
-<tr class="memdesc:a2a17f285e278c19d2ad3dfa3f79ce3ec inherit pub_static_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="mdescLeft">&#160;</td><td class="mdescRight">The context manager in the current scope.  <a href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a2a17f285e278c19d2ad3dfa3f79ce3ec">More...</a><br /></td></tr>
-<tr class="separator:a2a17f285e278c19d2ad3dfa3f79ce3ec inherit pub_static_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0c69f8d612a0e22764c5e2be7ba51cb8 inherit pub_static_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1IRModule.html">IRModule</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a0c69f8d612a0e22764c5e2be7ba51cb8">Qu [...]
-<tr class="memdesc:a0c69f8d612a0e22764c5e2be7ba51cb8 inherit pub_static_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="mdescLeft">&#160;</td><td class="mdescRight">The entry point of the integration workflow. The compilation process of the high-level IR should call this method for task extraction and for feedback hints.  <a href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a0c69f8d612a0e22764c5e2be7ba51cb8">More...</a><br /></td></tr>
-<tr class="separator:a0c69f8d612a0e22764c5e2be7ba51cb8 inherit pub_static_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_static_attribs_classtvm_1_1runtime_1_1ObjectRef"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classtvm_1_1runtime_1_1ObjectRef')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td></tr>
 <tr class="memitem:a3e9b0901b6e01257b060a45e159cc37e inherit pub_static_attribs_classtvm_1_1runtime_1_1ObjectRef"><td class="memItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#a3e9b0901b6e01257b060a45e159cc37e">_type_is_nullable</a> = true</td></tr>
 <tr class="separator:a3e9b0901b6e01257b060a45e159cc37e inherit pub_static_attribs_classtvm_1_1runtime_1_1ObjectRef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html">tvm::meta_schedule::MetaScheduleContext</a></td></tr>
-<tr class="memitem:a1ce6a18ade3e27e038f46eff36ecfd9e inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a1ce6a18ade3e27e038f46eff36ecfd9e">MetaScheduleContext</a> ()=default</td></tr>
-<tr class="memdesc:a1ce6a18ade3e27e038f46eff36ecfd9e inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a1ce6a18ade3e27e038f46eff36ecfd9e">More...</a><br /></td></tr>
-<tr class="separator:a1ce6a18ade3e27e038f46eff36ecfd9e inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a25c2d0695aacb2aba5ca792ba78ad4b2 inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a25c2d0695aacb2aba5ca792ba78ad4b2">EnterWithScope</a> ()</td></tr>
-<tr class="memdesc:a25c2d0695aacb2aba5ca792ba78ad4b2 inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entering the scope of the context manager.  <a href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a25c2d0695aacb2aba5ca792ba78ad4b2">More...</a><br /></td></tr>
-<tr class="separator:a25c2d0695aacb2aba5ca792ba78ad4b2 inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4968b91856dbea85faa5c54cb1a26b90 inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a4968b91856dbea85faa5c54cb1a26b90">ExitWithScope</a> ()</td></tr>
-<tr class="memdesc:a4968b91856dbea85faa5c54cb1a26b90 inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exiting the scope of the context manager.  <a href="classtvm_1_1meta__schedule_1_1MetaScheduleContext.html#a4968b91856dbea85faa5c54cb1a26b90">More...</a><br /></td></tr>
-<tr class="separator:a4968b91856dbea85faa5c54cb1a26b90 inherit pro_methods_classtvm_1_1meta__schedule_1_1MetaScheduleContext"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pro_methods_classtvm_1_1runtime_1_1ObjectRef"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtvm_1_1runtime_1_1ObjectRef')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td></tr>
-<tr class="memitem:ae423057ecf93c18714d17f53cd1d318f inherit pro_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ae423057ecf93c18714d17f53cd1d318f">get_mutable</a> () const</td></tr>
-<tr class="separator:ae423057ecf93c18714d17f53cd1d318f inherit pro_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pro_static_methods_classtvm_1_1runtime_1_1ObjectRef"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classtvm_1_1runtime_1_1ObjectRef')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">tvm::runtime::ObjectRef</a></td></tr>
 <tr class="memitem:acd04bb22a6861e9952c344ee8547411f inherit pro_static_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
 <tr class="memitem:acd04bb22a6861e9952c344ee8547411f inherit pro_static_methods_classtvm_1_1runtime_1_1ObjectRef"><td class="memTemplItemLeft" align="right" valign="top">static T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#acd04bb22a6861e9952c344ee8547411f">DowncastNoCheck</a> (<a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> ref)</td></tr>
@@ -219,8 +219,90 @@ Additional Inherited Members</h2></td></tr>
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
... 75094 lines suppressed ...