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/08/08 20:12:09 UTC

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

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 84baa40ee deploying docs (apache/tvm@b79f9501fdba5cf286f015277aeae867081b77df)
84baa40ee is described below

commit 84baa40ee385a23f75b10ddc39b68b564d66496d
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Mon Aug 8 20:12:03 2022 +0000

    deploying docs (apache/tvm@b79f9501fdba5cf286f015277aeae867081b77df)
---
 .../how_to/compile_models/from_darknet.rst.txt     |    2 +-
 .../how_to/compile_models/from_mxnet.rst.txt       |    2 +-
 .../how_to/compile_models/from_oneflow.rst.txt     |    2 +-
 .../how_to/compile_models/from_onnx.rst.txt        |    2 +-
 .../how_to/compile_models/from_pytorch.rst.txt     |    2 +-
 .../how_to/compile_models/from_tensorflow.rst.txt  |    2 +-
 .../compile_models/sg_execution_times.rst.txt      |   22 +-
 .../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                     |   14 +-
 .../tune_conv2d_layer_cuda.rst.txt                 |  772 +-
 .../tune_network_cuda.rst.txt                      |    2 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |   84 +-
 .../tune_with_autotvm/sg_execution_times.rst.txt   |    6 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     |   26 +-
 .../work_with_microtvm/micro_autotune.rst.txt      |   16 +-
 .../how_to/work_with_microtvm/micro_train.rst.txt  |   16 +-
 .../work_with_microtvm/sg_execution_times.rst.txt  |   10 +-
 .../work_with_relay/sg_execution_times.rst.txt     |    8 +-
 .../how_to/work_with_schedules/intrin_math.rst.txt |    2 +-
 .../work_with_schedules/sg_execution_times.rst.txt |   18 +-
 .../how_to/work_with_schedules/tensorize.rst.txt   |    2 +-
 .../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     |    9 +-
 docs/_sources/tutorial/autotvm_matmul_x86.rst.txt  |   20 +-
 docs/_sources/tutorial/autotvm_relay_x86.rst.txt   |   58 +-
 .../tutorial/cross_compilation_and_rpc.rst.txt     |    2 +-
 docs/_sources/tutorial/intro_topi.rst.txt          |    2 +-
 docs/_sources/tutorial/sg_execution_times.rst.txt  |   18 +-
 .../tutorial/tensor_expr_get_started.rst.txt       |   45 +-
 docs/commit_hash                                   |    2 +-
 docs/how_to/compile_models/from_darknet.html       |    2 +-
 docs/how_to/compile_models/from_mxnet.html         |    2 +-
 docs/how_to/compile_models/from_oneflow.html       |   17 +-
 docs/how_to/compile_models/from_onnx.html          |    2 +-
 docs/how_to/compile_models/from_pytorch.html       |    6 +-
 docs/how_to/compile_models/from_tensorflow.html    |    2 +-
 docs/how_to/compile_models/sg_execution_times.html |   26 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   18 +-
 docs/how_to/deploy_models/deploy_prequantized.html |    6 +-
 .../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  |   39 +-
 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                        |   18 +-
 .../tune_conv2d_layer_cuda.html                    |  772 +-
 .../tune_with_autoscheduler/tune_network_cuda.html |    2 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |   84 +-
 .../tune_with_autotvm/sg_execution_times.html      |    6 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html |   26 +-
 docs/how_to/work_with_microtvm/micro_autotune.html |   16 +-
 docs/how_to/work_with_microtvm/micro_train.html    |   16 +-
 .../work_with_microtvm/sg_execution_times.html     |   10 +-
 .../how_to/work_with_relay/sg_execution_times.html |    8 +-
 docs/how_to/work_with_schedules/intrin_math.html   |    2 +-
 .../work_with_schedules/sg_execution_times.html    |   18 +-
 docs/how_to/work_with_schedules/tensorize.html     |    2 +-
 docs/reference/api/doxygen/annotated.html          |  221 +-
 docs/reference/api/doxygen/classes.html            |  467 +-
 .../api/doxygen/classtvm_1_1BaseAttrsNode.html     |   10 +-
 .../classtvm_1_1BaseAttrsNode__coll__graph.svg     |   16 +-
 .../classtvm_1_1runtime_1_1Object__coll__graph.svg |    8 +-
 docs/reference/api/doxygen/functions_f.html        |    4 +-
 docs/reference/api/doxygen/functions_func_f.html   |    2 +-
 docs/reference/api/doxygen/functions_func_m.html   |    2 +-
 docs/reference/api/doxygen/functions_func_r.html   |    2 +-
 docs/reference/api/doxygen/functions_func_s.html   |    8 +-
 docs/reference/api/doxygen/functions_func_t.html   |   11 +-
 docs/reference/api/doxygen/functions_n.html        |    3 +
 docs/reference/api/doxygen/functions_p.html        |    2 +-
 docs/reference/api/doxygen/functions_s.html        |    2 +-
 docs/reference/api/doxygen/functions_t.html        |    5 +-
 docs/reference/api/doxygen/functions_vars_n.html   |    3 +
 docs/reference/api/doxygen/hierarchy.html          |  246 +-
 docs/reference/api/doxygen/inherit_graph_10.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_114.svg   | 8327 ++++++++++----------
 docs/reference/api/doxygen/inherit_graph_197.svg   |    8 +-
 docs/reference/api/doxygen/inherit_graph_211.svg   |   16 +-
 docs/reference/api/doxygen/inherit_graph_212.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/namespacetvm_1_1relay.html         |    2 +
 docs/reference/api/doxygen/random_8h.html          |    2 +
 docs/reference/api/doxygen/random_8h_source.html   |    6 +-
 docs/reference/api/doxygen/search/all_10.js        |    2 +-
 docs/reference/api/doxygen/search/all_11.js        |    6 +-
 docs/reference/api/doxygen/search/all_13.js        |    2 +-
 docs/reference/api/doxygen/search/all_14.js        |   10 +-
 docs/reference/api/doxygen/search/all_15.js        |   10 +-
 docs/reference/api/doxygen/search/all_16.js        |    2 +-
 docs/reference/api/doxygen/search/all_17.js        |    4 +-
 docs/reference/api/doxygen/search/all_2.js         |    1 +
 docs/reference/api/doxygen/search/all_7.js         |    2 +-
 docs/reference/api/doxygen/search/all_a.js         |    2 +-
 docs/reference/api/doxygen/search/all_e.js         |    5 +-
 docs/reference/api/doxygen/search/all_f.js         |    1 +
 docs/reference/api/doxygen/search/classes_0.js     |    1 +
 docs/reference/api/doxygen/search/classes_10.js    |    2 +-
 docs/reference/api/doxygen/search/classes_11.js    |    6 +-
 docs/reference/api/doxygen/search/classes_13.js    |    4 +-
 docs/reference/api/doxygen/search/classes_8.js     |    2 +-
 docs/reference/api/doxygen/search/classes_a.js     |    1 +
 docs/reference/api/doxygen/search/functions_10.js  |    4 +-
 docs/reference/api/doxygen/search/functions_12.js  |    2 +-
 docs/reference/api/doxygen/search/functions_13.js  |    4 +-
 docs/reference/api/doxygen/search/functions_14.js  |    2 +-
 docs/reference/api/doxygen/search/functions_6.js   |    2 +-
 docs/reference/api/doxygen/search/functions_d.js   |    4 +-
 docs/reference/api/doxygen/search/variables_d.js   |    1 +
 ...cttvm_1_1relay_1_1MultinomialAttrs-members.html |  125 +
 .../structtvm_1_1relay_1_1MultinomialAttrs.html    |  285 +
 ...m_1_1relay_1_1MultinomialAttrs__coll__graph.svg |  293 +
 ..._1relay_1_1MultinomialAttrs__inherit__graph.svg |  128 +
 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       |    4 +-
 docs/tutorial/autotvm_matmul_x86.html              |   20 +-
 docs/tutorial/autotvm_relay_x86.html               |  262 +-
 docs/tutorial/cross_compilation_and_rpc.html       |    2 +-
 docs/tutorial/intro_topi.html                      |    2 +-
 docs/tutorial/sg_execution_times.html              |   18 +-
 docs/tutorial/tensor_expr_get_started.html         |   41 +-
 180 files changed, 6725 insertions(+), 6938 deletions(-)

diff --git a/docs/_sources/how_to/compile_models/from_darknet.rst.txt b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
index 276895f7e..d23c40916 100644
--- a/docs/_sources/how_to/compile_models/from_darknet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
@@ -317,7 +317,7 @@ The process is no different from other examples.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  1.364 seconds)
+   **Total running time of the script:** ( 1 minutes  5.933 seconds)
 
 
 .. _sphx_glr_download_how_to_compile_models_from_darknet.py:
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 8520f3111..e6a99ddcc 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -115,7 +115,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip539c7ad6-af04-4a82-a4c1-b600aab94521 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip125ca64e-3fd8-4c2b-bbfe-a068e1021251 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_oneflow.rst.txt b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
index 987f82bfe..7ac8d4004 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -113,7 +113,7 @@ Load a pretrained OneFlow model and save model
  .. code-block:: none
 
     Downloading: "https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip" to /workspace/.oneflow/flowvision_cache/resnet18.zip
-
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
     15%|#5        | 6.33M/41.5M [00:00<00:00, 47.0MB/s]
     26%|##6       | 10.8M/41.5M [00:00<00:01, 28.2MB/s]
     39%|###8      | 16.0M/41.5M [00:00<00:00, 34.4MB/s]
     54%|#####3    | 22.3M/41.5M [00:00<00:00, 36.4MB/s]
     63%|######2   | 26.0M/41.5M [00:00<00:00, 33.9MB/s]
     77%|#######7  | 32.0M/41.5M [00:00<00:00, 36.6MB/s]
     92%|#########2| 38.3M/41.5M [00:01<00:00, 36.3MB/s]
    100%|##########| 41.5M/41.5M [00:01<00:00, 36.9MB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
     15%|#5        | 6.33M/41.5M [00:00<00:00, 47.6MB/s]
     26%|##6       | 10.9M/41.5M [00:00<00:00, 32.8MB/s]
     35%|###4      | 14.3M/41.5M [00:00<00:01, 27.9MB/s]
     41%|####1     | 17.1M/41.5M [00:00<00:00, 26.5MB/s]
     54%|#####3    | 22.3M/41.5M [00:00<00:00, 30.8MB/s]
     61%|######    | 25.3M/41.5M [00:00<00:00, 25.9MB/s]
     77%|#######7  | 32.0M/41.5M [00:01<00:00, 31.1MB/s]
     92%|#########2| 38.3M/41.5M [00:01<00:00, 38.7MB/s]
    100%|##########| 41.5M/41.5M [00:01<00:00, 33.2MB/s]
 
 
 
diff --git a/docs/_sources/how_to/compile_models/from_onnx.rst.txt b/docs/_sources/how_to/compile_models/from_onnx.rst.txt
index 6fae3df42..933a04240 100644
--- a/docs/_sources/how_to/compile_models/from_onnx.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_onnx.rst.txt
@@ -151,7 +151,7 @@ provides a static definition of the input size.
 
  .. code-block:: none
 
-    /workspace/python/tvm/relay/frontend/onnx.py:5880: UserWarning: Mismatched attribute type in ' : kernel_shape'
+    /workspace/python/tvm/relay/frontend/onnx.py:5902: UserWarning: Mismatched attribute type in ' : kernel_shape'
 
     ==> Context: Bad node spec for node. Name:  OpType: Conv
       warnings.warn(str(e))
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 3a4e67b8a..f56908fca 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -94,7 +94,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]
     45%|####4     | 20.0M/44.7M [00:00<00:00, 209MB/s]
     97%|#########6| 43.1M/44.7M [00:00<00:00, 229MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 226MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     43%|####3     | 19.4M/44.7M [00:00<00:00, 203MB/s]
     94%|#########3| 41.8M/44.7M [00:00<00:00, 222MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 223MB/s]
 
 
 
diff --git a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
index cd92373a9..3e1270ec8 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -423,7 +423,7 @@ Run the corresponding model on tensorflow
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  1.596 seconds)
+   **Total running time of the script:** ( 1 minutes  3.388 seconds)
 
 
 .. _sphx_glr_download_how_to_compile_models_from_tensorflow.py:
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 96eb8a7a3..1a7131232 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,26 +5,26 @@
 
 Computation times
 =================
-**04:55.919** total execution time for **how_to_compile_models** files:
+**05:11.749** total execution time for **how_to_compile_models** files:
 
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:01.596 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:05.933 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:01.364 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:03.388 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 00:38.533 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 00:40.330 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:27.580 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:29.272 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:24.291 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:25.762 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:24.189 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:25.639 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:21.636 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:23.818 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:19.618 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:19.509 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:14.855 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:15.659 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.258 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.440 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
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 d6a65537d..e7fcc051d 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
@@ -441,7 +441,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      16.1874      16.1640      16.2932      16.1286       0.0626   
+      16.1099      16.0788      16.2249      16.0029       0.0687   
                
 
 
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 15e0625b3..b519686d8 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
@@ -123,7 +123,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]
      7%|7         | 12.7M/170M [00:00<00:01, 132MB/s]
     18%|#7        | 29.8M/170M [00:00<00:00, 160MB/s]
     32%|###1      | 54.2M/170M [00:00<00:00, 204MB/s]
     48%|####7     | 80.9M/170M [00:00<00:00, 234MB/s]
     62%|######2   | 106M/170M [00:00<00:00, 244MB/s] 
     78%|#######8  | 133M/170M [00:00<00:00, 258MB/s]
     94%|#########3| 159M/170M [00:00<00:00, 262MB/s]
    100%|##########| 170M/170M [00:00<00:00, 240MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
      9%|8         | 14.7M/170M [00:00<00:01, 154MB/s]
     22%|##1       | 36.9M/170M [00:00<00:00, 200MB/s]
     37%|###6      | 62.6M/170M [00:00<00:00, 232MB/s]
     51%|#####     | 85.8M/170M [00:00<00:00, 237MB/s]
     64%|######3   | 108M/170M [00:00<00:00, 233MB/s] 
     77%|#######7  | 131M/170M [00:00<00:00, 234MB/s]
     90%|######### | 153M/170M [00:00<00:00, 231MB/s]
    100%|##########| 170M/170M [00:00<00:00, 231MB/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').
@@ -292,7 +292,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  54.451 seconds)
+   **Total running time of the script:** ( 3 minutes  2.748 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 abe7ad15f..57596b2ce 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -232,7 +232,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]
    100%|##########| 13.6M/13.6M [00:00<00:00, 174MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 169MB/s]
 
 
 
@@ -412,7 +412,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.5059      90.2221      100.4077     90.0492       1.3478   
+      90.2875      90.2438      91.3583      90.1577       0.1453   
                
 
 
@@ -461,7 +461,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  8.383 seconds)
+   **Total running time of the script:** ( 1 minutes  10.299 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 c6d9bfb38..3bd168ce0 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
@@ -439,7 +439,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)  
-      118.6624     118.6385     119.7517     118.0309      0.3009   
+      122.0269     122.0021     125.0638     121.2726      0.3974   
                
 
 
@@ -476,7 +476,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  59.497 seconds)
+   **Total running time of the script:** ( 1 minutes  53.259 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 9ac011772..b25676e80 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -255,7 +255,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  35.931 seconds)
+   **Total running time of the script:** ( 1 minutes  34.272 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 ce96adec8..3a4bc464c 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
@@ -158,7 +158,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]
      5%|5         | 7052/132723 [00:00<00:01, 70498.55KB/s]
     12%|#1        | 15562/132723 [00:00<00:01, 79083.72KB/s]
     18%|#7        | 23471/132723 [00:00<00:01, 69225.60KB/s]
     24%|##3       | 31544/132723 [00:00<00:01, 67457.25KB/s]
     29%|##8       | 38376/132723 [00:00<00:01, 48664.64KB/s]
     35%|###5      | 46877/132723 [00:00<00:01, 57712.42KB/s]
     40%|####      | 53385/132723 [00:00<00:01, 46864.52KB/s]
     47%|####6     | 61770/132723 [00:01<00:01, 55274.59KB/s]
     51%|#####1    | 68136/132723 [00:01<00:01, 50280.44KB/s]
     57%|#####7    | 76286/132723 [00:01<00:00, 57618.24KB/s]
     62%|######2   | 82702/132723 [00:01<00:00, 50186.26KB/s]
     69%|######8   | 91120/132723 [00:01<00:00, 58109.44KB/s]
     74%|#######4  | 98288/132723 [00:01<00:00, 60440.78KB/s]
     80%|########  | 106806/132723 [00:01<00:00, 66862.64KB/s]
     87%|########6 | 115304/132723 [00:01<00:00, 71761.54KB/s]
     93%|#########
 3| 123839/132723 [00:02<00:00, 75547.49KB/s]
    100%|#########9| 132385/132723 [00:02<00:00, 78369.71KB/s]
    100%|##########| 132723/132723 [00:02<00:00, 62506.19KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      3%|3         | 3993/132723 [00:00<00:03, 39924.71KB/s]
      8%|7         | 10113/132723 [00:00<00:02, 52429.89KB/s]
     13%|#3        | 17713/132723 [00:00<00:01, 63186.59KB/s]
     19%|#9        | 25398/132723 [00:00<00:01, 68578.59KB/s]
     25%|##4       | 33057/132723 [00:00<00:01, 71462.17KB/s]
     31%|###       | 40665/132723 [00:00<00:01, 73029.96KB/s]
     36%|###6      | 48306/132723 [00:00<00:01, 74133.11KB/s]
     42%|####2     | 56043/132723 [00:00<00:01, 75160.95KB/s]
     48%|####7     | 63676/132723 [00:00<00:00, 75522.98KB/s]
     54%|#####3    | 71368/132723 [00:01<00:00, 75953.19KB/s]
     60%|#####9    | 79065/132723 [00:01<00:00, 76262.05KB/s]
     65%|######5   | 86736/132723 [00:01<00:00, 76397.00KB/s]
     71%|#######1  | 94485/132723 [00:01<00:00, 76725.90KB/s]
     77%|#######6  | 102158/132723 [00:01<00:00, 63330.03KB/s]
     83%|########2 | 109903/132723 [00:01<00:00, 67036.57KB/s]
     88%|########8
  | 116931/132723 [00:01<00:00, 60603.98KB/s]
     94%|#########3| 124639/132723 [00:01<00:00, 64835.79KB/s]
     99%|#########9| 131415/132723 [00:01<00:00, 57151.28KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 66709.34KB/s]
 
 
 
@@ -241,7 +241,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  33.953 seconds)
+   **Total running time of the script:** ( 2 minutes  39.453 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 2a7cc4ab2..2d7ee5f22 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,24 +5,24 @@
 
 Computation times
 =================
-**11:26.706** total execution time for **how_to_deploy_models** files:
+**11:35.657** total execution time for **how_to_deploy_models** files:
 
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 02:54.451 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:02.748 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 02:33.953 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 02:39.453 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 01:59.497 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 01:53.259 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:35.931 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:34.272 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:08.383 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:10.299 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:29.407 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:30.649 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``)                       | 00:22.669 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``)                       | 00:22.704 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:22.409 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:22.266 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)                                     | 00:00.006 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
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 1c0828f2a..a3a65b4ee 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
@@ -476,7 +476,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.zip220ce7fc-4363-4fb3-b0c3-cc4efe044be0 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip533b53cb-d788-43b6-a83b-a87cf345fef4 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 64c42f53f..d0beb8332 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,14 +5,14 @@
 
 Computation times
 =================
-**00:40.475** total execution time for **how_to_extend_tvm** files:
+**00:41.506** total execution time for **how_to_extend_tvm** files:
 
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:37.329 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:38.277 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.217 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.262 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:00.922 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:00.958 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)       | 00:00.008 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)       | 00:00.009 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
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 6f73f8890..3c367bb48 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
@@ -216,10 +216,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6541us [6541us] (45.91%; 45.91%)
-    FoldScaleAxis: 7705us [5us] (54.09%; 54.09%)
-            FoldConstant: 7699us [1568us] (54.05%; 99.93%)
-                    InferType: 6131us [6131us] (43.04%; 79.63%)
+    InferType: 6491us [6491us] (45.78%; 45.78%)
+    FoldScaleAxis: 7688us [6us] (54.22%; 54.22%)
+            FoldConstant: 7682us [1551us] (54.18%; 99.92%)
+                    InferType: 6131us [6131us] (43.24%; 79.81%)
 
 
 
@@ -258,10 +258,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6145us [6145us] (44.47%; 44.47%)
-    FoldScaleAxis: 7673us [4us] (55.53%; 55.53%)
-            FoldConstant: 7668us [1616us] (55.50%; 99.94%)
-                    InferType: 6052us [6052us] (43.80%; 78.92%)
+    InferType: 6165us [6165us] (44.41%; 44.41%)
+    FoldScaleAxis: 7718us [5us] (55.59%; 55.59%)
+            FoldConstant: 7712us [1604us] (55.55%; 99.93%)
+                    InferType: 6108us [6108us] (44.00%; 79.20%)
 
 
 
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 701b700fa..614a2ebdc 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
@@ -340,7 +340,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 51.966210 ms
+    Convolution: 41.006427 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 b65e04930..7880d1147 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
@@ -671,7 +671,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 6.694184 ms
+    conv2d with tensor core: 7.834915 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 4609f2a60..4fc1926f4 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -143,8 +143,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.018341
-    Baseline: 3.302584
+    Numpy running time: 0.019643
+    Baseline: 3.259345
 
 
 
@@ -239,7 +239,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.298734
+    Opt1: 0.319795
 
 
 
@@ -342,7 +342,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.338276
+    Opt2: 0.344662
 
 
 
@@ -438,7 +438,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.115140
+    Opt3: 0.119235
 
 
 
@@ -563,7 +563,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.110059
+    Opt4: 0.111127
 
 
 
@@ -685,7 +685,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.110781
+    Opt5: 0.112270
 
 
 
@@ -810,7 +810,7 @@ Futhermore, we can also utilize multi-core processors to do the thread-level par
 
  .. code-block:: none
 
-    Opt6: 0.145175
+    Opt6: 0.145613
 
 
 
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 e59868d91..a340d0e42 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,12 +5,12 @@
 
 Computation times
 =================
-**00:33.891** total execution time for **how_to_optimize_operators** files:
+**00:34.553** total execution time for **how_to_optimize_operators** files:
 
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:31.829 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:32.292 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.150 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.273 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:00.913 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:00.988 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
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 fc00dd46a..5bd9e1ed3 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,18 +5,18 @@
 
 Computation times
 =================
-**05:59.628** total execution time for **how_to_tune_with_autoscheduler** files:
+**06:03.757** total execution time for **how_to_tune_with_autoscheduler** files:
 
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 03:14.329 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 03:15.443 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:22.388 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:23.370 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 00:46.331 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 00:47.102 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:18.803 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:19.744 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:09.095 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:09.051 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:08.681 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:09.047 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
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 4dd6572b9..cb0fdc70a 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
@@ -240,366 +240,45 @@ cooperative fetching, unrolling and operator fusion.
                  compute: Buffer(compute_2: Pointer(float32), float32, [25088], [])}
       buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute}
       preflattened_buffer_map = {data_1: data_3: Buffer(data_2, float32, [1, 512, 7, 7], []), kernel_1: kernel_3: Buffer(kernel_2, float32, [512, 512, 3, 3], []), bias_1: bias_3: Buffer(bias_2, float32, [1, 512, 1, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [1, 512, 7, 7], [])} {
-      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 28;
-      allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
-      allocate(pad_temp.shared: Pointer(shared float32), float32, [54]), storage_scope = shared;
-      allocate(kernel.shared: Pointer(shared float32), float32, [2304]), storage_scope = shared;
-      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64 {
-        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [4], [], scope="local", align=8)[0] = 0f32
-        conv2d_nchw_1[2] = 0f32
-        conv2d_nchw_1[4] = 0f32
-        conv2d_nchw_1[6] = 0f32
-        conv2d_nchw_1[8] = 0f32
-        conv2d_nchw_1[10] = 0f32
-        conv2d_nchw_1[12] = 0f32
+      attr [IterVar(blockIdx.x: int32, (nullptr), "ThreadIndex", "blockIdx.x")] "thread_extent" = 16;
+      allocate(conv2d_nchw: Pointer(local float32), float32, [7]), storage_scope = local;
+      allocate(pad_temp.shared: Pointer(shared float32), float32, [4032]), storage_scope = shared;
+      allocate(kernel.shared: Pointer(shared float32), float32, [6144]), storage_scope = shared;
+      attr [IterVar(threadIdx.x: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224 {
+        conv2d_nchw_1: Buffer(conv2d_nchw, float32, [7], [], scope="local", align=16)[0] = 0f32
         conv2d_nchw_1[1] = 0f32
+        conv2d_nchw_1[2] = 0f32
         conv2d_nchw_1[3] = 0f32
+        conv2d_nchw_1[4] = 0f32
         conv2d_nchw_1[5] = 0f32
-        conv2d_nchw_1[7] = 0f32
-        conv2d_nchw_1[9] = 0f32
-        conv2d_nchw_1[11] = 0f32
-        conv2d_nchw_1[13] = 0f32
-        for (rc.outer.outer: int32, 0, 256) {
-          let cse_var_1: int32 = (rc.outer.outer*18)
-           {
-            attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            if @tir.likely((threadIdx.x_1 < 54), dtype=bool) {
-              pad_temp.shared_1: Buffer(pad_temp.shared, float32, [54], [], scope="shared")[threadIdx.x_1] = @tir.if_then_else(((((1 <= (floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7))) && ((floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7)) < 8)) && (1 <= floormod(threadIdx.x_1, 9))) && (floormod(threadIdx.x_1, 9) < 8)), data[((((((rc.outer.outer*98) + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(threadIdx.x_1, 27), 9)*7)) + (floormod(block [...]
+        conv2d_nchw_1[6] = 0f32
+        for (rc.outer.outer: int32, 0, 8) {
+          for (ry.outer.outer: int32, 0, 3) {
+            for (ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer: int32, 0, 18) {
+              attr [IterVar(threadIdx.x_1: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              pad_temp.shared_1: Buffer(pad_temp.shared, float32, [4032], [], scope="shared")[((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*224) + threadIdx.x_1)] = @tir.if_then_else(((((1 <= (floordiv(floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*35) + threadIdx.x_1), 63), 9) + ry.outer.outer)) && ((floordiv(floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*35) + threadIdx.x_1), 63), 9) + ry.outer.outer) < 8)) && (1 <= floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.out [...]
+            }
+            for (ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1: int32, 0, 28) {
+              attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 224;
+              if @tir.likely((((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1*7) + floordiv(threadIdx.x_2, 32)) < 192), dtype=bool) {
+                kernel.shared_1: Buffer(kernel.shared, float32, [6144], [], scope="shared")[((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1*224) + threadIdx.x_2)] = kernel[((((((blockIdx.x*147456) + (floordiv(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1*7) + floordiv(threadIdx.x_2, 32)), 6)*4608)) + (rc.outer.outer*576)) + (floordiv(floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1*32) + threadIdx.x_2), 192), 3)*9)) + (ry.outer.outer*3)) + floormod(((ax0.ax1.fused.ax2.fus [...]
+              }
+            }
+            for (rc.outer.inner: int32, 0, 64) {
+              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)*192) + (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)*192) + (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)*192) + (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)*192) + (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)*192) + (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)*192) + (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)*192) + (rc.outer.inner*3)) + rx.outer.inner)]))
+              }
             }
-            attr [IterVar(threadIdx.x_2: int32, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1: Buffer(kernel.shared, float32, [2304], [], scope="shared")[threadIdx.x_2] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 64)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 64), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 10), 18), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 128)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 128), 18)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 192)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 192), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 1), 3)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 256)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 256), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 4), 18), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 320)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 320), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 14), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 5), 9), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 384)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 384), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 6), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 2), 3)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 448), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 7), 9), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 512)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 512), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 18), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 576)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18)) + 147456)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 640)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 640), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 10), 18), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 704)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 704), 18)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 768)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 768), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 1), 3)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 832)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 832), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 4), 18), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 896), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 14), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 5), 9), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 960)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 960), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 6), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 2), 3)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1024)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1024), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 7), 9), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1088)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1088), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 18), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1152)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18)) + 294912)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1216)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1216), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 10), 18), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1280)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1280), 18)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1344), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 1), 3)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1408)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1408), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 4), 18), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1472)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1472), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 14), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 5), 9), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1536)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1536), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 6), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 2), 3)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1600)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1600), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 7), 9), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1664)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1664), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 18), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1728)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18)) + 442368)]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1792), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 10), 18), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1856)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1856), 18)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 18))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1920)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1920), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 1), 3)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 1984)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1984), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 4), 18), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 2048)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2048), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 14), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 5), 9), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 2112)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2112), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 6), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 2), 3)*3)) + floormod(threadIdx.x_2, 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 2176)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2176), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 7), 9), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-            attr [IterVar(threadIdx.x_2, (nullptr), "ThreadIndex", "threadIdx.x")] "thread_extent" = 64;
-            kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2240), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 18), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[0]*kernel.shared_1[(threadIdx.x*36)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[1]*kernel.shared_1[(threadIdx.x*36)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[2]*kernel.shared_1[(threadIdx.x*36)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[3]*kernel.shared_1[(threadIdx.x*36)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[4]*kernel.shared_1[(threadIdx.x*36)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[5]*kernel.shared_1[(threadIdx.x*36)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[6]*kernel.shared_1[(threadIdx.x*36)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[0]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-            conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-            conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-            conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-            conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-            conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-            conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-            conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-            conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-            conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-            conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-            conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-            conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-            conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-            conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*36) + 35)]))
           }
         }
-        for (i1.inner: int32, 0, 2) {
-          compute[((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7))] = max((conv2d_nchw_1[i1.inner] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-          compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 1)] = max((conv2d_nchw_1[(i1.inner + 2)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-          compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 2)] = max((conv2d_nchw_1[(i1.inner + 4)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-          compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 3)] = max((conv2d_nchw_1[(i1.inner + 6)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-          compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 4)] = max((conv2d_nchw_1[(i1.inner + 8)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-          compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 5)] = max((conv2d_nchw_1[(i1.inner + 10)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-          compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 6)] = max((conv2d_nchw_1[(i1.inner + 12)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
+        for (i3.inner: int32, 0, 7) {
+          compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + i3.inner)] = max((conv2d_nchw_1[i3.inner] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
         }
       }
     }
@@ -654,7 +333,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.401 ms
+    Execution time of this operator: 0.360 ms
 
 
 
@@ -702,37 +381,37 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
     conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
     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=2)
+    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=64)
+    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=1)
     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)
-    conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=1)
+    conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=7)
     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_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=7)
     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=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_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_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=2)
-    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=64)
+    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=2)
-    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=64)
+    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=32)
     compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
     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=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_i, compute_i3_i = s[compute].split(compute_i3, factor=7)
     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)
+    compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
     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])
@@ -751,14 +430,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=64)
+    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=64)
+    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", 512)
+    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:
@@ -776,327 +455,44 @@ 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__(64) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-      float conv2d_nchw[14];
-      __shared__ float pad_temp_shared[54];
-      __shared__ float kernel_shared[2304];
+    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[7];
+      __shared__ float pad_temp_shared[4032];
+      __shared__ float kernel_shared[6144];
       conv2d_nchw[0] = 0.000000e+00f;
-      conv2d_nchw[2] = 0.000000e+00f;
-      conv2d_nchw[4] = 0.000000e+00f;
-      conv2d_nchw[6] = 0.000000e+00f;
-      conv2d_nchw[8] = 0.000000e+00f;
-      conv2d_nchw[10] = 0.000000e+00f;
-      conv2d_nchw[12] = 0.000000e+00f;
       conv2d_nchw[1] = 0.000000e+00f;
+      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[7] = 0.000000e+00f;
-      conv2d_nchw[9] = 0.000000e+00f;
-      conv2d_nchw[11] = 0.000000e+00f;
-      conv2d_nchw[13] = 0.000000e+00f;
-      for (int rc_outer_outer = 0; rc_outer_outer < 256; ++rc_outer_outer) {
-        __syncthreads();
-        if (((int)threadIdx.x) < 54) {
-          pad_temp_shared[((int)threadIdx.x)] = (((((1 <= (((((int)threadIdx.x) % 27) / 9) + (((int)blockIdx.x) % 7))) && ((((((int)threadIdx.x) % 27) / 9) + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[((((((rc_outer_outer * 98) + ((((int)threadIdx.x) / 27) * 49)) + (((((int)threadIdx.x) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+      conv2d_nchw[6] = 0.000000e+00f;
+      for (int rc_outer_outer = 0; rc_outer_outer < 8; ++rc_outer_outer) {
+        for (int ry_outer_outer = 0; ry_outer_outer < 3; ++ry_outer_outer) {
+          __syncthreads();
+          for (int ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer = 0; ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer < 18; ++ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer) {
+            pad_temp_shared[((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 224) + ((int)threadIdx.x))] = (((((1 <= (((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 35) + ((int)threadIdx.x)) % 63) / 9) + ry_outer_outer)) && ((((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 35) + ((int)threadIdx.x)) % 63) / 9) + ry_outer_outer) < 8)) && (1 <= (((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 8) + ((int)threadIdx.x)) % 9))) && ((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer *  [...]
+          }
+          for (int ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 = 0; ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 < 28; ++ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1) {
+            if (((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 7) + (((int)threadIdx.x) >> 5)) < 192) {
+              kernel_shared[((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 224) + ((int)threadIdx.x))] = kernel[((((((((int)blockIdx.x) * 147456) + ((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 7) + (((int)threadIdx.x) >> 5)) / 6) * 4608)) + (rc_outer_outer * 576)) + (((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 32) + ((int)threadIdx.x)) % 192) / 3) * 9)) + (ry_outer_outer * 3)) + (((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 2) + ((int)threadIdx.x)) % 3))];
+            }
+          }
+          __syncthreads();
+          for (int rc_outer_inner = 0; rc_outer_inner < 64; ++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) * 192) + (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) * 192) + (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) * 192) + (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) * 192) + (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) * 192) + (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) * 192) + (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) * 192) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+            }
+          }
         }
-        kernel_shared[((int)threadIdx.x)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 64)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 10) % 18) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 128)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 2) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 192)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 192) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 12) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 1) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 256)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 4) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 320)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 14) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 5) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 384)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 384) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 6) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 2) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 16) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 7) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 512)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 8) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18)) + 147456)];
-        kernel_shared[(((int)threadIdx.x) + 640)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 10) % 18) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 704)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 2) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 768)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 768) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 12) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 1) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 832)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 4) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 14) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 5) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 960)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 960) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 6) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 2) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1024)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 16) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 7) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1088)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 8) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18)) + 294912)];
-        kernel_shared[(((int)threadIdx.x) + 1216)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 10) % 18) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1280)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 2) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1344) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 12) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 1) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1408)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 4) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1472)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 14) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 5) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1536) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 6) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 2) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1600)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 16) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 7) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1664)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 8) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18)) + 442368)];
-        kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 10) % 18) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-        kernel_shared[(((int)threadIdx.x) + 1856)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 2) % 18))];
-        kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1920) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 12) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 1) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 1984)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 4) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 2048)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 14) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 5) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2112) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 6) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 2) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 2176)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 16) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 7) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 8) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        __syncthreads();
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 36)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 36)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 36)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 36)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 36)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 36)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 36)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-        conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-        conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-        conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-        conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-        conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-        conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-        conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-        conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-        conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-        conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-        conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-        conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-        conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-        conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
       }
-      for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
-        compute[(((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7))] = max((conv2d_nchw[i1_inner] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 1)] = max((conv2d_nchw[(i1_inner + 2)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 2)] = max((conv2d_nchw[(i1_inner + 4)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 3)] = max((conv2d_nchw[(i1_inner + 6)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 4)] = max((conv2d_nchw[(i1_inner + 8)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 5)] = max((conv2d_nchw[(i1_inner + 10)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-        compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 6)] = max((conv2d_nchw[(i1_inner + 12)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
+      for (int i3_inner = 0; i3_inner < 7; ++i3_inner) {
+        compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + i3_inner)] = max((conv2d_nchw[i3_inner] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
       }
     }
 
@@ -1158,7 +554,7 @@ In the example below we resume the status and do more 5 trials.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 3 minutes  14.329 seconds)
+   **Total running time of the script:** ( 3 minutes  15.443 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 2c937156a..376d5cd98 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
@@ -647,7 +647,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.7896       9.7782       9.8129       9.7777       0.0164   
+      10.1864      10.1915      10.2228      10.1450       0.0319   
                
 
 
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 7a25ff8a7..10546b87e 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
@@ -666,7 +666,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)  
-      748.7311     749.6223     750.2357     746.3353      1.7125   
+      763.5897     762.6737     765.7256     762.3697      1.5154   
                
 
 
@@ -694,7 +694,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  22.388 seconds)
+   **Total running time of the script:** ( 1 minutes  23.370 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 ce302345c..6d15f4c26 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
@@ -397,30 +397,76 @@ 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}
-      preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_17: Buffer(placeholder_14, float32, [128, 512], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), placeholder_6: placeholder_19: Buffer(placeholder_11, float32, [4916, 16, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], [])} {
-      for (i0.outer.i1.outer.fused: int32, 0, 64) "parallel" {
-        allocate(compute_4: Pointer(global float32), float32, [1024]), storage_scope = global {
-          for (i.inner.init: int32, 0, 64) {
-            for (j.init: int32, 0, 16) {
-              compute_5: Buffer(compute_4, float32, [1024], [])[((i.inner.init*16) + j.init)] = 0f32
+      preflattened_buffer_map = {compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_5: placeholder_15: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_16: Buffer(placeholder_14, float32, [128, 512], []), placeholder_7: placeholder_17: Buffer(placeholder_12, int32, [4916], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_8: placeholder_19: Buffer(placeholder_13, int32, [33], [])} {
+      for (i0.outer.i1.outer.fused: int32, 0, 32) "parallel" {
+        allocate(compute_4: Pointer(global float32), float32, [2048]), storage_scope = global {
+          for (nb_j.inner: int32, 0, 2) {
+            for (i.inner.init: int32, 0, 64) {
+              let cse_var_1: int32 = ((i.inner.init*32) + (nb_j.inner*16))
+               {
+                compute_5: Buffer(compute_4, float32, [2048], [])[cse_var_1] = 0f32
+                compute_5[(cse_var_1 + 1)] = 0f32
+                compute_5[(cse_var_1 + 2)] = 0f32
+                compute_5[(cse_var_1 + 3)] = 0f32
+                compute_5[(cse_var_1 + 4)] = 0f32
+                compute_5[(cse_var_1 + 5)] = 0f32
+                compute_5[(cse_var_1 + 6)] = 0f32
+                compute_5[(cse_var_1 + 7)] = 0f32
+                compute_5[(cse_var_1 + 8)] = 0f32
+                compute_5[(cse_var_1 + 9)] = 0f32
+                compute_5[(cse_var_1 + 10)] = 0f32
+                compute_5[(cse_var_1 + 11)] = 0f32
+                compute_5[(cse_var_1 + 12)] = 0f32
+                compute_5[(cse_var_1 + 13)] = 0f32
+                compute_5[(cse_var_1 + 14)] = 0f32
+                compute_5[(cse_var_1 + 15)] = 0f32
+              }
             }
-          }
-          for (elem_idx: int32, 0, let cse_var_1: int32 = floormod(i0.outer.i1.outer.fused, 32) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-            for (i.inner: int32, 0, 64) {
-              for (j: int32, 0, 16) {
-                let cse_var_2: int32 = floormod(i0.outer.i1.outer.fused, 32)
-                if @tir.likely((elem_idx < (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])), dtype=bool) {
-                  let cse_var_3: int32 = ((i.inner*16) + j)
-                  compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_2]*16) + (elem_idx*16)) + j)]*max(placeholder[(((floordiv(i0.outer.i1.outer.fused, 32)*16384) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_2] + elem_idx)])], 0f32)))
+            for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
+              for (i.inner: int32, 0, 64) {
+                let cse_var_21: int32 = (elem_idx*16)
+                let cse_var_20: int32 = ((i.inner*32) + (nb_j.inner*16))
+                let cse_var_19: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+                let cse_var_18: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i.inner*256))
+                let cse_var_17: int32 = (cse_var_20 + 9)
+                let cse_var_16: int32 = (cse_var_20 + 8)
+                let cse_var_15: int32 = (cse_var_20 + 7)
+                let cse_var_14: int32 = (cse_var_20 + 6)
+                let cse_var_13: int32 = (cse_var_20 + 5)
+                let cse_var_12: int32 = (cse_var_20 + 4)
+                let cse_var_11: int32 = (cse_var_20 + 3)
+                let cse_var_10: int32 = (cse_var_20 + 2)
+                let cse_var_9: int32 = (cse_var_20 + 15)
+                let cse_var_8: int32 = (cse_var_20 + 14)
+                let cse_var_7: int32 = (cse_var_20 + 13)
+                let cse_var_6: int32 = (cse_var_20 + 12)
+                let cse_var_5: int32 = (cse_var_20 + 11)
+                let cse_var_4: int32 = (cse_var_20 + 10)
+                let cse_var_3: int32 = (cse_var_20 + 1)
+                 {
+                  compute_5[cse_var_20] = (compute_5[cse_var_20] + (placeholder_1[((placeholder_3[cse_var_19]*16) + cse_var_21)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 1)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 2)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 3)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 4)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 5)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 6)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 7)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 8)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 9)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 10)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 11)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 12)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 13)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 14)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+                  compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 15)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
                 }
               }
             }
           }
           for (i0.inner: int32, 0, 64) {
-            for (i1.inner: int32, 0, 16) {
-              let cse_var_4: int32 = ((((floordiv(i0.outer.i1.outer.fused, 32)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 32)*16)) + i1.inner)
-              compute[cse_var_4] = max((compute_5[((i0.inner*16) + i1.inner)] + placeholder_4[cse_var_4]), 0f32)
-            }
+            let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+            compute[ramp(cse_var_22, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
           }
         }
       }
@@ -476,7 +522,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 1.805 ms
+    Execution time of this operator: 1.845 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 5657ee5db..ac46be358 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,12 +5,12 @@
 
 Computation times
 =================
-**00:45.090** total execution time for **how_to_tune_with_autotvm** files:
+**00:46.336** total execution time for **how_to_tune_with_autotvm** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:45.058 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:46.299 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.016 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.022 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)             | 00:00.005 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
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 8f8677553..eebceeb4b 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
@@ -1156,8 +1156,8 @@ for this template
     TimeoutError
 
             [('tile_f', [-1, 2, 1, 64]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4909501
-    No: 9   GFLOPS: 182.04/182.04   result: MeasureResult(costs=(0.0012716726333333332,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8083293437957764, timestamp=1659978776.9743788)      [('tile_f', [-1, 1, 4, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5072689
-    No: 10  GFLOPS: 0.00/182.04     result: Traceback (most recent call last):
+    No: 9   GFLOPS: 215.34/215.34   result: MeasureResult(costs=(0.0010750632482758621,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.140765905380249, timestamp=1659984988.0834823)       [('tile_f', [-1, 1, 4, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5072689
+    No: 10  GFLOPS: 0.00/215.34     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1280,8 +1280,8 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, 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, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,5092711
-    No: 11  GFLOPS: 260.19/260.19   result: MeasureResult(costs=(0.0008897493646408839,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7539100646972656, timestamp=1659978777.893291)       [('tile_f', [-1, 8, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4264713
-    No: 12  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+    No: 11  GFLOPS: 260.49/260.49   result: MeasureResult(costs=(0.0008886985690607736,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4933984279632568, timestamp=1659984988.9998121)      [('tile_f', [-1, 8, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4264713
+    No: 12  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1404,7 +1404,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, 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, 128, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,183542
-    No: 13  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+    No: 13  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1527,7 +1527,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, 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, 8, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2482196
-    No: 14  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+    No: 14  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1650,9 +1650,9 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, 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, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10306226
-    No: 15  GFLOPS: 5.45/260.19     result: MeasureResult(costs=(0.04247900825,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8362009525299072, timestamp=1659978782.446091)       [('tile_f', [-1, 2, 2, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5330964
-    No: 16  GFLOPS: 3.34/260.19     result: MeasureResult(costs=(0.06939914175,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.5563178062438965, timestamp=1659978783.6848538)      [('tile_f', [-1, 8, 4, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2140058
-    No: 17  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+    No: 15  GFLOPS: 5.46/260.49     result: MeasureResult(costs=(0.042389107,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.834479808807373, timestamp=1659984993.6016767) [('tile_f', [-1, 2, 2, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5330964
+    No: 16  GFLOPS: 3.35/260.49     result: MeasureResult(costs=(0.06917129,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.593550443649292, timestamp=1659984994.836905)   [('tile_f', [-1, 8, 4, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2140058
+    No: 17  GFLOPS: 0.00/260.49     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
@@ -1670,8 +1670,8 @@ for this template
     TimeoutError
 
             [('tile_f', [-1, 2, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10195251
-    No: 18  GFLOPS: 26.02/260.19    result: MeasureResult(costs=(0.008897085583333334,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.146895170211792, timestamp=1659978794.592944) [('tile_f', [-1, 4, 8, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6068603
-    No: 19  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+    No: 18  GFLOPS: 26.00/260.49    result: MeasureResult(costs=(0.008903667666666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.1552422046661377, timestamp=1659985005.757291)        [('tile_f', [-1, 4, 8, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6068603
+    No: 19  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1794,7 +1794,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 871, 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, 16, 4, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6956993
-    No: 20  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+    No: 20  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1973,7 +1973,7 @@ and measure running time.
     Best config:
     [('tile_f', [-1, 8, 2, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4264713
     Finish loading 20 records
-    Time cost of this operator: 0.001221
+    Time cost of this operator: 0.001227
 
 
 
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 5caf8a70b..e9b01629f 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
@@ -329,10 +329,10 @@ Timing the untuned program
     ########## Build without Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)  
     ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  310.7     98.733   (1, 2, 10, 10, 3)  2       1        [310.7]           
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.019     0.959    (1, 6, 10, 10)     1       1        [3.019]           
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.968     0.308    (1, 1, 10, 10, 3)  1       1        [0.968]           
-    Total_time                                    -                                             314.687   -        -                  -       -        -                 
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  311.2     98.717   (1, 2, 10, 10, 3)  2       1        [311.2]           
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.074     0.975    (1, 6, 10, 10)     1       1        [3.074]           
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.97      0.308    (1, 1, 10, 10, 3)  1       1        [0.97]            
+    Total_time                                    -                                             315.245   -        -                  -       -        -                 
 
 
 
@@ -398,10 +398,10 @@ Timing the tuned program
     ########## Build with Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)  
     ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  149.6     98.197   (1, 6, 10, 10, 1)  2       1        [149.6]           
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.77      1.162    (1, 6, 10, 10)     1       1        [1.77]            
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.977     0.641    (1, 1, 10, 10, 3)  1       1        [0.977]           
-    Total_time                                    -                                             152.347   -        -                  -       -        -                 
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  79.375    96.644   (1, 6, 10, 10, 1)  2       1        [79.375]          
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.768     2.153    (1, 6, 10, 10)     1       1        [1.768]           
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.988     1.203    (1, 1, 10, 10, 3)  1       1        [0.988]           
+    Total_time                                    -                                             82.131    -        -                  -       -        -                 
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
index 3cda4df34..cdf33171c 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
@@ -225,7 +225,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
  .. code-block:: none
 
 
-    '/tmp/tmpmsakw0lz/images/random'
+    '/tmp/tmp8cn2n0d0/images/random'
 
 
 
@@ -325,8 +325,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
  .. code-block:: none
 
-    /tmp/tmpmsakw0lz/images/target contains 8144 images
-    /tmp/tmpmsakw0lz/images/random contains 5000 images
+    /tmp/tmp8cn2n0d0/images/target contains 8144 images
+    /tmp/tmp8cn2n0d0/images/random contains 5000 images
 
 
 
@@ -501,13 +501,13 @@ the time on our validation set).
  .. code-block:: none
 
     Epoch 1/3
-    328/328 - 55s - loss: 0.2465 - accuracy: 0.9191 - val_loss: 0.1577 - val_accuracy: 0.9535
+    328/328 - 56s - loss: 0.2196 - accuracy: 0.9230 - val_loss: 0.1736 - val_accuracy: 0.9475
     Epoch 2/3
-    328/328 - 52s - loss: 0.0956 - accuracy: 0.9657 - val_loss: 0.1221 - val_accuracy: 0.9619
+    328/328 - 53s - loss: 0.1006 - accuracy: 0.9617 - val_loss: 0.1143 - val_accuracy: 0.9683
     Epoch 3/3
-    328/328 - 52s - loss: 0.0660 - accuracy: 0.9751 - val_loss: 0.1200 - val_accuracy: 0.9630
+    328/328 - 52s - loss: 0.0644 - accuracy: 0.9765 - val_loss: 0.1368 - val_accuracy: 0.9581
 
-    <keras.callbacks.History object at 0x7f58110901d0>
+    <keras.callbacks.History object at 0x7f7cd133aa50>
 
 
 
@@ -864,7 +864,7 @@ Arduino tutorial for how to do that `on GitHub <https://github.com/guberti/tvm-a
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 5 minutes  10.904 seconds)
+   **Total running time of the script:** ( 5 minutes  14.613 seconds)
 
 
 .. _sphx_glr_download_how_to_work_with_microtvm_micro_train.py:
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 36dfc8665..410ad8567 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,16 +5,16 @@
 
 Computation times
 =================
-**06:03.464** total execution time for **how_to_work_with_microtvm** files:
+**06:09.049** total execution time for **how_to_work_with_microtvm** files:
 
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)               | 05:10.904 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)               | 05:14.613 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)         | 00:41.777 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)         | 00:42.793 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``)                   | 00:07.544 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``)                   | 00:08.271 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)             | 00:03.237 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)             | 00:03.371 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)             | 00:00.001 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
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 456e3bfc9..d66040a6d 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,14 +5,14 @@
 
 Computation times
 =================
-**00:39.041** total execution time for **how_to_work_with_relay** files:
+**00:42.006** total execution time for **how_to_work_with_relay** files:
 
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:29.336 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:30.657 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)           | 00:08.403 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)           | 00:09.934 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                             | 00:01.295 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                             | 00:01.408 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)                 | 00:00.007 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
index b72b13ec4..f8f111ee1 100644
--- a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
@@ -261,7 +261,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
  .. code-block:: none
 
 
-    <function my_cuda_math_rule at 0x7f5804182a70>
+    <function my_cuda_math_rule at 0x7f7c4a2d7b00>
 
 
 
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 5c3c53787..caf94c282 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,22 +5,22 @@
 
 Computation times
 =================
-**00:03.748** total execution time for **how_to_work_with_schedules** files:
+**00:04.141** total execution time for **how_to_work_with_schedules** files:
 
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:01.721 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:01.880 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:00.886 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:01.034 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.489 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.530 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.472 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.511 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.099 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.103 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.040 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.041 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.026 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.027 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.014 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.015 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
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 ee5348ca1..e9ff739ca 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -347,7 +347,7 @@ The importing needs to happen before the tensorized GEMV being executed.
                  C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C}
       preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpkip108xk/input0.cc'\nsource_filename = \"/tmp/tmpkip108xk/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = alloca float*, align 8\n  %8 = alloca float*, align 8\n  %9 = alloca floa [...]
+      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpmwexff5n/input0.cc'\nsource_filename = \"/tmp/tmpmwexff5n/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = alloca float*, align 8\n  %8 = alloca float*, align 8\n  %9 = alloca floa [...]
       for (i, 0, 1024) {
         for (j.outer: int32, 0, 32) {
           @tir.call_extern("gemv_update", @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
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 bbf2fcdc5..0d07ad55c 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,10 +5,10 @@
 
 Computation times
 =================
-**00:21.344** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:22.183** total execution time for **topic_vta_tutorials_autotvm** files:
 
 +---------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:21.338 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:22.176 | 0.0 MB |
 +---------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)     | 00:00.006 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)     | 00:00.007 | 0.0 MB |
 +---------------------------------------------------------------------------------------+-----------+--------+
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 be3451ac8..a6bc974ce 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -291,7 +291,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 23.02s!
+    resnet18_v1 inference graph built in 23.87s!
 
 
 
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 c67c65b6a..991f52213 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -335,7 +335,7 @@ The compilation steps are:
       "target_host parameter is going to be deprecated. "
     /workspace/python/tvm/relay/build_module.py:411: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
       DeprecationWarning,
-    yolov3-tiny inference graph built in 16.10s!
+    yolov3-tiny inference graph built in 16.55s!
 
 
 
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 ddc76c670..f07283f7c 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,10 +5,10 @@
 
 Computation times
 =================
-**01:30.644** total execution time for **topic_vta_tutorials_frontend** files:
+**01:33.388** total execution time for **topic_vta_tutorials_frontend** files:
 
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:47.871 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:49.382 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:42.773 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:44.006 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
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 b0159dad5..3b1e25c09 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,10 +5,10 @@
 
 Computation times
 =================
-**00:03.171** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.250** total execution time for **topic_vta_tutorials_optimize** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.815 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.858 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.355 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.392 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
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 87ce2ff67..a9ab3f2d3 100644
--- a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:00.640** total execution time for **topic_vta_tutorials** files:
+**00:00.700** total execution time for **topic_vta_tutorials** files:
 
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.347 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.372 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.294 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.328 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
index 5c3102814..97dddf3c2 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -328,7 +328,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 93.635 ms
+    Execution time of this operator: 93.853 ms
 
 
 
@@ -428,7 +428,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
 
 
 
@@ -444,6 +444,11 @@ Expression (TE) language that demonstrates how TVM can optimize computational
 operations.
 
 
+.. rst-class:: sphx-glr-timing
+
+   **Total running time of the script:** ( 1 minutes  0.163 seconds)
+
+
 .. _sphx_glr_download_tutorial_auto_scheduler_matmul_x86.py:
 
 .. only:: html
diff --git a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
index ab8149250..b44e0eda7 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -462,16 +462,16 @@ reduce variance, we take 5 measurements and average them.
     waiting for device...
     device available
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 10.35/10.35     result: MeasureResult(costs=(0.025936851599999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5485069751739502, timestamp=1659977578.9474897)       [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
-    No: 2   GFLOPS: 2.59/10.35      result: MeasureResult(costs=(0.1037991476,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.812711477279663, timestamp=1659977580.7737415)        [('tile_y', [-1, 4]), ('tile_x', [-1, 8])],None,32
-    No: 3   GFLOPS: 11.82/11.82     result: MeasureResult(costs=(0.0227085236,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5602772235870361, timestamp=1659977581.8284657)       [('tile_y', [-1, 64]), ('tile_x', [-1, 32])],None,56
-    No: 4   GFLOPS: 1.74/11.82      result: MeasureResult(costs=(0.153892618,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.5784571170806885, timestamp=1659977584.9858534)        [('tile_y', [-1, 1]), ('tile_x', [-1, 4])],None,20
-    No: 5   GFLOPS: 3.61/11.82      result: MeasureResult(costs=(0.074331872,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3287065029144287, timestamp=1659977586.9678323)        [('tile_y', [-1, 256]), ('tile_x', [-1, 16])],None,48
-    No: 6   GFLOPS: 1.83/11.82      result: MeasureResult(costs=(0.1465434698,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.511348247528076, timestamp=1659977589.523267) [('tile_y', [-1, 512]), ('tile_x', [-1, 4])],None,29
-    No: 7   GFLOPS: 0.85/11.82      result: MeasureResult(costs=(0.3173718304,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.201577425003052, timestamp=1659977594.7664363)        [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
-    No: 8   GFLOPS: 10.32/11.82     result: MeasureResult(costs=(0.026010987200000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5590579509735107, timestamp=1659977595.3445802)       [('tile_y', [-1, 4]), ('tile_x', [-1, 64])],None,62
-    No: 9   GFLOPS: 1.64/11.82      result: MeasureResult(costs=(0.16345186839999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.713444471359253, timestamp=1659977598.1774435) [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
-    No: 10  GFLOPS: 2.52/11.82      result: MeasureResult(costs=(0.10654809840000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8110718727111816, timestamp=1659977600.0463467)        [('tile_y', [-1, 4]), ('tile_x', [-1, 4])],None,22
+    No: 1   GFLOPS: 10.80/10.80     result: MeasureResult(costs=(0.024846783,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5368003845214844, timestamp=1659983747.8967059)        [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
+    No: 2   GFLOPS: 2.95/10.80      result: MeasureResult(costs=(0.09087277340000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6046254634857178, timestamp=1659983749.5137746)        [('tile_y', [-1, 4]), ('tile_x', [-1, 8])],None,32
+    No: 3   GFLOPS: 11.82/11.82     result: MeasureResult(costs=(0.0227088508,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.560215950012207, timestamp=1659983750.5714688)        [('tile_y', [-1, 64]), ('tile_x', [-1, 32])],None,56
+    No: 4   GFLOPS: 1.60/11.82      result: MeasureResult(costs=(0.1674122876,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.790126085281372, timestamp=1659983753.9457908)        [('tile_y', [-1, 1]), ('tile_x', [-1, 4])],None,20
+    No: 5   GFLOPS: 3.53/11.82      result: MeasureResult(costs=(0.0760948634,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3825316429138184, timestamp=1659983755.993885)        [('tile_y', [-1, 256]), ('tile_x', [-1, 16])],None,48
+    No: 6   GFLOPS: 1.44/11.82      result: MeasureResult(costs=(0.18676692379999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.148561477661133, timestamp=1659983759.1866245) [('tile_y', [-1, 512]), ('tile_x', [-1, 4])],None,29
+    No: 7   GFLOPS: 0.76/11.82      result: MeasureResult(costs=(0.35490823639999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.796654939651489, timestamp=1659983765.0295594) [('tile_y', [-1, 512]), ('tile_x', [-1, 2])],None,19
+    No: 8   GFLOPS: 9.63/11.82      result: MeasureResult(costs=(0.027878359799999995,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5920515060424805, timestamp=1659983765.6384869)       [('tile_y', [-1, 4]), ('tile_x', [-1, 64])],None,62
+    No: 9   GFLOPS: 1.52/11.82      result: MeasureResult(costs=(0.17609806739999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.93247127532959, timestamp=1659983768.6907191)  [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
+    No: 10  GFLOPS: 2.31/11.82      result: MeasureResult(costs=(0.1163440022,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.9821958541870117, timestamp=1659983770.7149951)       [('tile_y', [-1, 4]), ('tile_x', [-1, 4])],None,22
 
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 644b0e807..b9d96a62a 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -327,7 +327,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 494.8382831500203, 'median': 494.9034209000274, 'std': 0.4695289466499989}
+    {'mean': 495.50137435000124, 'median': 495.54410644999507, 'std': 0.5679079545539961}
 
 
 
@@ -563,30 +563,30 @@ the tuning data to.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.51/  17.51 GFLOPS | Progress: (4/20) | 6.39 s
    [Task  1/25]  Current/Best:    6.17/  17.51 GFLOPS | Progress: (8/20) | 9.34 s
    [Task  1/25]  Current/Best:   11.52/  22.75 GFLOPS | Progress: (12/20) | 11.80 s
    [Task  1/25]  Current/Best:   16.70/  22.75 GFLOPS | Progress: (16/20) | 13.50 s
    [Task  1/25]  Current/Best:   11.61/  23.92 GFLOPS | Progress: (20/20) | 15.25 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.27/  12.81 GFLOPS | Progress: (4/20) | 3.92 s
    [Task  2/25]  Current/Best:   13.98/  17.52 GFLOPS | Progress: (8/20) | 5.25 s
    [Task  2/25]  Current/Best:   20.60/  20.60 GFLOPS | Progress: (12/20) | 6.58 s
    [Task  2/25]  Current/Best:   12.38/  20.60 GFLOPS | Progress: (16/20) | 7.83 s
    [Task  2/25]  Current/Best:   19.67/  20.60 GFLOPS | Progress: (20/20) | 9.45 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    1.63/  10.58 GFLOPS | Progress: (4/20) | 5.88 s
    [Task  3/25]  Current/Best:   15.45/  16.91 GFLOPS | Progress: (8/20) | 7.80 s
    [Task  3/25]  Current/Best:   14.94/  16.91 GFLOPS | Progress: (12/20) | 9.52 s
    [Task  3/25]  Current/Best:    7.17/  23.81 GFLOPS | Progress: (16/20) | 11.43 s
    [Task  3/25]  Current/Best:   11.13/  23.81 GFLOPS | Progress: (20/20) | 16.03 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.20/  19.69 GFLOPS | Progress: (4/20) | 2.41 s
    [Task  4/25]  Current/Best:    6.84/  19.69 GFLOPS | Progress: (8/20) | 7.11 s
    [Task  4/25]  Current/Best:   22.15/  22.15 GFLOPS | Progress: (12/20) | 11.93 s
    [Task  4/25]  Current/Best:   17.40/  22.15 GFLOPS | Progress: (16/20) | 14.30 s
    [Task  4/25]  Current/Best:   13.43/  22.15 GFLOPS | Progress: (20/20) | 16.38 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.59/  10.42 GFLOPS | Progress: (4/20) | 2.59 s
    [Task  5/25]  Current/Best:   11.79/  12.83 GFLOPS | Progress: (8/20) | 4.66 s
    [Task  5/25]  Current/Best:   11.39/  18.00 GFLOPS | Progress: (12/20) | 7.86 s
    [Task  5/25]  Current/Best:   11.81/  22.73 GFLOPS | Progress: (16/20) | 9.32 s
    [Task  5/25]  Current/Best:   12.00/  22.73 GFLOPS | Progress: (20/20) | 11.23 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.17/  20.76 GFLOPS | Progress: (4/20) | 4.13 s
    [Task  6/25]  Current/Best:   19.05/  20.76 GFLOPS | Progress: (8/20) | 5.89 s
    [Task  6/25]  Current/Best:   13.32/  20.76 GFLOPS | Progress: (12/20) | 7.82 s
    [Task  6/25]  Current/Best:   20.02/  20.76 GFLOPS | Progress: (16/20) | 10.09 s
    [Task  6/25]  Current/Best:    3.75/  20.76 GFLOPS | Progress: (20/20) | 12.63 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   11.26/  12.92 GFLOPS | Progress: (4/20) | 3.63 s
    [Task  7/25]  Current/Best:   20.27/  21.17 GFLOPS | Progress: (8/20) | 5.14 s
    [Task  7/25]  Current/Best:   16.09/  21.17 GFLOPS | Progress: (12/20) | 7.04 s
    [Task  7/25]  Current/Best:   12.26/  21.17 GFLOPS | Progress: (16/20) | 9.09 s
    [Task  7/25]  Current/Best:    6.38/  21.73 GFLOPS | Progress: (20/20) | 11.54 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:   10.04/  13.98 GFLOPS | Progress: (4/20) | 2.94 s
    [Task  8/25]  Current/Best:    9.55/  13.98 GFLOPS | Progress: (8/20) | 8.03 s
    [Task  8/25]  Current/Best:   12.45/  13.98 GFLOPS | Progress: (12/20) | 14.51 s
    [Task  8/25]  Current/Best:   18.97/  18.97 GFLOPS | Progress: (16/20) | 16.62 s
    [Task  8/25]  Current/Best:   20.30/  20.30 GFLOPS | Progress: (20/20) | 23.67 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.24/  15.52 GFLOPS | Progress: (4/20) | 12.01 s
    [Task  9/25]  Current/Best:   23.38/  23.38 GFLOPS | Progress: (8/20) | 13.83 s
    [Task  9/25]  Current/Best:    8.24/  23.38 GFLOPS | Progress: (12/20) | 16.38 s
    [Task  9/25]  Current/Best:   17.78/  23.38 GFLOPS | Progress: (16/20) | 19.25 s
    [Task  9/25]  Current/Best:    8.98/  23.38 GFLOPS | Progress: (20/20) | 27.71 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   18.48/  18.48 GFLOPS | Progress: (4/20) | 2.61 s
    [Task 10/25]  Current/Best:   15.55/  18.48 GFLOPS | Progress: (8/20) | 4.26 s
    [Task 10/25]  Current/Best:   12.59/  19.04 GFLOPS | Progress: (12/20) | 5.81 s
    [Task 10/25]  Current/Best:   19.15/  20.58 GFLOPS | Progress: (16/20) | 6.93 s
    [Task 10/25]  Current/Best:    8.88/  20.58 GFLOPS | Progress: (20/20
 ) | 8.47 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   12.28/  18.12 GFLOPS | Progress: (4/20) | 3.45 s
    [Task 11/25]  Current/Best:   16.65/  18.12 GFLOPS | Progress: (8/20) | 6.25 s
    [Task 11/25]  Current/Best:   18.04/  18.12 GFLOPS | Progress: (12/20) | 8.34 s
    [Task 11/25]  Current/Best:   13.48/  21.18 GFLOPS | Progress: (16/20) | 11.29 s
    [Task 11/25]  Current/Best:   19.20/  21.55 GFLOPS | Progress: (20/20) | 13.41 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.80/  17.94 GFLOPS | Progress: (4/20) | 5.84 s
    [Task 12/25]  Current/Best:    5.24/  17.94 GFLOPS | Progress: (8/20) | 9.78 s
    [Task 12/25]  Current/Best:   19.02/  19.02 GFLOPS | Progress: (12/20) | 11.76 s
    [Task 12/25]  Current/Best:   14.41/  19.02 GFLOPS | Progress: (16/20) | 14.66 s
    [Task 12/25]  Current/Best:   15.12/  19.04 GFLOPS | Progress: (20/20) | 16.58 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.95/  17.30 GFLOPS | Progress: (4/20) | 3.81 s
    [Task 13/25]  Current/Best:   16.06/  20.77 GFLOPS | Progress: (8/20) | 6.40 s
    [Task 13/25]  Current/Best:   19.52/  21.40 GFLOPS | Progress: (12/20) | 9.54 s
    [Task 13/25]  Current/Best:   12.21/  21.40 GFLOPS | Progress: (16/20) | 12.98 s
    [Task 13/25]  Current/Best:   18.75/  21.40 GFLOPS | Progress: (20/20) | 15.26 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.72/  13.72 GFLOPS | Progress: (4/20) | 3.38 s
    [Task 14/25]  Current/Best:    6.11/  13.72 GFLOPS | Progress: (8/20) | 5.54 s
    [Task 14/25]  Current/Best:   20.96/  20.96 GFLOPS | Progress: (12/20) | 8.24 s
    [Task 14/25]  Current/Best:   16.74/  20.96 GFLOPS | Progress: (16/20) | 9.89 s Done.
-
    [Task 14/25]  Current/Best:   17.31/  20.96 GFLOPS | Progress: (20/20) | 11.65 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.16/  17.67 GFLOPS | Progress: (4/20) | 2.74 s
    [Task 15/25]  Current/Best:   14.36/  18.12 GFLOPS | Progress: (8/20) | 4.04 s
    [Task 15/25]  Current/Best:   10.34/  22.25 GFLOPS | Progress: (12/20) | 6.27 s
    [Task 15/25]  Current/Best:   20.20/  22.25 GFLOPS | Progress: (16/20) | 9.70 s
    [Task 15/25]  Current/Best:    9.69/  22.25 GFLOPS | Progress: (20/20) | 10.73 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   20.80/  20.80 GFLOPS | Progress: (4/20) | 3.02 s
    [Task 16/25]  Current/Best:    3.02/  20.80 GFLOPS | Progress: (8/20) | 4.65 s
    [Task 16/25]  Current/Best:   19.82/  20.80 GFLOPS | Progress: (12/20) | 5.88 s
    [Task 16/25]  Current/Best:   17.21/  20.80 GFLOPS | Progress: (16/20) |
  7.25 s
    [Task 16/25]  Current/Best:    9.96/  21.88 GFLOPS | Progress: (20/20) | 9.44 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.95/  18.74 GFLOPS | Progress: (4/20) | 4.87 s
    [Task 17/25]  Current/Best:   14.45/  23.08 GFLOPS | Progress: (8/20) | 7.71 s
    [Task 17/25]  Current/Best:   16.93/  23.08 GFLOPS | Progress: (12/20) | 9.78 s
    [Task 17/25]  Current/Best:   17.06/  23.08 GFLOPS | Progress: (16/20) | 11.98 s
    [Task 17/25]  Current/Best:   10.05/  23.08 GFLOPS | Progress: (20/20) | 14.14 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.25/  17.06 GFLOPS | Progress: (4/20) | 3.80 s
    [Task 18/25]  Current/Best:   10.65/  19.71 GFLOPS | Progress: (8/20) | 7.50 s
    [Task 18/25]  Current/Best:   19.29/  19.71 GFLOPS | Progress: (12/20) | 9.44 s
    [Task 18/25]  Current/Best:   10.06/  19.71 GFLOPS | Progress: (16/20) | 13.32 s
    [Task 18/25]  Current/Best:   20.73/  20.73 GFLOPS | Progress: (20/20) | 14.84 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    6.62/  20.23 GFLOPS | Progress: (4/20) | 6.30 s
    [Task 19/25]  Current/Best:    2.61/  20.23 GFLOPS | Progress: (8/20) | 9.67 s
    [Task 19/25]  Current/Best:   19.44/  21.06 GFLOPS | Progress: (12/20) | 12.61 s
    [Task 19/25]  Current/Best:   15.12/  21.19 GFLOPS | Progress: (16/20) | 15.60 s
    [Task 19/25]  Current/Best:    2.70/  23.40 GFLOPS | Progress: (20/20) | 18.39 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    8.94/  14.81 GFLOPS | Progress: (4/20) | 3.37 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.42/  17.42 GFLOPS | Progress: (4/20) | 6.38 s
    [Task  1/25]  Current/Best:    6.16/  17.42 GFLOPS | Progress: (8/20) | 9.41 s
    [Task  1/25]  Current/Best:   11.53/  22.76 GFLOPS | Progress: (12/20) | 11.84 s
    [Task  1/25]  Current/Best:   16.71/  22.76 GFLOPS | Progress: (16/20) | 13.53 s
    [Task  1/25]  Current/Best:   11.57/  23.83 GFLOPS | Progress: (20/20) | 15.27 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.27/  13.15 GFLOPS | Progress: (4/20) | 3.82 s
    [Task  2/25]  Current/Best:   13.73/  18.51 GFLOPS | Progress: (8/20) | 5.11 s
    [Task  2/25]  Current/Best:   20.85/  20.85 GFLOPS | Progress: (12/20) | 6.44 s
    [Task  2/25]  Current/Best:   12.71/  20.85 GFLOPS | Progress: (16/20) | 7.77 s
    [Task  2/25]  Current/Best:   19.20/  20.85 GFLOPS | Progress: (20/20) | 9.38 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    1.63/  10.55 GFLOPS | Progress: (4/20) | 5.88 s
    [Task  3/25]  Current/Best:   15.52/  16.90 GFLOPS | Progress: (8/20) | 7.84 s
    [Task  3/25]  Current/Best:   14.86/  16.90 GFLOPS | Progress: (12/20) | 9.57 s
    [Task  3/25]  Current/Best:    7.18/  23.59 GFLOPS | Progress: (16/20) | 11.49 s
    [Task  3/25]  Current/Best:   12.54/  23.59 GFLOPS | Progress: (20/20) | 16.02 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.46/  20.35 GFLOPS | Progress: (4/20) | 2.41 s
    [Task  4/25]  Current/Best:    6.81/  20.35 GFLOPS | Progress: (8/20) | 6.73 s
    [Task  4/25]  Current/Best:   22.15/  22.15 GFLOPS | Progress: (12/20) | 11.24 s
    [Task  4/25]  Current/Best:   17.35/  22.15 GFLOPS | Progress: (16/20) | 13.44 s
    [Task  4/25]  Current/Best:   13.37/  22.15 GFLOPS | Progress: (20/20) | 15.46 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.89/  10.39 GFLOPS | Progress: (4/20) | 2.59 s
    [Task  5/25]  Current/Best:   11.66/  12.77 GFLOPS | Progress: (8/20) | 4.65 s
    [Task  5/25]  Current/Best:   10.55/  18.05 GFLOPS | Progress: (12/20) | 7.77 s
    [Task  5/25]  Current/Best:   11.85/  22.98 GFLOPS | Progress: (16/20) | 9.22 s
    [Task  5/25]  Current/Best:   11.84/  22.98 GFLOPS | Progress: (20/20) | 11.20 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.30/  20.61 GFLOPS | Progress: (4/20) | 3.97 s
    [Task  6/25]  Current/Best:   18.95/  20.61 GFLOPS | Progress: (8/20) | 5.73 s
    [Task  6/25]  Current/Best:   13.23/  20.61 GFLOPS | Progress: (12/20) | 7.65 s
    [Task  6/25]  Current/Best:   19.79/  20.61 GFLOPS | Progress: (16/20) | 9.90 s
    [Task  6/25]  Current/Best:    3.74/  20.61 GFLOPS | Progress: (20/20) | 12.41 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   11.25/  12.89 GFLOPS | Progress: (4/20) | 3.57 s
    [Task  7/25]  Current/Best:   20.18/  21.04 GFLOPS | Progress: (8/20) | 5.07 s
    [Task  7/25]  Current/Best:   15.95/  21.04 GFLOPS | Progress: (12/20) | 6.99 s
    [Task  7/25]  Current/Best:   12.26/  21.04 GFLOPS | Progress: (16/20) | 9.04 s
    [Task  7/25]  Current/Best:    6.36/  21.56 GFLOPS | Progress: (20/20) | 11.49 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:   10.24/  14.32 GFLOPS | Progress: (4/20) | 2.90 s
    [Task  8/25]  Current/Best:    9.76/  14.32 GFLOPS | Progress: (8/20) | 7.60 s
    [Task  8/25]  Current/Best:   12.90/  14.32 GFLOPS | Progress: (12/20) | 13.71 s
    [Task  8/25]  Current/Best:   18.95/  18.95 GFLOPS | Progress: (16/20) | 15.79 s
    [Task  8/25]  Current/Best:   20.04/  20.04 GFLOPS | Progress: (20/20) | 22.28 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.23/  15.74 GFLOPS | Progress: (4/20) | 11.97 s
    [Task  9/25]  Current/Best:   23.40/  23.40 GFLOPS | Progress: (8/20) | 13.70 s
    [Task  9/25]  Current/Best:    8.24/  23.40 GFLOPS | Progress: (12/20) | 16.08 s
    [Task  9/25]  Current/Best:   17.85/  23.40 GFLOPS | Progress: (16/20) | 18.75 s
    [Task  9/25]  Current/Best:    9.14/  23.40 GFLOPS | Progress: (20/20) | 26.45 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   18.34/  18.34 GFLOPS | Progress: (4/20) | 2.59 s
    [Task 10/25]  Current/Best:   15.63/  18.34 GFLOPS | Progress: (8/20) | 4.17 s
    [Task 10/25]  Current/Best:   12.77/  19.01 GFLOPS | Progress: (12/20) | 5.68 s
    [Task 10/25]  Current/Best:   19.03/  20.38 GFLOPS | Progress: (16/20) | 6.79 s
    [Task 10/25]  Current/Best:    8.84/  20.38 GFLOPS | Progress: (20/20
 ) | 8.32 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   12.14/  18.11 GFLOPS | Progress: (4/20) | 3.37 s
    [Task 11/25]  Current/Best:   16.83/  18.11 GFLOPS | Progress: (8/20) | 6.09 s
    [Task 11/25]  Current/Best:   18.03/  18.11 GFLOPS | Progress: (12/20) | 8.10 s
    [Task 11/25]  Current/Best:   13.32/  21.15 GFLOPS | Progress: (16/20) | 10.82 s
    [Task 11/25]  Current/Best:   19.50/  21.55 GFLOPS | Progress: (20/20) | 12.86 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.80/  18.13 GFLOPS | Progress: (4/20) | 5.35 s
    [Task 12/25]  Current/Best:    5.22/  18.13 GFLOPS | Progress: (8/20) | 9.07 s
    [Task 12/25]  Current/Best:   18.92/  19.02 GFLOPS | Progress: (12/20) | 11.05 s
    [Task 12/25]  Current/Best:   15.16/  19.02 GFLOPS | Progress: (16/20) | 13.79 s
    [Task 12/25]  Current/Best:   15.07/  19.02 GFLOPS | Progress: (20/20) | 15.75 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.71/  17.24 GFLOPS | Progress: (4/20) | 3.67 s
    [Task 13/25]  Current/Best:   15.87/  20.68 GFLOPS | Progress: (8/20) | 6.10 s
    [Task 13/25]  Current/Best:   19.52/  21.45 GFLOPS | Progress: (12/20) | 9.00 s
    [Task 13/25]  Current/Best:   12.22/  21.45 GFLOPS | Progress: (16/20) | 12.44 s
    [Task 13/25]  Current/Best:   18.54/  21.45 GFLOPS | Progress: (20/20) | 14.64 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.55/  13.55 GFLOPS | Progress: (4/20) | 3.34 s
    [Task 14/25]  Current/Best:    6.08/  13.55 GFLOPS | Progress: (8/20) | 5.51 s
    [Task 14/25]  Current/Best:   20.39/  20.39 GFLOPS | Progress: (12/20) | 8.05 s
    [Task 14/25]  Current/Best:   17.08/  20.39 GFLOPS | Progress: (16/20) | 9.68 s Done.
+
    [Task 14/25]  Current/Best:   17.31/  20.39 GFLOPS | Progress: (20/20) | 11.42 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.07/  17.58 GFLOPS | Progress: (4/20) | 2.74 s
    [Task 15/25]  Current/Best:   14.44/  18.03 GFLOPS | Progress: (8/20) | 4.04 s
    [Task 15/25]  Current/Best:   10.35/  22.14 GFLOPS | Progress: (12/20) | 6.20 s
    [Task 15/25]  Current/Best:   20.32/  22.14 GFLOPS | Progress: (16/20) | 9.61 s
    [Task 15/25]  Current/Best:    9.70/  22.14 GFLOPS | Progress: (20/20) | 10.63 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   20.02/  20.02 GFLOPS | Progress: (4/20) | 3.00 s
    [Task 16/25]  Current/Best:    3.04/  20.02 GFLOPS | Progress: (8/20) | 4.61 s
    [Task 16/25]  Current/Best:   19.60/  20.02 GFLOPS | Progress: (12/20) | 5.82 s
    [Task 16/25]  Current/Best:   17.76/  20.02 GFLOPS | Progress: (16/20) |
  7.19 s
    [Task 16/25]  Current/Best:   10.07/  22.35 GFLOPS | Progress: (20/20) | 9.24 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.43/  18.72 GFLOPS | Progress: (4/20) | 4.71 s
    [Task 17/25]  Current/Best:   14.00/  23.09 GFLOPS | Progress: (8/20) | 7.55 s
    [Task 17/25]  Current/Best:   17.26/  23.09 GFLOPS | Progress: (12/20) | 9.61 s
    [Task 17/25]  Current/Best:   16.49/  23.09 GFLOPS | Progress: (16/20) | 11.76 s
    [Task 17/25]  Current/Best:   10.04/  23.09 GFLOPS | Progress: (20/20) | 13.89 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.30/  18.08 GFLOPS | Progress: (4/20) | 3.72 s
    [Task 18/25]  Current/Best:   10.60/  18.08 GFLOPS | Progress: (8/20) | 7.19 s
    [Task 18/25]  Current/Best:   19.28/  19.28 GFLOPS | Progress: (12/20) | 9.12 s
    [Task 18/25]  Current/Best:   10.02/  19.28 GFLOPS | Progress: (16/20) | 12.72 s
    [Task 18/25]  Current/Best:   20.82/  20.82 GFLOPS | Progress: (20/20) | 14.22 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    6.84/  20.17 GFLOPS | Progress: (4/20) | 6.08 s
    [Task 19/25]  Current/Best:    2.61/  20.17 GFLOPS | Progress: (8/20) | 9.37 s
    [Task 19/25]  Current/Best:   19.57/  20.86 GFLOPS | Progress: (12/20) | 12.13 s
    [Task 19/25]  Current/Best:   15.06/  21.66 GFLOPS | Progress: (16/20) | 14.94 s
    [Task 19/25]  Current/Best:    2.70/  23.06 GFLOPS | Progress: (20/20) | 17.70 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    9.66/  14.96 GFLOPS | Progress: (4/20) | 3.32 s Done.
      Done.
-
    [Task 20/25]  Current/Best:    9.92/  14.81 GFLOPS | Progress: (8/20) | 6.77 s
    [Task 20/25]  Current/Best:    2.31/  16.62 GFLOPS | Progress: (12/20) | 10.71 s
    [Task 20/25]  Current/Best:   12.58/  16.62 GFLOPS | Progress: (16/20) | 14.51 s
    [Task 20/25]  Current/Best:   12.00/  21.85 GFLOPS | Progress: (20/20) | 16.65 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.39/  17.68 GFLOPS | Progress: (4/20) | 3.34 s
    [Task 21/25]  Current/Best:   14.56/  17.68 GFLOPS | Progress: (8/20) | 4.95 s
    [Task 21/25]  Current/Best:    1.61/  17.68 GFLOPS | Progress: (12/20) | 7.14 s
    [Task 21/25]  Current/Best:   17.94/  17.94 GFLOPS | Progress: (16/20) | 10.71 s
    [Task 21/25]  Current/Best:    4.46/  17.94 GFLOPS | Progress: (20/20) | 18.09 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.70/  16.95 GFLOPS | Progress: (4/20
 ) | 2.75 s
    [Task 22/25]  Current/Best:    8.77/  22.09 GFLOPS | Progress: (8/20) | 4.80 s
    [Task 22/25]  Current/Best:   20.02/  22.09 GFLOPS | Progress: (12/20) | 7.17 s
    [Task 22/25]  Current/Best:   15.35/  22.09 GFLOPS | Progress: (16/20) | 9.30 s
    [Task 22/25]  Current/Best:   13.30/  22.09 GFLOPS | Progress: (20/20) | 10.99 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.57/  20.86 GFLOPS | Progress: (4/20) | 3.28 s
    [Task 23/25]  Current/Best:   15.76/  20.86 GFLOPS | Progress: (8/20) | 6.67 s
    [Task 23/25]  Current/Best:   21.00/  21.81 GFLOPS | Progress: (12/20) | 8.50 s
    [Task 23/25]  Current/Best:    6.46/  21.81 GFLOPS | Progress: (16/20) | 15.42 s
    [Task 23/25]  Current/Best:    7.79/  21.81 GFLOPS | Progress: (20/20) | 19.64 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.60/   8.60 GFLOPS | Progress: (4/20) | 11.81 s
    [Task 24/25]  Current/Best:    3.52/   8.60 GFLOPS | Progress: (8/20) | 23.06 s
    [Task 24/25]  Current/Best:    4.53/   8.60 GFLOPS | Progress: (12/20) | 33.78 s Done.
-
    [Task 24/25]  Current/Best:    6.30/   8.96 GFLOPS | Progress: (16/20) | 39.38 s
    [Task 24/25]  Current/Best:    3.35/   8.96 GFLOPS | Progress: (20/20) | 45.31 s Done.
-
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    1.55/   2.80 GFLOPS | Progress: (4/20) | 11.61 s
    [Task 25/25]  Current/Best:    5.88/   8.02 GFLOPS | Progress: (8/20) | 22.88 s
    [Task 25/25]  Current/Best:    5.65/   8.02 GFLOPS | Progress: (12/20) | 34.36 s
    [Task 25/25]  Current/Best:    5.89/   8.94 GFLOPS | Progress: (16/20) | 36.22 s
    [Task 25/25]  Current/Best:    2.93/   9.19 GFLOPS | Progress: (20/20) | 46.93 s
+
    [Task 20/25]  Current/Best:   10.28/  14.96 GFLOPS | Progress: (8/20) | 6.60 s
    [Task 20/25]  Current/Best:    2.32/  16.66 GFLOPS | Progress: (12/20) | 10.46 s
    [Task 20/25]  Current/Best:   11.30/  16.66 GFLOPS | Progress: (16/20) | 14.27 s
    [Task 20/25]  Current/Best:   12.63/  21.72 GFLOPS | Progress: (20/20) | 16.37 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.39/  17.65 GFLOPS | Progress: (4/20) | 3.24 s
    [Task 21/25]  Current/Best:   14.43/  17.65 GFLOPS | Progress: (8/20) | 4.81 s
    [Task 21/25]  Current/Best:    1.61/  17.65 GFLOPS | Progress: (12/20) | 6.97 s
    [Task 21/25]  Current/Best:   16.60/  17.65 GFLOPS | Progress: (16/20) | 10.44 s
    [Task 21/25]  Current/Best:    4.46/  17.65 GFLOPS | Progress: (20/20) | 17.63 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.66/  16.98 GFLOPS | Progress: (4/20
 ) | 2.80 s
    [Task 22/25]  Current/Best:    9.15/  21.26 GFLOPS | Progress: (8/20) | 4.89 s
    [Task 22/25]  Current/Best:   19.84/  21.26 GFLOPS | Progress: (12/20) | 7.25 s
    [Task 22/25]  Current/Best:   13.06/  21.26 GFLOPS | Progress: (16/20) | 9.38 s
    [Task 22/25]  Current/Best:    9.01/  21.26 GFLOPS | Progress: (20/20) | 11.43 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.26/  17.26 GFLOPS | Progress: (4/20) | 3.79 s
    [Task 23/25]  Current/Best:   13.62/  19.31 GFLOPS | Progress: (8/20) | 7.53 s
    [Task 23/25]  Current/Best:   18.12/  19.37 GFLOPS | Progress: (12/20) | 9.64 s
    [Task 23/25]  Current/Best:    5.94/  19.37 GFLOPS | Progress: (16/20) | 17.56 s
    [Task 23/25]  Current/Best:    7.56/  19.37 GFLOPS | Progress: (20/20) | 22.00 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.65/   8.65 GFLOPS | Progress: (4/20) | 11.89 s
    [Task 24/25]  Current/Best:    2.01/   8.65 GFLOPS | Progress: (8/20) | 22.92 s
    [Task 24/25]  Current/Best:    4.32/   8.65 GFLOPS | Progress: (12/20) | 34.47 s Done.
+
    [Task 24/25]  Current/Best:    7.19/   8.90 GFLOPS | Progress: (16/20) | 39.88 s
    [Task 24/25]  Current/Best:    3.25/   9.05 GFLOPS | Progress: (20/20) | 45.83 s Done.
+
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    1.54/   2.82 GFLOPS | Progress: (4/20) | 11.63 s
    [Task 25/25]  Current/Best:    5.52/   7.68 GFLOPS | Progress: (8/20) | 22.92 s
    [Task 25/25]  Current/Best:    5.79/   7.68 GFLOPS | Progress: (12/20) | 34.35 s
    [Task 25/25]  Current/Best:    5.70/   9.20 GFLOPS | Progress: (16/20) | 36.19 s
    [Task 25/25]  Current/Best:    2.91/   9.20 GFLOPS | Progress: (20/20) | 46.90 s
 
 
 
@@ -690,8 +690,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
@@ -748,8 +748,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 411.33749366999837, 'median': 411.2396481500127, 'std': 1.7552218041233099}
-    unoptimized: {'mean': 494.8382831500203, 'median': 494.9034209000274, 'std': 0.4695289466499989}
+    optimized: {'mean': 409.2980513700013, 'median': 409.17209594999804, 'std': 0.6988073097158864}
+    unoptimized: {'mean': 495.50137435000124, 'median': 495.54410644999507, 'std': 0.5679079545539961}
 
 
 
@@ -772,7 +772,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 10 minutes  24.014 seconds)
+   **Total running time of the script:** ( 10 minutes  22.784 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 d0f34e785..4bf8df2ad 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -282,7 +282,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.325e-07 secs/op
+    1.245e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index e44cf3bbd..fb892fa38 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -263,7 +263,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x5624130)), stage(b, placeholder(b, 0x1a2b4470)), 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, 0xa969920)), stage(b, placeholder(b, 0x166dbf20)), 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 5cac52691..154b75ec7 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,24 +5,24 @@
 
 Computation times
 =================
-**13:10.203** total execution time for **tutorial** files:
+**13:22.476** total execution time for **tutorial** files:
 
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 10:24.014 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 10:22.784 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 00:59.222 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 01:01.119 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 00:50.551 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:00.163 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:30.385 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:30.734 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:24.574 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:26.301 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.705 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.700 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:00.586 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:00.521 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.159 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.147 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)                           | 00:00.005 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index ca148065b..47da35314 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -403,7 +403,7 @@ compile and run this new schedule with the parallel operation applied:
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    parallel: 0.000007
+    parallel: 0.000006
 
 
 
@@ -512,10 +512,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    7.78436000473448e-06                     1.0
-                   naive              5.8306e-06      0.7490146905402376
-                parallel              6.9154e-06       0.888371040881206
-                  vector    2.4564399999999998e-05     3.155609450880975
+                   numpy    8.08714999948279e-06                     1.0
+                   naive              5.8368e-06      0.7217375713784571
+                parallel               6.012e-06      0.7434015692035506
+                  vector             2.45652e-05      3.0375595854622524
 
 
 
@@ -936,7 +936,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.017976
+    Numpy running time: 0.018412
 
 
 
@@ -996,7 +996,7 @@ optimizations.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    none: 3.295134
+    none: 3.402409
 
 
 
@@ -1101,7 +1101,7 @@ schedule.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    blocking: 0.297950
+    blocking: 0.316126
 
 
 
@@ -1199,7 +1199,7 @@ already cache friendly from our previous optimizations.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    vectorization: 0.328424
+    vectorization: 0.347269
     @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], []),
@@ -1275,7 +1275,7 @@ more cache friendly.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    loop permutation: 0.118399
+    loop permutation: 0.120753
     @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], []),
@@ -1376,7 +1376,7 @@ optimized schedule.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    array packing: 0.110842
+    array packing: 0.110257
     @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], []),
@@ -1471,7 +1471,7 @@ to `C` when all the block results are ready.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    block caching: 0.111210
+    block caching: 0.110873
     @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], []),
@@ -1559,7 +1559,7 @@ of thread-level parallelization.
 
     /workspace/python/tvm/driver/build_module.py:268: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    parallelization: 0.144469
+    parallelization: 0.144539
     @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], []),
@@ -1640,13 +1640,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none       3.295133929000001                     1.0
-                blocking     0.29795024680000004      0.0904212858171811
-           vectorization            0.3284240171     0.09966939862734786
-        loop permutation            0.1183985089    0.035931319166723916
-           array packing     0.11084171890000001    0.033638001152092166
-           block caching            0.1112103455    0.033749871142187485
-         parallelization            0.1444693689    0.043843246439407464
+                    none            3.4024092945                     1.0
+                blocking     0.31612593969999997     0.09291237835818814
+           vectorization            0.3472692931     0.10206570198986975
+        loop permutation            0.1207533078     0.03549052960653438
+           array packing            0.1102570397    0.032405577976238976
+           block caching            0.1108725063    0.032586469381924624
+         parallelization     0.14453886600000002     0.04248132822633871
 
 
 
@@ -1686,6 +1686,11 @@ 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  1.119 seconds)
+
+
 .. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
 
 .. only:: html
diff --git a/docs/commit_hash b/docs/commit_hash
index 5378c597d..c16995e7a 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-6ebb0fd1ad35948c155b56d857392146cb168319
+b79f9501fdba5cf286f015277aeae867081b77df
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index a29aa1ac9..253d032f5 100644
--- a/docs/how_to/compile_models/from_darknet.html
+++ b/docs/how_to/compile_models/from_darknet.html
@@ -574,7 +574,7 @@ class:[&#39;truck 0.9266&#39;] left:471 top:83 right:689 bottom:169
 class:[&#39;bicycle 0.9984&#39;] left:111 top:113 right:577 bottom:447
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  1.364 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  5.933 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-darknet-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7716f96385bd5abb6e822041e285be54/from_darknet.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_darknet.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index 8590cf13e..d0f65429d 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -427,7 +427,7 @@ to download the full example code</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;x&quot;</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#tuple" title="builtins.tuple" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span><span class="o">.</span><span class="n">shape</span></a><span class="p">)</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_from_mxnet_001.png" srcset="../../_images/sphx_glr_from_mxnet_001.png" alt="from mxnet" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip539c7ad6-af04-4a82-a4c1-b600aab94521 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+<img src="../../_images/sphx_glr_from_mxnet_001.png" srcset="../../_images/sphx_glr_from_mxnet_001.png" alt="from mxnet" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip125ca64e-3fd8-4c2b-bbfe-a068e1021251 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_oneflow.html b/docs/how_to/compile_models/from_oneflow.html
index 165735393..17e61e413 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -432,14 +432,15 @@ python3 -m pip install -f https://release.oneflow.info <span class="nv">oneflow<
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip&quot; to /workspace/.oneflow/flowvision_cache/resnet18.zip
 
   0%|          | 0.00/41.5M [00:00&lt;?, ?B/s]
- 15%|#5        | 6.33M/41.5M [00:00&lt;00:00, 47.0MB/s]
- 26%|##6       | 10.8M/41.5M [00:00&lt;00:01, 28.2MB/s]
- 39%|###8      | 16.0M/41.5M [00:00&lt;00:00, 34.4MB/s]
- 54%|#####3    | 22.3M/41.5M [00:00&lt;00:00, 36.4MB/s]
- 63%|######2   | 26.0M/41.5M [00:00&lt;00:00, 33.9MB/s]
- 77%|#######7  | 32.0M/41.5M [00:00&lt;00:00, 36.6MB/s]
- 92%|#########2| 38.3M/41.5M [00:01&lt;00:00, 36.3MB/s]
-100%|##########| 41.5M/41.5M [00:01&lt;00:00, 36.9MB/s]
+ 15%|#5        | 6.33M/41.5M [00:00&lt;00:00, 47.6MB/s]
+ 26%|##6       | 10.9M/41.5M [00:00&lt;00:00, 32.8MB/s]
+ 35%|###4      | 14.3M/41.5M [00:00&lt;00:01, 27.9MB/s]
+ 41%|####1     | 17.1M/41.5M [00:00&lt;00:00, 26.5MB/s]
+ 54%|#####3    | 22.3M/41.5M [00:00&lt;00:00, 30.8MB/s]
+ 61%|######    | 25.3M/41.5M [00:00&lt;00:00, 25.9MB/s]
+ 77%|#######7  | 32.0M/41.5M [00:01&lt;00:00, 31.1MB/s]
+ 92%|#########2| 38.3M/41.5M [00:01&lt;00:00, 38.7MB/s]
+100%|##########| 41.5M/41.5M [00:01&lt;00:00, 33.2MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_onnx.html b/docs/how_to/compile_models/from_onnx.html
index 6ab7f83a2..1852f8657 100644
--- a/docs/how_to/compile_models/from_onnx.html
+++ b/docs/how_to/compile_models/from_onnx.html
@@ -447,7 +447,7 @@ provides a static definition of the input size.</p>
     <span class="p">)</span><span class="o">.</span><span class="n">evaluate</span><span class="p">()</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/workspace/python/tvm/relay/frontend/onnx.py:5880: UserWarning: Mismatched attribute type in &#39; : kernel_shape&#39;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/workspace/python/tvm/relay/frontend/onnx.py:5902: UserWarning: Mismatched attribute type in &#39; : kernel_shape&#39;
 
 ==&gt; Context: Bad node spec for node. Name:  OpType: Conv
   warnings.warn(str(e))
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index fe401d547..6ec3244a3 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -414,9 +414,9 @@ 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]
- 45%|####4     | 20.0M/44.7M [00:00&lt;00:00, 209MB/s]
- 97%|#########6| 43.1M/44.7M [00:00&lt;00:00, 229MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 226MB/s]
+ 43%|####3     | 19.4M/44.7M [00:00&lt;00:00, 203MB/s]
+ 94%|#########3| 41.8M/44.7M [00:00&lt;00:00, 222MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 223MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_tensorflow.html b/docs/how_to/compile_models/from_tensorflow.html
index 69d221cb7..6d569609d 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -636,7 +636,7 @@ banana (score = 0.00022)
 desk (score = 0.00019)
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  1.596 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  3.388 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-tensorflow-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7f1d3d1b878694c201c614c807cdebc8/from_tensorflow.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_tensorflow.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/sg_execution_times.html b/docs/how_to/compile_models/sg_execution_times.html
index d8a0ffd1a..75be15534 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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:55.919</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:11.749</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 81%" />
@@ -335,44 +335,44 @@
 <col style="width: 8%" />
 </colgroup>
 <tbody>
-<tr class="row-odd"><td><p><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></td>
-<td><p>01:01.596</p></td>
+<tr class="row-odd"><td><p><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></td>
+<td><p>01:05.933</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-even"><td><p><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></td>
-<td><p>01:01.364</p></td>
+<tr class="row-even"><td><p><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></td>
+<td><p>01:03.388</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:38.533</p></td>
+<td><p>00:40.330</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></td>
-<td><p>00:27.580</p></td>
+<td><p>00:29.272</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:24.291</p></td>
+<td><p>00:25.762</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:24.189</p></td>
+<td><p>00:25.639</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:21.636</p></td>
+<td><p>00:23.818</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:19.618</p></td>
+<td><p>00:19.509</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:14.855</p></td>
+<td><p>00:15.659</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:02.258</p></td>
+<td><p>00:02.440</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
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 1e7f6f64c..243a42e7c 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -653,7 +653,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.1874      16.1640      16.2932      16.1286       0.0626
+  16.1099      16.0788      16.2249      16.0029       0.0687
 </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 f0c1f309e..51444b27b 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -436,14 +436,14 @@ 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]
-  7%|7         | 12.7M/170M [00:00&lt;00:01, 132MB/s]
- 18%|#7        | 29.8M/170M [00:00&lt;00:00, 160MB/s]
- 32%|###1      | 54.2M/170M [00:00&lt;00:00, 204MB/s]
- 48%|####7     | 80.9M/170M [00:00&lt;00:00, 234MB/s]
- 62%|######2   | 106M/170M [00:00&lt;00:00, 244MB/s]
- 78%|#######8  | 133M/170M [00:00&lt;00:00, 258MB/s]
- 94%|#########3| 159M/170M [00:00&lt;00:00, 262MB/s]
-100%|##########| 170M/170M [00:00&lt;00:00, 240MB/s]
+  9%|8         | 14.7M/170M [00:00&lt;00:01, 154MB/s]
+ 22%|##1       | 36.9M/170M [00:00&lt;00:00, 200MB/s]
+ 37%|###6      | 62.6M/170M [00:00&lt;00:00, 232MB/s]
+ 51%|#####     | 85.8M/170M [00:00&lt;00:00, 237MB/s]
+ 64%|######3   | 108M/170M [00:00&lt;00:00, 233MB/s]
+ 77%|#######7  | 131M/170M [00:00&lt;00:00, 234MB/s]
+ 90%|######### | 153M/170M [00:00&lt;00:00, 231MB/s]
+100%|##########| 170M/170M [00:00&lt;00:00, 231MB/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;).
@@ -538,7 +538,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> ( 2 minutes  54.451 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  2.748 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-object-detection-pytorch-py">
 <div class="sphx-glr-download sphx-glr-download-python 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 c61356350..7c9797360 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -480,7 +480,7 @@ 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]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 174MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 169MB/s]
 </pre></div>
 </div>
 </div>
@@ -569,7 +569,7 @@ output values are identical out of 1000 outputs from mobilenet v2.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  90.5059      90.2221      100.4077     90.0492       1.3478
+  90.2875      90.2438      91.3583      90.1577       0.1453
 </pre></div>
 </div>
 <div class="admonition note">
@@ -608,7 +608,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  8.383 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  10.299 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-py">
 <div class="sphx-glr-download sphx-glr-download-python 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 1496c5903..8333266e8 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -573,7 +573,7 @@ TFLite Top-5 labels: [387 102 386 341 349]
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  118.6624     118.6385     119.7517     118.0309      0.3009
+  122.0269     122.0021     125.0638     121.2726      0.3974
 </pre></div>
 </div>
 <div class="admonition note">
@@ -601,7 +601,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  59.497 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  53.259 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-tflite-py">
 <div class="sphx-glr-download sphx-glr-download-python 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 5b05dea55..896cab8c9 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -509,7 +509,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  35.931 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  34.272 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-quantized-py">
 <div class="sphx-glr-download sphx-glr-download-python 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 5e99565fb..7682db0cc 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -441,24 +441,25 @@ 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]
-  5%|5         | 7052/132723 [00:00&lt;00:01, 70498.55KB/s]
- 12%|#1        | 15562/132723 [00:00&lt;00:01, 79083.72KB/s]
- 18%|#7        | 23471/132723 [00:00&lt;00:01, 69225.60KB/s]
- 24%|##3       | 31544/132723 [00:00&lt;00:01, 67457.25KB/s]
- 29%|##8       | 38376/132723 [00:00&lt;00:01, 48664.64KB/s]
- 35%|###5      | 46877/132723 [00:00&lt;00:01, 57712.42KB/s]
- 40%|####      | 53385/132723 [00:00&lt;00:01, 46864.52KB/s]
- 47%|####6     | 61770/132723 [00:01&lt;00:01, 55274.59KB/s]
- 51%|#####1    | 68136/132723 [00:01&lt;00:01, 50280.44KB/s]
- 57%|#####7    | 76286/132723 [00:01&lt;00:00, 57618.24KB/s]
- 62%|######2   | 82702/132723 [00:01&lt;00:00, 50186.26KB/s]
- 69%|######8   | 91120/132723 [00:01&lt;00:00, 58109.44KB/s]
- 74%|#######4  | 98288/132723 [00:01&lt;00:00, 60440.78KB/s]
- 80%|########  | 106806/132723 [00:01&lt;00:00, 66862.64KB/s]
- 87%|########6 | 115304/132723 [00:01&lt;00:00, 71761.54KB/s]
- 93%|#########3| 123839/132723 [00:02&lt;00:00, 75547.49KB/s]
-100%|#########9| 132385/132723 [00:02&lt;00:00, 78369.71KB/s]
-100%|##########| 132723/132723 [00:02&lt;00:00, 62506.19KB/s]
+  3%|3         | 3993/132723 [00:00&lt;00:03, 39924.71KB/s]
+  8%|7         | 10113/132723 [00:00&lt;00:02, 52429.89KB/s]
+ 13%|#3        | 17713/132723 [00:00&lt;00:01, 63186.59KB/s]
+ 19%|#9        | 25398/132723 [00:00&lt;00:01, 68578.59KB/s]
+ 25%|##4       | 33057/132723 [00:00&lt;00:01, 71462.17KB/s]
+ 31%|###       | 40665/132723 [00:00&lt;00:01, 73029.96KB/s]
+ 36%|###6      | 48306/132723 [00:00&lt;00:01, 74133.11KB/s]
+ 42%|####2     | 56043/132723 [00:00&lt;00:01, 75160.95KB/s]
+ 48%|####7     | 63676/132723 [00:00&lt;00:00, 75522.98KB/s]
+ 54%|#####3    | 71368/132723 [00:01&lt;00:00, 75953.19KB/s]
+ 60%|#####9    | 79065/132723 [00:01&lt;00:00, 76262.05KB/s]
+ 65%|######5   | 86736/132723 [00:01&lt;00:00, 76397.00KB/s]
+ 71%|#######1  | 94485/132723 [00:01&lt;00:00, 76725.90KB/s]
+ 77%|#######6  | 102158/132723 [00:01&lt;00:00, 63330.03KB/s]
+ 83%|########2 | 109903/132723 [00:01&lt;00:00, 67036.57KB/s]
+ 88%|########8 | 116931/132723 [00:01&lt;00:00, 60603.98KB/s]
+ 94%|#########3| 124639/132723 [00:01&lt;00:00, 64835.79KB/s]
+ 99%|#########9| 131415/132723 [00:01&lt;00:00, 57151.28KB/s]
+100%|##########| 132723/132723 [00:01&lt;00:00, 66709.34KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -501,7 +502,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
 <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  33.953 seconds)</p>
+<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  39.453 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-ssd-gluoncv-py">
 <div class="sphx-glr-download sphx-glr-download-python 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 d695ca44c..8c9d52cf9 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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>11:26.706</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>11:35.657</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 86%" />
@@ -336,35 +336,35 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><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></td>
-<td><p>02:54.451</p></td>
+<td><p>03:02.748</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>02:33.953</p></td>
+<td><p>02:39.453</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>01:59.497</p></td>
+<td><p>01:53.259</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>01:35.931</p></td>
+<td><p>01:34.272</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>01:08.383</p></td>
+<td><p>01:10.299</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:29.407</p></td>
+<td><p>00:30.649</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_nano.html#sphx-glr-how-to-deploy-models-deploy-model-on-nano-py"><span class="std std-ref">Deploy the Pretrained Model on Jetson Nano</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_nano.py</span></code>)</p></td>
-<td><p>00:22.669</p></td>
+<td><p>00:22.704</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:22.409</p></td>
+<td><p>00:22.266</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
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 dadc6aec8..6f78093e3 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -612,7 +612,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
 <span class="n">module</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#dict" title="builtins.dict" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a> <span class="o">=</span> <span class="n">get_mobilenet</span><span class="p">()</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip220ce7fc-4363-4fb3-b0c3-cc4efe044be0 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.zip533b53cb-d788-43b6-a83b-a87cf345fef4 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 63e6fceac..17b963d47 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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:40.475</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:41.506</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -336,19 +336,19 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:37.329</p></td>
+<td><p>00:38.277</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:02.217</p></td>
+<td><p>00:02.262</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:00.922</p></td>
+<td><p>00:00.958</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:00.008</p></td>
+<td><p>00:00.009</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index 883b04c72..ab892c3ba 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -512,10 +512,10 @@ profile the execution time of each passes.</p>
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6541us [6541us] (45.91%; 45.91%)
-FoldScaleAxis: 7705us [5us] (54.09%; 54.09%)
-        FoldConstant: 7699us [1568us] (54.05%; 99.93%)
-                InferType: 6131us [6131us] (43.04%; 79.63%)
+InferType: 6491us [6491us] (45.78%; 45.78%)
+FoldScaleAxis: 7688us [6us] (54.22%; 54.22%)
+        FoldConstant: 7682us [1551us] (54.18%; 99.92%)
+                InferType: 6131us [6131us] (43.24%; 79.81%)
 </pre></div>
 </div>
 </div>
@@ -537,10 +537,10 @@ Refer to following sections and <a class="reference internal" href="../../refere
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6145us [6145us] (44.47%; 44.47%)
-FoldScaleAxis: 7673us [4us] (55.53%; 55.53%)
-        FoldConstant: 7668us [1616us] (55.50%; 99.94%)
-                InferType: 6052us [6052us] (43.80%; 78.92%)
+InferType: 6165us [6165us] (44.41%; 44.41%)
+FoldScaleAxis: 7718us [5us] (55.59%; 55.59%)
+        FoldConstant: 7712us [1604us] (55.55%; 99.93%)
+                InferType: 6108us [6108us] (44.00%; 79.20%)
 </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 45317b9a3..aab620b6a 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -564,7 +564,7 @@ latency of convolution.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Convolution: </span><span class="si">%f</span><span class="s2"> ms&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">*</span> <span cl [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 51.966210 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 41.006427 ms
 </pre></div>
 </div>
 <div class="sphx-glr-footer 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 e85695374..cb549746e 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -906,7 +906,7 @@ be able to run on our build server</p>
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;conv2d with tensor core: </span><span class="si">%f</span><span class="s2"> ms&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span> <span class="o">* [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 6.694184 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 7.834915 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 3dfe336e6..7c187484a 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -461,8 +461,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Baseline: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018341
-Baseline: 3.302584
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.019643
+Baseline: 3.259345
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -522,7 +522,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt1: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.298734
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.319795
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -589,7 +589,7 @@ vastly.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt2: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.338276
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.344662
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -650,7 +650,7 @@ the access pattern for A matrix is more cache friendly.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt3: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.115140
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.119235
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -733,7 +733,7 @@ flattening.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt4: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.110059
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.111127
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -819,7 +819,7 @@ write to C when all the block results are ready.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt5: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">evaluator</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.110781
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.112270
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -909,7 +909,7 @@ write to C when all the block results are ready.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt6: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">opt6_time</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145175
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145613
 </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 ebb723c6b..48576fb56 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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:33.891</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.553</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -336,15 +336,15 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:31.829</p></td>
+<td><p>00:32.292</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:01.150</p></td>
+<td><p>00:01.273</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:00.913</p></td>
+<td><p>00:00.988</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
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 d9f9aba37..ee0bee9f0 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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>05:59.628</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>06:03.757</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 85%" />
@@ -336,27 +336,27 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><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></td>
-<td><p>03:14.329</p></td>
+<td><p>03:15.443</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>01:22.388</p></td>
+<td><p>01:23.370</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:46.331</p></td>
+<td><p>00:47.102</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:18.803</p></td>
+<td><p>00:19.744</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-odd"><td><p><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></td>
-<td><p>00:09.095</p></td>
+<tr class="row-odd"><td><p><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></td>
+<td><p>00:09.051</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-even"><td><p><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></td>
-<td><p>00:08.681</p></td>
+<tr class="row-even"><td><p><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></td>
+<td><p>00:09.047</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
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 170cba17c..792837a35 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
@@ -491,366 +491,45 @@ cooperative fetching, unrolling and operator fusion.</p>
              compute: Buffer(compute_2: Pointer(float32), float32, [25088], [])}
   buffer_map = {data_1: data, kernel_1: kernel, bias_1: bias, compute_1: compute}
   preflattened_buffer_map = {data_1: data_3: Buffer(data_2, float32, [1, 512, 7, 7], []), kernel_1: kernel_3: Buffer(kernel_2, float32, [512, 512, 3, 3], []), bias_1: bias_3: Buffer(bias_2, float32, [1, 512, 1, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [1, 512, 7, 7], [])} {
-  attr [IterVar(blockIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;blockIdx.x&quot;)] &quot;thread_extent&quot; = 28;
-  allocate(conv2d_nchw: Pointer(local float32), float32, [14]), storage_scope = local;
-  allocate(pad_temp.shared: Pointer(shared float32), float32, [54]), storage_scope = shared;
-  allocate(kernel.shared: Pointer(shared float32), float32, [2304]), storage_scope = shared;
-  attr [IterVar(threadIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64 {
-    conv2d_nchw_1: Buffer(conv2d_nchw, float32, [4], [], scope=&quot;local&quot;, align=8)[0] = 0f32
-    conv2d_nchw_1[2] = 0f32
-    conv2d_nchw_1[4] = 0f32
-    conv2d_nchw_1[6] = 0f32
-    conv2d_nchw_1[8] = 0f32
-    conv2d_nchw_1[10] = 0f32
-    conv2d_nchw_1[12] = 0f32
+  attr [IterVar(blockIdx.x: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;blockIdx.x&quot;)] &quot;thread_extent&quot; = 16;
+  allocate(conv2d_nchw: Pointer(local float32), float32, [7]), storage_scope = local;
+  allocate(pad_temp.shared: Pointer(shared float32), float32, [4032]), storage_scope = shared;
+  allocate(kernel.shared: Pointer(shared float32), float32, [6144]), 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, [7], [], scope=&quot;local&quot;, align=16)[0] = 0f32
     conv2d_nchw_1[1] = 0f32
+    conv2d_nchw_1[2] = 0f32
     conv2d_nchw_1[3] = 0f32
+    conv2d_nchw_1[4] = 0f32
     conv2d_nchw_1[5] = 0f32
-    conv2d_nchw_1[7] = 0f32
-    conv2d_nchw_1[9] = 0f32
-    conv2d_nchw_1[11] = 0f32
-    conv2d_nchw_1[13] = 0f32
-    for (rc.outer.outer: int32, 0, 256) {
-      let cse_var_1: int32 = (rc.outer.outer*18)
-       {
-        attr [IterVar(threadIdx.x_1: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        if @tir.likely((threadIdx.x_1 &lt; 54), dtype=bool) {
-          pad_temp.shared_1: Buffer(pad_temp.shared, float32, [54], [], scope=&quot;shared&quot;)[threadIdx.x_1] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7))) &amp;&amp; ((floordiv(floormod(threadIdx.x_1, 27), 9) + floormod(blockIdx.x, 7)) &lt; 8)) &amp;&amp; (1 &lt;= floormod(threadIdx.x_1, 9))) &amp;&amp; (floormod(threadIdx.x_1, 9) &lt; 8)), data[((((((rc.outer.outer*98) + (floordiv(threadIdx.x_1, 27)*49)) + (floordiv(floormod(th [...]
+    conv2d_nchw_1[6] = 0f32
+    for (rc.outer.outer: int32, 0, 8) {
+      for (ry.outer.outer: int32, 0, 3) {
+        for (ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer: int32, 0, 18) {
+          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, [4032], [], scope=&quot;shared&quot;)[((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*224) + threadIdx.x_1)] = @tir.if_then_else(((((1 &lt;= (floordiv(floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*35) + threadIdx.x_1), 63), 9) + ry.outer.outer)) &amp;&amp; ((floordiv(floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer*35) + threadIdx.x_1), 63), 9) + ry.outer.outer) &lt; 8)) &amp;&amp; (1 &lt;= floormod(((ax0.ax [...]
+        }
+        for (ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1: int32, 0, 28) {
+          attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 224;
+          if @tir.likely((((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1*7) + floordiv(threadIdx.x_2, 32)) &lt; 192), dtype=bool) {
+            kernel.shared_1: Buffer(kernel.shared, float32, [6144], [], scope=&quot;shared&quot;)[((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1*224) + threadIdx.x_2)] = kernel[((((((blockIdx.x*147456) + (floordiv(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1*7) + floordiv(threadIdx.x_2, 32)), 6)*4608)) + (rc.outer.outer*576)) + (floordiv(floormod(((ax0.ax1.fused.ax2.fused.ax3.fused.outer.outer_1*32) + threadIdx.x_2), 192), 3)*9)) + (ry.outer.outer*3)) + floormod(((ax0.ax1.fused.a [...]
+          }
+        }
+        for (rc.outer.inner: int32, 0, 64) {
+          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)*192) + (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)*192) + (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)*192) + (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)*192) + (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)*192) + (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)*192) + (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)*192) + (rc.outer.inner*3)) + rx.outer.inner)]))
+          }
         }
-        attr [IterVar(threadIdx.x_2: int32, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1: Buffer(kernel.shared, float32, [2304], [], scope=&quot;shared&quot;)[threadIdx.x_2] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 64)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 64), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 10), 18), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 128)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 128), 18)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 192)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 192), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 1), 3)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 256)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 256), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 4), 18), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 320)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 320), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 14), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 5), 9), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 384)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 384), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 6), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 2), 3)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 448)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 448), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 7), 9), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 512)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 512), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 18), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 576)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18)) + 147456)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 640)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 640), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 10), 18), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 704)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 704), 18)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 768)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 768), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 1), 3)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 832)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 832), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 4), 18), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 896)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 896), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 14), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 5), 9), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 960)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 960), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 6), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 2), 3)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1024)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1024), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 7), 9), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1088)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1088), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 18), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1152)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18)) + 294912)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1216)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1216), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 10), 18), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1280)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1280), 18)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1344)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1344), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 1), 3)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1408)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1408), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 4), 18), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1472)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1472), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 14), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 5), 9), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1536)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1536), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 6), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 2), 3)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1600)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1600), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 7), 9), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1664)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1664), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 18), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1728)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv(threadIdx.x_2, 18)*4608)) + cse_var_1) + floormod(threadIdx.x_2, 18)) + 442368)]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1792)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1792), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 10), 18), 9)*9)) + floormod((threadIdx.x_2 + 1), 9))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1856)] = kernel[((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1856), 18)*4608)) + cse_var_1) + floormod((threadIdx.x_2 + 2), 18))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1920)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1920), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 12), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 1), 3)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 1984)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 1984), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 4), 18), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 2048)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2048), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 14), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 5), 9), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 2112)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2112), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 6), 18), 9)*9)) + (floormod((floordiv(threadIdx.x_2, 3) + 2), 3)*3)) + floormod(threadIdx.x_2, 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 2176)] = kernel[((((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2176), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 16), 18), 9)*9)) + (floordiv(floormod((threadIdx.x_2 + 7), 9), 3)*3)) + floormod((threadIdx.x_2 + 1), 3))]
-        attr [IterVar(threadIdx.x_2, (nullptr), &quot;ThreadIndex&quot;, &quot;threadIdx.x&quot;)] &quot;thread_extent&quot; = 64;
-        kernel.shared_1[(threadIdx.x_2 + 2240)] = kernel[(((((floordiv(blockIdx.x, 7)*589824) + (floordiv((threadIdx.x_2 + 2240), 18)*4608)) + cse_var_1) + (floordiv(floormod((threadIdx.x_2 + 8), 18), 3)*3)) + floormod((threadIdx.x_2 + 2), 3))]
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[0]*kernel.shared_1[(threadIdx.x*36)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[1]*kernel.shared_1[(threadIdx.x*36)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[2]*kernel.shared_1[(threadIdx.x*36)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[3]*kernel.shared_1[(threadIdx.x*36)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[4]*kernel.shared_1[(threadIdx.x*36)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[5]*kernel.shared_1[(threadIdx.x*36)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[6]*kernel.shared_1[(threadIdx.x*36)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[0]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 18)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*36) + 1)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[1]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*36) + 19)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*36) + 2)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[2]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[3]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[4]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[5]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[6]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[7]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[8]*kernel.shared_1[((threadIdx.x*36) + 20)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 3)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[9]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 21)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*36) + 4)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[10]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*36) + 22)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*36) + 5)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[11]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[12]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[13]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[14]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[15]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[16]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[17]*kernel.shared_1[((threadIdx.x*36) + 23)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 6)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[18]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 24)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*36) + 7)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[19]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*36) + 25)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*36) + 8)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[20]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[21]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[22]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[23]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[24]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[25]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[26]*kernel.shared_1[((threadIdx.x*36) + 26)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 9)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[27]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 27)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*36) + 10)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[28]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*36) + 28)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*36) + 11)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[29]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[30]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[31]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[32]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[33]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[34]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[35]*kernel.shared_1[((threadIdx.x*36) + 29)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 12)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[36]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 30)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*36) + 13)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[37]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*36) + 31)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*36) + 14)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[38]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[39]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[40]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[41]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[42]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[43]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[44]*kernel.shared_1[((threadIdx.x*36) + 32)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 15)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[45]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 33)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*36) + 16)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[46]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*36) + 34)]))
-        conv2d_nchw_1[0] = (conv2d_nchw_1[0] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-        conv2d_nchw_1[2] = (conv2d_nchw_1[2] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-        conv2d_nchw_1[4] = (conv2d_nchw_1[4] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-        conv2d_nchw_1[6] = (conv2d_nchw_1[6] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-        conv2d_nchw_1[8] = (conv2d_nchw_1[8] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-        conv2d_nchw_1[10] = (conv2d_nchw_1[10] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-        conv2d_nchw_1[12] = (conv2d_nchw_1[12] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*36) + 17)]))
-        conv2d_nchw_1[1] = (conv2d_nchw_1[1] + (pad_temp.shared_1[47]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-        conv2d_nchw_1[3] = (conv2d_nchw_1[3] + (pad_temp.shared_1[48]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-        conv2d_nchw_1[5] = (conv2d_nchw_1[5] + (pad_temp.shared_1[49]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-        conv2d_nchw_1[7] = (conv2d_nchw_1[7] + (pad_temp.shared_1[50]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-        conv2d_nchw_1[9] = (conv2d_nchw_1[9] + (pad_temp.shared_1[51]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-        conv2d_nchw_1[11] = (conv2d_nchw_1[11] + (pad_temp.shared_1[52]*kernel.shared_1[((threadIdx.x*36) + 35)]))
-        conv2d_nchw_1[13] = (conv2d_nchw_1[13] + (pad_temp.shared_1[53]*kernel.shared_1[((threadIdx.x*36) + 35)]))
       }
     }
-    for (i1.inner: int32, 0, 2) {
-      compute[((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7))] = max((conv2d_nchw_1[i1.inner] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-      compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 1)] = max((conv2d_nchw_1[(i1.inner + 2)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-      compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 2)] = max((conv2d_nchw_1[(i1.inner + 4)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-      compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 3)] = max((conv2d_nchw_1[(i1.inner + 6)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-      compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 4)] = max((conv2d_nchw_1[(i1.inner + 8)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-      compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 5)] = max((conv2d_nchw_1[(i1.inner + 10)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
-      compute[(((((floordiv(blockIdx.x, 7)*6272) + (threadIdx.x*98)) + (i1.inner*49)) + (floormod(blockIdx.x, 7)*7)) + 6)] = max((conv2d_nchw_1[(i1.inner + 12)] + bias[(((floordiv(blockIdx.x, 7)*128) + (threadIdx.x*2)) + i1.inner)]), 0f32)
+    for (i3.inner: int32, 0, 7) {
+      compute[(((blockIdx.x*1568) + (threadIdx.x*7)) + i3.inner)] = max((conv2d_nchw_1[i3.inner] + bias[((blockIdx.x*32) + floordiv(threadIdx.x, 7))]), 0f32)
     }
   }
 }
@@ -887,7 +566,7 @@ cooperative fetching, unrolling and operator fusion.</p>
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.401 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.360 ms
 </pre></div>
 </div>
 </div>
@@ -916,37 +595,37 @@ conv2d_nchw_nn_o_i, conv2d_nchw_nn_i = s[conv2d_nchw].split(conv2d_nchw_nn, fact
 conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_i, factor=1)
 conv2d_nchw_nn_o_o_o_i, conv2d_nchw_nn_o_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o_o_i, factor=1)
 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=2)
+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=64)
+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=1)
 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)
-conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=1)
+conv2d_nchw_yy_o_o_o_i, conv2d_nchw_yy_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_i, factor=7)
 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_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=7)
 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=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_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_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=2)
-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=64)
+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=2)
-compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=64)
+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=32)
 compute_i1_o_o_o, compute_i1_o_o_i = s[compute].split(compute_i1_o_o_i, factor=1)
 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=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_i, compute_i3_i = s[compute].split(compute_i3, factor=7)
 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)
+compute_i3_o_o_o, compute_i3_o_o_i = s[compute].split(compute_i3_o_o_i, factor=1)
 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])
@@ -965,14 +644,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=64)
+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=64)
+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;, 512)
+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:
@@ -990,327 +669,44 @@ CUDA source code:
   #define int64_t long long
   #define uint64_t unsigned long long
 #endif
-extern &quot;C&quot; __global__ void __launch_bounds__(64) default_function_kernel0(float* __restrict__ data, float* __restrict__ kernel, float* __restrict__ compute, float* __restrict__ bias) {
-  float conv2d_nchw[14];
-  __shared__ float pad_temp_shared[54];
-  __shared__ float kernel_shared[2304];
+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[7];
+  __shared__ float pad_temp_shared[4032];
+  __shared__ float kernel_shared[6144];
   conv2d_nchw[0] = 0.000000e+00f;
-  conv2d_nchw[2] = 0.000000e+00f;
-  conv2d_nchw[4] = 0.000000e+00f;
-  conv2d_nchw[6] = 0.000000e+00f;
-  conv2d_nchw[8] = 0.000000e+00f;
-  conv2d_nchw[10] = 0.000000e+00f;
-  conv2d_nchw[12] = 0.000000e+00f;
   conv2d_nchw[1] = 0.000000e+00f;
+  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[7] = 0.000000e+00f;
-  conv2d_nchw[9] = 0.000000e+00f;
-  conv2d_nchw[11] = 0.000000e+00f;
-  conv2d_nchw[13] = 0.000000e+00f;
-  for (int rc_outer_outer = 0; rc_outer_outer &lt; 256; ++rc_outer_outer) {
-    __syncthreads();
-    if (((int)threadIdx.x) &lt; 54) {
-      pad_temp_shared[((int)threadIdx.x)] = (((((1 &lt;= (((((int)threadIdx.x) % 27) / 9) + (((int)blockIdx.x) % 7))) &amp;&amp; ((((((int)threadIdx.x) % 27) / 9) + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 98) + ((((int)threadIdx.x) / 27) * 49)) + (((((int)threadIdx.x) % 27) / 9) * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
+  conv2d_nchw[6] = 0.000000e+00f;
+  for (int rc_outer_outer = 0; rc_outer_outer &lt; 8; ++rc_outer_outer) {
+    for (int ry_outer_outer = 0; ry_outer_outer &lt; 3; ++ry_outer_outer) {
+      __syncthreads();
+      for (int ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer = 0; ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer &lt; 18; ++ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer) {
+        pad_temp_shared[((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 224) + ((int)threadIdx.x))] = (((((1 &lt;= (((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 35) + ((int)threadIdx.x)) % 63) / 9) + ry_outer_outer)) &amp;&amp; ((((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 35) + ((int)threadIdx.x)) % 63) / 9) + ry_outer_outer) &lt; 8)) &amp;&amp; (1 &lt;= (((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer * 8) + ((int)threadIdx.x)) % 9))) &amp;&amp; ((((ax0_ax1_fused_ax2_f [...]
+      }
+      for (int ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 = 0; ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 &lt; 28; ++ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1) {
+        if (((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 7) + (((int)threadIdx.x) &gt;&gt; 5)) &lt; 192) {
+          kernel_shared[((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 224) + ((int)threadIdx.x))] = kernel[((((((((int)blockIdx.x) * 147456) + ((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 7) + (((int)threadIdx.x) &gt;&gt; 5)) / 6) * 4608)) + (rc_outer_outer * 576)) + (((((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 32) + ((int)threadIdx.x)) % 192) / 3) * 9)) + (ry_outer_outer * 3)) + (((ax0_ax1_fused_ax2_fused_ax3_fused_outer_outer1 * 2) + ((int)threadIdx.x)) % 3))];
+        }
+      }
+      __syncthreads();
+      for (int rc_outer_inner = 0; rc_outer_inner &lt; 64; ++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) * 192) + (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) * 192) + (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) * 192) + (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) * 192) + (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) * 192) + (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) * 192) + (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) * 192) + (rc_outer_inner * 3)) + rx_outer_inner)]));
+        }
+      }
     }
-    kernel_shared[((int)threadIdx.x)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 64)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 10) % 18) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 128)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 2) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 192)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 192) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 12) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 1) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 256)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 4) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 320)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 14) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 5) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 384)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 384) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 6) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 2) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 16) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 7) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 512)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 8) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18)) + 147456)];
-    kernel_shared[(((int)threadIdx.x) + 640)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 10) % 18) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 704)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 2) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 768)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 768) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 12) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 1) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 832)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 4) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 14) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 5) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 960)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 960) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 6) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 2) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1024)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 16) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 7) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1088)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 8) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18)) + 294912)];
-    kernel_shared[(((int)threadIdx.x) + 1216)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 10) % 18) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1280)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 2) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1344) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 12) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 1) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1408)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 4) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1472)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 14) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 5) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1536) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 6) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 2) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1600)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 16) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 7) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1664)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 8) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 18) * 4608)) + (rc_outer_outer * 18)) + (((int)threadIdx.x) % 18)) + 442368)];
-    kernel_shared[(((int)threadIdx.x) + 1792)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 10) % 18) / 9) * 9)) + ((((int)threadIdx.x) + 1) % 9))];
-    kernel_shared[(((int)threadIdx.x) + 1856)] = kernel[(((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((int)threadIdx.x) + 2) % 18))];
-    kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1920) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 12) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 1) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 1984)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 4) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 2048)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 14) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 5) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2112) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 6) % 18) / 9) * 9)) + ((((((int)threadIdx.x) / 3) + 2) % 3) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 2176)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 16) % 18) / 9) * 9)) + ((((((int)threadIdx.x) + 7) % 9) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 2240)] = kernel[((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 18) * 4608)) + (rc_outer_outer * 18)) + ((((((int)threadIdx.x) + 8) % 18) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    __syncthreads();
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 36)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 36)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 36)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 36)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 36)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 36)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 36)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 18)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 36) + 1)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 36) + 19)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 36) + 2)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 36) + 20)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 3)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 21)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 36) + 4)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 36) + 22)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 36) + 5)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 36) + 23)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 6)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 24)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 36) + 7)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 36) + 25)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 36) + 8)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 36) + 26)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 9)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 27)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 36) + 10)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 36) + 28)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 36) + 11)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 36) + 29)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 12)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 30)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 36) + 13)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 36) + 31)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 36) + 14)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 36) + 32)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 15)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 33)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 36) + 16)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 36) + 34)]));
-    conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-    conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-    conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-    conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-    conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-    conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-    conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 36) + 17)]));
-    conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-    conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-    conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-    conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-    conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-    conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
-    conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 36) + 35)]));
   }
-  for (int i1_inner = 0; i1_inner &lt; 2; ++i1_inner) {
-    compute[(((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7))] = max((conv2d_nchw[i1_inner] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 1)] = max((conv2d_nchw[(i1_inner + 2)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 2)] = max((conv2d_nchw[(i1_inner + 4)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 3)] = max((conv2d_nchw[(i1_inner + 6)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 4)] = max((conv2d_nchw[(i1_inner + 8)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 5)] = max((conv2d_nchw[(i1_inner + 10)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
-    compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + 6)] = max((conv2d_nchw[(i1_inner + 12)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
+  for (int i3_inner = 0; i3_inner &lt; 7; ++i3_inner) {
+    compute[(((((int)blockIdx.x) * 1568) + (((int)threadIdx.x) * 7)) + i3_inner)] = max((conv2d_nchw[i3_inner] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
   }
 }
 </pre></div>
@@ -1347,7 +743,7 @@ In the example below we resume the status and do more 5 trials.</p>
 Get devices for measurement successfully!
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  14.329 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  15.443 seconds)</p>
 <div class="sphx-glr-footer 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 sphx-glr-download-python 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 0fcbfd68a..3a1a62216 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -906,7 +906,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.7896       9.7782       9.8129       9.7777       0.0164
+  10.1864      10.1915      10.2228      10.1450       0.0319
 </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 865096032..fbd0be6fe 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -925,7 +925,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)
-  748.7311     749.6223     750.2357     746.3353      1.7125
+  763.5897     762.6737     765.7256     762.3697      1.5154
 </pre></div>
 </div>
 </div>
@@ -947,7 +947,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  22.388 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  23.370 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-x86-py">
 <div class="sphx-glr-download sphx-glr-download-python 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 75a138006..501eec115 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -625,30 +625,76 @@ 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}
-  preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_17: Buffer(placeholder_14, float32, [128, 512], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), placeholder_6: placeholder_19: Buffer(placeholder_11, float32, [4916, 16, 1], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], [])} {
-  for (i0.outer.i1.outer.fused: int32, 0, 64) &quot;parallel&quot; {
-    allocate(compute_4: Pointer(global float32), float32, [1024]), storage_scope = global {
-      for (i.inner.init: int32, 0, 64) {
-        for (j.init: int32, 0, 16) {
-          compute_5: Buffer(compute_4, float32, [1024], [])[((i.inner.init*16) + j.init)] = 0f32
+  preflattened_buffer_map = {compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_5: placeholder_15: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_16: Buffer(placeholder_14, float32, [128, 512], []), placeholder_7: placeholder_17: Buffer(placeholder_12, int32, [4916], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_8: placeholder_19: Buffer(placeholder_13, int32, [33], [])} {
+  for (i0.outer.i1.outer.fused: int32, 0, 32) &quot;parallel&quot; {
+    allocate(compute_4: Pointer(global float32), float32, [2048]), storage_scope = global {
+      for (nb_j.inner: int32, 0, 2) {
+        for (i.inner.init: int32, 0, 64) {
+          let cse_var_1: int32 = ((i.inner.init*32) + (nb_j.inner*16))
+           {
+            compute_5: Buffer(compute_4, float32, [2048], [])[cse_var_1] = 0f32
+            compute_5[(cse_var_1 + 1)] = 0f32
+            compute_5[(cse_var_1 + 2)] = 0f32
+            compute_5[(cse_var_1 + 3)] = 0f32
+            compute_5[(cse_var_1 + 4)] = 0f32
+            compute_5[(cse_var_1 + 5)] = 0f32
+            compute_5[(cse_var_1 + 6)] = 0f32
+            compute_5[(cse_var_1 + 7)] = 0f32
+            compute_5[(cse_var_1 + 8)] = 0f32
+            compute_5[(cse_var_1 + 9)] = 0f32
+            compute_5[(cse_var_1 + 10)] = 0f32
+            compute_5[(cse_var_1 + 11)] = 0f32
+            compute_5[(cse_var_1 + 12)] = 0f32
+            compute_5[(cse_var_1 + 13)] = 0f32
+            compute_5[(cse_var_1 + 14)] = 0f32
+            compute_5[(cse_var_1 + 15)] = 0f32
+          }
         }
-      }
-      for (elem_idx: int32, 0, let cse_var_1: int32 = floormod(i0.outer.i1.outer.fused, 32) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-        for (i.inner: int32, 0, 64) {
-          for (j: int32, 0, 16) {
-            let cse_var_2: int32 = floormod(i0.outer.i1.outer.fused, 32)
-            if @tir.likely((elem_idx &lt; (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])), dtype=bool) {
-              let cse_var_3: int32 = ((i.inner*16) + j)
-              compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_2]*16) + (elem_idx*16)) + j)]*max(placeholder[(((floordiv(i0.outer.i1.outer.fused, 32)*16384) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_2] + elem_idx)])], 0f32)))
+        for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
+          for (i.inner: int32, 0, 64) {
+            let cse_var_21: int32 = (elem_idx*16)
+            let cse_var_20: int32 = ((i.inner*32) + (nb_j.inner*16))
+            let cse_var_19: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+            let cse_var_18: int32 = ((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i.inner*256))
+            let cse_var_17: int32 = (cse_var_20 + 9)
+            let cse_var_16: int32 = (cse_var_20 + 8)
+            let cse_var_15: int32 = (cse_var_20 + 7)
+            let cse_var_14: int32 = (cse_var_20 + 6)
+            let cse_var_13: int32 = (cse_var_20 + 5)
+            let cse_var_12: int32 = (cse_var_20 + 4)
+            let cse_var_11: int32 = (cse_var_20 + 3)
+            let cse_var_10: int32 = (cse_var_20 + 2)
+            let cse_var_9: int32 = (cse_var_20 + 15)
+            let cse_var_8: int32 = (cse_var_20 + 14)
+            let cse_var_7: int32 = (cse_var_20 + 13)
+            let cse_var_6: int32 = (cse_var_20 + 12)
+            let cse_var_5: int32 = (cse_var_20 + 11)
+            let cse_var_4: int32 = (cse_var_20 + 10)
+            let cse_var_3: int32 = (cse_var_20 + 1)
+             {
+              compute_5[cse_var_20] = (compute_5[cse_var_20] + (placeholder_1[((placeholder_3[cse_var_19]*16) + cse_var_21)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 1)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 2)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 3)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 4)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 5)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 6)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 7)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 8)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 9)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 10)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 11)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 12)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 13)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 14)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
+              compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_19]*16) + cse_var_21) + 15)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_19] + elem_idx)])], 0f32)))
             }
           }
         }
       }
       for (i0.inner: int32, 0, 64) {
-        for (i1.inner: int32, 0, 16) {
-          let cse_var_4: int32 = ((((floordiv(i0.outer.i1.outer.fused, 32)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 32)*16)) + i1.inner)
-          compute[cse_var_4] = max((compute_5[((i0.inner*16) + i1.inner)] + placeholder_4[cse_var_4]), 0f32)
-        }
+        let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+        compute[ramp(cse_var_22, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
       }
     }
   }
@@ -686,7 +732,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.805 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.845 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 0e36f1e4f..68336eb19 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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:45.090</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:46.336</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -336,11 +336,11 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:45.058</p></td>
+<td><p>00:46.299</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:00.016</p></td>
+<td><p>00:00.022</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
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 72ddb9fb2..3e48587c7 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -1436,8 +1436,8 @@ No: 8   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
 TimeoutError
 
         [(&#39;tile_f&#39;, [-1, 2, 1, 64]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4909501
-No: 9   GFLOPS: 182.04/182.04   result: MeasureResult(costs=(0.0012716726333333332,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8083293437957764, timestamp=1659978776.9743788)      [(&#39;tile_f&#39;, [-1, 1, 4, 8]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,5072689
-No: 10  GFLOPS: 0.00/182.04     result: Traceback (most recent call last):
+No: 9   GFLOPS: 215.34/215.34   result: MeasureResult(costs=(0.0010750632482758621,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.140765905380249, timestamp=1659984988.0834823)       [(&#39;tile_f&#39;, [-1, 1, 4, 8]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,5072689
+No: 10  GFLOPS: 0.00/215.34     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, 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 540, in _build_func_common
@@ -1560,8 +1560,8 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, 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, 8]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 64, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,5092711
-No: 11  GFLOPS: 260.19/260.19   result: MeasureResult(costs=(0.0008897493646408839,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7539100646972656, timestamp=1659978777.893291)       [(&#39;tile_f&#39;, [-1, 8, 2, 1]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 2, 1]), (&#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;, 0)],None,4264713
-No: 12  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+No: 11  GFLOPS: 260.49/260.49   result: MeasureResult(costs=(0.0008886985690607736,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4933984279632568, timestamp=1659984988.9998121)      [(&#39;tile_f&#39;, [-1, 8, 2, 1]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 2, 1]), (&#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;, 0)],None,4264713
+No: 12  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, 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 540, in _build_func_common
@@ -1684,7 +1684,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, 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, 128, 1, 2]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 256]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,183542
-No: 13  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+No: 13  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, 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 540, in _build_func_common
@@ -1807,7 +1807,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, 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, 8, 8]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 64]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2482196
-No: 14  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+No: 14  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, 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 540, in _build_func_common
@@ -1930,9 +1930,9 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, 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, 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, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,10306226
-No: 15  GFLOPS: 5.45/260.19     result: MeasureResult(costs=(0.04247900825,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.8362009525299072, timestamp=1659978782.446091)       [(&#39;tile_f&#39;, [-1, 2, 2, 8]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 8]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5330964
-No: 16  GFLOPS: 3.34/260.19     result: MeasureResult(costs=(0.06939914175,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.5563178062438965, timestamp=1659978783.6848538)      [(&#39;tile_f&#39;, [-1, 8, 4, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#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;, 0)],None,2140058
-No: 17  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+No: 15  GFLOPS: 5.46/260.49     result: MeasureResult(costs=(0.042389107,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.834479808807373, timestamp=1659984993.6016767) [(&#39;tile_f&#39;, [-1, 2, 2, 8]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 8]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5330964
+No: 16  GFLOPS: 3.35/260.49     result: MeasureResult(costs=(0.06917129,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.593550443649292, timestamp=1659984994.836905)   [(&#39;tile_f&#39;, [-1, 8, 4, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#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;, 0)],None,2140058
+No: 17  GFLOPS: 0.00/260.49     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
@@ -1950,8 +1950,8 @@ No: 17  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
 TimeoutError
 
         [(&#39;tile_f&#39;, [-1, 2, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 16]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,10195251
-No: 18  GFLOPS: 26.02/260.19    result: MeasureResult(costs=(0.008897085583333334,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.146895170211792, timestamp=1659978794.592944) [(&#39;tile_f&#39;, [-1, 4, 8, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 4]), (&#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;, 1)],None,6068603
-No: 19  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+No: 18  GFLOPS: 26.00/260.49    result: MeasureResult(costs=(0.008903667666666667,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.1552422046661377, timestamp=1659985005.757291)        [(&#39;tile_f&#39;, [-1, 4, 8, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 4]), (&#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;, 1)],None,6068603
+No: 19  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, 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 540, in _build_func_common
@@ -2074,7 +2074,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 871, 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, 16, 4, 8]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6956993
-No: 20  GFLOPS: 0.00/260.19     result: Traceback (most recent call last):
+No: 20  GFLOPS: 0.00/260.49     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, 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 540, in _build_func_common
@@ -2237,7 +2237,7 @@ and measure running time.</p>
 Best config:
 [(&#39;tile_f&#39;, [-1, 8, 2, 1]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 2, 1]), (&#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;, 0)],None,4264713
 Finish loading 20 records
-Time cost of this operator: 0.001221
+Time cost of this operator: 0.001227
 </pre></div>
 </div>
 <div class="sphx-glr-footer 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 c211f77c2..d6288f1a4 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -584,10 +584,10 @@ the tuned operator.</p>
 ########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)
 ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  310.7     98.733   (1, 2, 10, 10, 3)  2       1        [310.7]
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.019     0.959    (1, 6, 10, 10)     1       1        [3.019]
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.968     0.308    (1, 1, 10, 10, 3)  1       1        [0.968]
-Total_time                                    -                                             314.687   -        -                  -       -        -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  311.2     98.717   (1, 2, 10, 10, 3)  2       1        [311.2]
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.074     0.975    (1, 6, 10, 10)     1       1        [3.074]
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.97      0.308    (1, 1, 10, 10, 3)  1       1        [0.97]
+Total_time                                    -                                             315.245   -        -                  -       -        -
 </pre></div>
 </div>
 </div>
@@ -640,10 +640,10 @@ Total_time                                    -
 ########## Build with Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)
 ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  149.6     98.197   (1, 6, 10, 10, 1)  2       1        [149.6]
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.77      1.162    (1, 6, 10, 10)     1       1        [1.77]
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.977     0.641    (1, 1, 10, 10, 3)  1       1        [0.977]
-Total_time                                    -                                             152.347   -        -                  -       -        -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  79.375    96.644   (1, 6, 10, 10, 1)  2       1        [79.375]
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.768     2.153    (1, 6, 10, 10)     1       1        [1.768]
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.988     1.203    (1, 1, 10, 10, 3)  1       1        [0.988]
+Total_time                                    -                                             82.131    -        -                  -       -        -
 </pre></div>
 </div>
 <div class="sphx-glr-footer 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/micro_train.html b/docs/how_to/work_with_microtvm/micro_train.html
index c8a42fe01..b06e3696d 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -516,7 +516,7 @@ take about <strong>2 minutes</strong> to download the Stanford Cars, while COCO
 <a href="https://docs.python.org/3/library/shutil.html#shutil.move" title="shutil.move" class="sphx-glr-backref-module-shutil sphx-glr-backref-type-py-function"><span class="n">shutil</span><span class="o">.</span><span class="n">move</span></a><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><a href="https://docs.python.org/3/library/stdtypes.html#str" title="builtins.str" class="sphx-glr-backref-module-builtins sphx-glr-backref-typ [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmpmsakw0lz/images/random&#39;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmp8cn2n0d0/images/random&#39;
 </pre></div>
 </div>
 </div>
@@ -576,8 +576,8 @@ objects to other stuff? We can display some examples from our datasets using <co
     <span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&quot;off&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpmsakw0lz/images/target contains 8144 images
-/tmp/tmpmsakw0lz/images/random contains 5000 images
+<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[1.0, 0.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [1.0, 0.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmp8cn2n0d0/images/target contains 8144 images
+/tmp/tmp8cn2n0d0/images/random contains 5000 images
 </pre></div>
 </div>
 </div>
@@ -689,13 +689,13 @@ the time on our validation set).</p>
 </pre></div>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Epoch 1/3
-328/328 - 55s - loss: 0.2465 - accuracy: 0.9191 - val_loss: 0.1577 - val_accuracy: 0.9535
+328/328 - 56s - loss: 0.2196 - accuracy: 0.9230 - val_loss: 0.1736 - val_accuracy: 0.9475
 Epoch 2/3
-328/328 - 52s - loss: 0.0956 - accuracy: 0.9657 - val_loss: 0.1221 - val_accuracy: 0.9619
+328/328 - 53s - loss: 0.1006 - accuracy: 0.9617 - val_loss: 0.1143 - val_accuracy: 0.9683
 Epoch 3/3
-328/328 - 52s - loss: 0.0660 - accuracy: 0.9751 - val_loss: 0.1200 - val_accuracy: 0.9630
+328/328 - 52s - loss: 0.0644 - accuracy: 0.9765 - val_loss: 0.1368 - val_accuracy: 0.9581
 
-&lt;keras.callbacks.History object at 0x7f58110901d0&gt;
+&lt;keras.callbacks.History object at 0x7f7cd133aa50&gt;
 </pre></div>
 </div>
 </div>
@@ -957,7 +957,7 @@ as intended.</p>
 <p>From here, we could modify the model to read live images from the camera - we have another
 Arduino tutorial for how to do that <a class="reference external" href="https://github.com/guberti/tvm-arduino-demos/tree/master/examples/person_detection">on GitHub</a>. Alternatively, we could also
 <a class="reference external" href="https://tvm.apache.org/docs/how_to/work_with_microtvm/micro_autotune.html">use TVM’s autotuning capabilities</a> to dramatically improve the model’s performance.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 5 minutes  10.904 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 5 minutes  14.613 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-train-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/b52cec46baf4f78d6bcd94cbe269c8a6/micro_train.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">micro_train.py</span></code></a></p>
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 7a840e475..0bdd268c3 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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>06:03.464</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>06:09.049</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -336,19 +336,19 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="micro_train.html#sphx-glr-how-to-work-with-microtvm-micro-train-py"><span class="std std-ref">Training Vision Models for microTVM on Arduino</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_train.py</span></code>)</p></td>
-<td><p>05:10.904</p></td>
+<td><p>05:14.613</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:41.777</p></td>
+<td><p>00:42.793</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="micro_aot.html#sphx-glr-how-to-work-with-microtvm-micro-aot-py"><span class="std std-ref">microTVM Host-Driven AoT</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_aot.py</span></code>)</p></td>
-<td><p>00:07.544</p></td>
+<td><p>00:08.271</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:03.237</p></td>
+<td><p>00:03.371</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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 with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></td>
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 428b19b4f..e071f091f 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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:39.041</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:42.006</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -336,15 +336,15 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="using_pipeline_executor.html#sphx-glr-how-to-work-with-relay-using-pipeline-executor-py"><span class="std std-ref">Using Pipeline Executor in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_pipeline_executor.py</span></code>)</p></td>
-<td><p>00:29.336</p></td>
+<td><p>00:30.657</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:08.403</p></td>
+<td><p>00:09.934</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:01.295</p></td>
+<td><p>00:01.408</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
diff --git a/docs/how_to/work_with_schedules/intrin_math.html b/docs/how_to/work_with_schedules/intrin_math.html
index e30c2b512..d5e236308 100644
--- a/docs/how_to/work_with_schedules/intrin_math.html
+++ b/docs/how_to/work_with_schedules/intrin_math.html
@@ -522,7 +522,7 @@ The following example customizes CUDA lowering rule for <code class="code docuti
 <a href="../../reference/api/python/ir.html#tvm.ir.register_intrin_lowering" title="tvm.ir.register_intrin_lowering" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-function"><span class="n">register_intrin_lowering</span></a><span class="p">(</span><span class="s2">&quot;tir.exp&quot;</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="s2">&quot;cuda&quot;</span><span class="p">,</span> <span class="n">f</span><span class="o">= [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7f5804182a70&gt;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7f7c4a2d7b00&gt;
 </pre></div>
 </div>
 <p>Register the rule to TVM with override option to override existing rule.
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 69c9ef5b2..9f788a708 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -327,7 +327,7 @@
             
   <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:03.748</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:04.141</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -336,35 +336,35 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:01.721</p></td>
+<td><p>00:01.880</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:00.886</p></td>
+<td><p>00:01.034</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:00.489</p></td>
+<td><p>00:00.530</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:00.472</p></td>
+<td><p>00:00.511</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:00.099</p></td>
+<td><p>00:00.103</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:00.040</p></td>
+<td><p>00:00.041</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><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></td>
-<td><p>00:00.026</p></td>
+<td><p>00:00.027</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><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></td>
-<td><p>00:00.014</p></td>
+<td><p>00:00.015</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/work_with_schedules/tensorize.html b/docs/how_to/work_with_schedules/tensorize.html
index bb9098d8e..e05e0c58a 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -577,7 +577,7 @@ The importing needs to happen before the tensorized GEMV being executed.</p>
              C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
   buffer_map = {A_1: A, B_1: B, C_1: C}
   preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmpkip108xk/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmpkip108xk/input0.cc\&quot;\ntarget datalayout = \&quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128\&quot;\ntarget triple = \&quot;x86_64-pc-linux-gnu\&quot;\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = allo [...]
+  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmpmwexff5n/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmpmwexff5n/input0.cc\&quot;\ntarget datalayout = \&quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128\&quot;\ntarget triple = \&quot;x86_64-pc-linux-gnu\&quot;\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = allo [...]
   for (i, 0, 1024) {
     for (j.outer: int32, 0, 32) {
       @tir.call_extern(&quot;gemv_update&quot;, @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index 9fdee542f..04d4c64dc 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -448,116 +448,117 @@ $(function() {
 <tr id="row_1_6_132_" 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_1relay_1_1MixedModeVisitor.html" target="_self">MixedModeVisitor</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprVisitor.html" title="A simple visitor wrapper around ExprFunctor. Recursively visit the content. ">ExprVisitor</a> which [...]
 <tr id="row_1_6_133_" 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_1relay_1_1MultiBoxPriorAttrs.html" target="_self">MultiBoxPriorAttrs</a></td><td class="desc">Attributes used in multibox_prior operators </td></tr>
 <tr id="row_1_6_134_" 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_1relay_1_1MultiBoxTransformLocAttrs.html" target="_self">MultiBoxTransformLocAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_135_" 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_1relay_1_1NdarraySizeAttrs.html" target="_self">NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
-<tr id="row_1_6_136_" 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_1relay_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in NLLLoss operator </td></tr>
-<tr id="row_1_6_137_" 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_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
-<tr id="row_1_6_138_" 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_1relay_1_1NormalAttrs.html" target="_self">NormalAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_139_" 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_1relay_1_1OnDeviceAttrs.html" target="_self">OnDeviceAttrs</a></td><td class="desc">Attributes for the "on_device" annotation (ie operator) </td></tr>
-<tr id="row_1_6_140_" 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_1relay_1_1OneHotAttrs.html" target="_self">OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
-<tr id="row_1_6_141_" 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_1relay_1_1OpImplementation.html" target="_self">OpImplementation</a></td><td class="desc">Operator implementation class </td></tr>
-<tr id="row_1_6_142_" 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_1relay_1_1OpImplementationNode.html" target="_self">OpImplementationNode</a></td><td class="desc">Operator implementation that includes compute and schedule function </td></tr>
-<tr id="row_1_6_143_" 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_1relay_1_1OpSpecialization.html" target="_self">OpSpecialization</a></td><td class="desc">Operator specialization class </td></tr>
-<tr id="row_1_6_144_" 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_1relay_1_1OpSpecializationNode.html" target="_self">OpSpecializationNode</a></td><td class="desc">Specialized implementations for operators under certain conditions </td></tr>
-<tr id="row_1_6_145_" 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_1relay_1_1OpStrategy.html" target="_self">OpStrategy</a></td><td class="desc">Operator strategy class </td></tr>
-<tr id="row_1_6_146_" 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_1relay_1_1OpStrategyNode.html" target="_self">OpStrategyNode</a></td><td class="desc">Operator strategy to choose implementation </td></tr>
-<tr id="row_1_6_147_" 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_1relay_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
-<tr id="row_1_6_148_" 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_1relay_1_1Pattern.html" target="_self">Pattern</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> is the base type for an ADT match pattern in Relay </td></tr>
-<tr id="row_1_6_149_" 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_1relay_1_1PatternConstructor.html" target="_self">PatternConstructor</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_150_" 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_1relay_1_1PatternConstructorNode.html" target="_self">PatternConstructorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
-<tr id="row_1_6_151_" 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_1relay_1_1PatternFunctor.html" target="_self">PatternFunctor</a></td><td class="desc">A dynamical functor on ADT patterns that dispatches on its first argument. You can use this as a more powerful visitor, since it allows you to define the types of further arguments to Vi [...]
-<tr id="row_1_6_152_" 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_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_153_" 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_1relay_1_1PatternMutator.html" target="_self">PatternMutator</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu.. [...]
-<tr id="row_1_6_154_" 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_1relay_1_1PatternNode.html" target="_self">PatternNode</a></td><td class="desc">Base type for declaring relay pattern </td></tr>
-<tr id="row_1_6_155_" 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_1relay_1_1PatternTuple.html" target="_self">PatternTuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_156_" 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_1relay_1_1PatternTupleNode.html" target="_self">PatternTupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
-<tr id="row_1_6_157_" 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_1relay_1_1PatternVar.html" target="_self">PatternVar</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_158_" 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_1relay_1_1PatternVarNode.html" target="_self">PatternVarNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
-<tr id="row_1_6_159_" 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_1relay_1_1PatternVisitor.html" target="_self">PatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" title="A dynamical functor on ADT patterns that dispatches on its first argument. You can us [...]
-<tr id="row_1_6_160_" 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_1relay_1_1PatternWildcard.html" target="_self">PatternWildcard</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_161_" 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_1relay_1_1PatternWildcardNode.html" target="_self">PatternWildcardNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWildcard</a> container node </td></tr>
-<tr id="row_1_6_162_" 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_1relay_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
-<tr id="row_1_6_163_" 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_1relay_1_1ProposalAttrs.html" target="_self">ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
-<tr id="row_1_6_164_" 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_1relay_1_1RecClosure.html" target="_self">RecClosure</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_165_" 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_1relay_1_1RecClosureObj.html" target="_self">RecClosureObj</a></td><td class="desc">The container type of <a class="el" href="classtvm_1_1relay_1_1RecClosure.html">RecClosure</a> </td></tr>
-<tr id="row_1_6_166_" 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_1relay_1_1ReduceAttrs.html" target="_self">ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
-<tr id="row_1_6_167_" 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_1relay_1_1RefCreate.html" target="_self">RefCreate</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_168_" 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_1relay_1_1RefCreateNode.html" target="_self">RefCreateNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_169_" 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_1relay_1_1RefRead.html" target="_self">RefRead</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_170_" 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_1relay_1_1RefReadNode.html" target="_self">RefReadNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_171_" 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_1relay_1_1RefValue.html" target="_self">RefValue</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_172_" 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_1relay_1_1RefValueObj.html" target="_self">RefValueObj</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_173_" 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_1relay_1_1RefWrite.html" target="_self">RefWrite</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_174_" 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_1relay_1_1RefWriteNode.html" target="_self">RefWriteNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_175_" 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_1relay_1_1RelayNode.html" target="_self">RelayNode</a></td><td class="desc">This is the base node container of all relay structures </td></tr>
-<tr id="row_1_6_176_" 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_1relay_1_1RepeatAttrs.html" target="_self">RepeatAttrs</a></td><td class="desc">Attributes used in repeat operators </td></tr>
-<tr id="row_1_6_177_" 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_1relay_1_1ReshapeAttrs.html" target="_self">ReshapeAttrs</a></td><td class="desc">Attributes used in reshape operators </td></tr>
-<tr id="row_1_6_178_" 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_1relay_1_1ReshapeLikeAttrs.html" target="_self">ReshapeLikeAttrs</a></td><td class="desc">Attributes used in MXNet-style reshape_like operators </td></tr>
-<tr id="row_1_6_179_" 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_1relay_1_1ReshapeTensorAttrs.html" target="_self">ReshapeTensorAttrs</a></td><td class="desc">Attributes for VM reshape_tensor operator </td></tr>
-<tr id="row_1_6_180_" 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_1relay_1_1Resize1DAttrs.html" target="_self">Resize1DAttrs</a></td><td class="desc">Attributes used in image resize1d operator </td></tr>
-<tr id="row_1_6_181_" 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_1relay_1_1Resize2DAttrs.html" target="_self">Resize2DAttrs</a></td><td class="desc">Attributes used in image resize2d operator </td></tr>
-<tr id="row_1_6_182_" 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_1relay_1_1Resize3DAttrs.html" target="_self">Resize3DAttrs</a></td><td class="desc">Attributes used in image resize3d operator </td></tr>
-<tr id="row_1_6_183_" 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_1relay_1_1ReverseAttrs.html" target="_self">ReverseAttrs</a></td><td class="desc">Attributes used in reverse operators </td></tr>
-<tr id="row_1_6_184_" 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_1relay_1_1ReverseSequenceAttrs.html" target="_self">ReverseSequenceAttrs</a></td><td class="desc">Attributes used in reverse_sequence operators </td></tr>
-<tr id="row_1_6_185_" 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_1relay_1_1ROIAlignAttrs.html" target="_self">ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
-<tr id="row_1_6_186_" 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_1relay_1_1ROIPoolAttrs.html" target="_self">ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
-<tr id="row_1_6_187_" 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_1relay_1_1Runtime.html" target="_self">Runtime</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1relay_1_1RuntimeNode.html" title="Runtime information. ">RuntimeNode</a> </td></tr>
-<tr id="row_1_6_188_" 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_1relay_1_1RuntimeNode.html" target="_self">RuntimeNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Runtime.html" title="Managed reference class to RuntimeNode. ">Runtime</a> information </td></tr>
-<tr id="row_1_6_189_" 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_1relay_1_1RuntimeRegEntry.html" target="_self">RuntimeRegEntry</a></td><td class="desc">Helper structure to register Runtimes </td></tr>
-<tr id="row_1_6_190_" 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_1relay_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
-<tr id="row_1_6_191_" 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_1relay_1_1ScatterAddAttrs.html" target="_self">ScatterAddAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_192_" 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_1relay_1_1ScatterAttrs.html" target="_self">ScatterAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_193_" 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_1relay_1_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_194_" 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_1relay_1_1SearchSortedAttrs.html" target="_self">SearchSortedAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_195_" 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_1relay_1_1SequenceMaskAttrs.html" target="_self">SequenceMaskAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_196_" 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_1relay_1_1ShapeFuncAttrs.html" target="_self">ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
-<tr id="row_1_6_197_" 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_1relay_1_1ShapeOfAttrs.html" target="_self">ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
-<tr id="row_1_6_198_" 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_1relay_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
-<tr id="row_1_6_199_" 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_1relay_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Shapes </td></tr>
-<tr id="row_1_6_200_" 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_1relay_1_1SliceLikeAttrs.html" target="_self">SliceLikeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_201_" 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_1relay_1_1SlidingWindowAttrs.html" target="_self">SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
-<tr id="row_1_6_202_" 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_1relay_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_1_6_203_" 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_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
-<tr id="row_1_6_204_" 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_1relay_1_1SparseConv2DAttrs.html" target="_self">SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_1_6_205_" 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_1relay_1_1SparseDenseAttrs.html" target="_self">SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_1_6_206_" 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_1relay_1_1SparseToDenseAttrs.html" target="_self">SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
-<tr id="row_1_6_207_" 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_1relay_1_1SparseTransposeAttrs.html" target="_self">SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
-<tr id="row_1_6_208_" 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_1relay_1_1SplitAttrs.html" target="_self">SplitAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_209_" 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_1relay_1_1SqueezeAttrs.html" target="_self">SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
-<tr id="row_1_6_210_" 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_1relay_1_1StackAttrs.html" target="_self">StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
-<tr id="row_1_6_211_" 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_1relay_1_1StftAttrs.html" target="_self">StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
-<tr id="row_1_6_212_" 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_1relay_1_1StridedSliceAttrs.html" target="_self">StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
-<tr id="row_1_6_213_" 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_1relay_1_1SubPixelAttrs.html" target="_self">SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
-<tr id="row_1_6_214_" 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_1relay_1_1TakeAttrs.html" target="_self">TakeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_215_" 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_1relay_1_1TempExpr.html" target="_self">TempExpr</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_216_" 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_1relay_1_1TempExprNode.html" target="_self">TempExprNode</a></td><td class="desc">Base class of the temporary expression </td></tr>
-<tr id="row_1_6_217_" 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_1relay_1_1ThreefryGenerateAttrs.html" target="_self">ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_218_" 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_1relay_1_1TileAttrs.html" target="_self">TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
-<tr id="row_1_6_219_" 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_1relay_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_220_" 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_1relay_1_1TransposeAttrs.html" target="_self">TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
-<tr id="row_1_6_221_" 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_1relay_1_1TriluAttrs.html" target="_self">TriluAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_222_" 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_1relay_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_223_" 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_1relay_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_224_" 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_1relay_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_225_" 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_1relay_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_226_" 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_1relay_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_227_" 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_1relay_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Tuple.html">Tuple</a> container </td></tr>
-<tr id="row_1_6_228_" 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_1relay_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_229_" 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_1relay_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Tuple.html">Tuple</a> container </td></tr>
-<tr id="row_1_6_230_" 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_1relay_1_1TypePattern.html" target="_self">TypePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
-<tr id="row_1_6_231_" 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_1relay_1_1TypePatternNode.html" target="_self">TypePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Types </td></tr>
-<tr id="row_1_6_232_" 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_1relay_1_1UniformAttrs.html" target="_self">UniformAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_233_" 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_1relay_1_1UniqueAttrs.html" target="_self">UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
-<tr id="row_1_6_234_" 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_1relay_1_1UpSampling3DAttrs.html" target="_self">UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
-<tr id="row_1_6_235_" 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_1relay_1_1UpSamplingAttrs.html" target="_self">UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
-<tr id="row_1_6_236_" 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_1relay_1_1v__info.html" target="_self">v_info</a></td><td class="desc">A struct to keep info of traversed expr in ExpandDataflow function </td></tr>
-<tr id="row_1_6_237_" 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_1relay_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_238_" 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_1relay_1_1VarianceAttrs.html" target="_self">VarianceAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_239_" 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_1relay_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Var.html">Var</a> </td></tr>
-<tr id="row_1_6_240_" 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_1relay_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_6_241_" 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_1relay_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Var.html">Var</a> </td></tr>
-<tr id="row_1_6_242_" 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_1relay_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">A pattern which matches anything </td></tr>
-<tr id="row_1_6_243_" 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_1relay_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard <a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> </td></tr>
-<tr id="row_1_6_244_" 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_1relay_1_1YoloReorgAttrs.html" target="_self">YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
+<tr id="row_1_6_135_" 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_1relay_1_1MultinomialAttrs.html" target="_self">MultinomialAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_136_" 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_1relay_1_1NdarraySizeAttrs.html" target="_self">NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
+<tr id="row_1_6_137_" 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_1relay_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in NLLLoss operator </td></tr>
+<tr id="row_1_6_138_" 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_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
+<tr id="row_1_6_139_" 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_1relay_1_1NormalAttrs.html" target="_self">NormalAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_140_" 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_1relay_1_1OnDeviceAttrs.html" target="_self">OnDeviceAttrs</a></td><td class="desc">Attributes for the "on_device" annotation (ie operator) </td></tr>
+<tr id="row_1_6_141_" 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_1relay_1_1OneHotAttrs.html" target="_self">OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
+<tr id="row_1_6_142_" 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_1relay_1_1OpImplementation.html" target="_self">OpImplementation</a></td><td class="desc">Operator implementation class </td></tr>
+<tr id="row_1_6_143_" 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_1relay_1_1OpImplementationNode.html" target="_self">OpImplementationNode</a></td><td class="desc">Operator implementation that includes compute and schedule function </td></tr>
+<tr id="row_1_6_144_" 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_1relay_1_1OpSpecialization.html" target="_self">OpSpecialization</a></td><td class="desc">Operator specialization class </td></tr>
+<tr id="row_1_6_145_" 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_1relay_1_1OpSpecializationNode.html" target="_self">OpSpecializationNode</a></td><td class="desc">Specialized implementations for operators under certain conditions </td></tr>
+<tr id="row_1_6_146_" 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_1relay_1_1OpStrategy.html" target="_self">OpStrategy</a></td><td class="desc">Operator strategy class </td></tr>
+<tr id="row_1_6_147_" 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_1relay_1_1OpStrategyNode.html" target="_self">OpStrategyNode</a></td><td class="desc">Operator strategy to choose implementation </td></tr>
+<tr id="row_1_6_148_" 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_1relay_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
+<tr id="row_1_6_149_" 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_1relay_1_1Pattern.html" target="_self">Pattern</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> is the base type for an ADT match pattern in Relay </td></tr>
+<tr id="row_1_6_150_" 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_1relay_1_1PatternConstructor.html" target="_self">PatternConstructor</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_151_" 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_1relay_1_1PatternConstructorNode.html" target="_self">PatternConstructorNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
+<tr id="row_1_6_152_" 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_1relay_1_1PatternFunctor.html" target="_self">PatternFunctor</a></td><td class="desc">A dynamical functor on ADT patterns that dispatches on its first argument. You can use this as a more powerful visitor, since it allows you to define the types of further arguments to Vi [...]
+<tr id="row_1_6_153_" 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_1relay_1_1PatternFunctor_3_01R_07const_01Pattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">PatternFunctor&lt; R(const Pattern &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_154_" 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_1relay_1_1PatternMutator.html" target="_self">PatternMutator</a></td><td class="desc">A wrapper around <a class="el" href="classtvm_1_1relay_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerfu.. [...]
+<tr id="row_1_6_155_" 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_1relay_1_1PatternNode.html" target="_self">PatternNode</a></td><td class="desc">Base type for declaring relay pattern </td></tr>
+<tr id="row_1_6_156_" 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_1relay_1_1PatternTuple.html" target="_self">PatternTuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_157_" 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_1relay_1_1PatternTupleNode.html" target="_self">PatternTupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
+<tr id="row_1_6_158_" 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_1relay_1_1PatternVar.html" target="_self">PatternVar</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_159_" 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_1relay_1_1PatternVarNode.html" target="_self">PatternVarNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternVar.html">PatternVar</a> container node </td></tr>
+<tr id="row_1_6_160_" 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_1relay_1_1PatternVisitor.html" target="_self">PatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relay_1_1PatternFunctor.html" title="A dynamical functor on ADT patterns that dispatches on its first argument. You can us [...]
+<tr id="row_1_6_161_" 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_1relay_1_1PatternWildcard.html" target="_self">PatternWildcard</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_162_" 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_1relay_1_1PatternWildcardNode.html" target="_self">PatternWildcardNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1PatternWildcard.html">PatternWildcard</a> container node </td></tr>
+<tr id="row_1_6_163_" 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_1relay_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
+<tr id="row_1_6_164_" 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_1relay_1_1ProposalAttrs.html" target="_self">ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
+<tr id="row_1_6_165_" 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_1relay_1_1RecClosure.html" target="_self">RecClosure</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_166_" 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_1relay_1_1RecClosureObj.html" target="_self">RecClosureObj</a></td><td class="desc">The container type of <a class="el" href="classtvm_1_1relay_1_1RecClosure.html">RecClosure</a> </td></tr>
+<tr id="row_1_6_167_" 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_1relay_1_1ReduceAttrs.html" target="_self">ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
+<tr id="row_1_6_168_" 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_1relay_1_1RefCreate.html" target="_self">RefCreate</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_169_" 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_1relay_1_1RefCreateNode.html" target="_self">RefCreateNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_170_" 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_1relay_1_1RefRead.html" target="_self">RefRead</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_171_" 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_1relay_1_1RefReadNode.html" target="_self">RefReadNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_172_" 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_1relay_1_1RefValue.html" target="_self">RefValue</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_173_" 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_1relay_1_1RefValueObj.html" target="_self">RefValueObj</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_174_" 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_1relay_1_1RefWrite.html" target="_self">RefWrite</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_175_" 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_1relay_1_1RefWriteNode.html" target="_self">RefWriteNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_176_" 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_1relay_1_1RelayNode.html" target="_self">RelayNode</a></td><td class="desc">This is the base node container of all relay structures </td></tr>
+<tr id="row_1_6_177_" 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_1relay_1_1RepeatAttrs.html" target="_self">RepeatAttrs</a></td><td class="desc">Attributes used in repeat operators </td></tr>
+<tr id="row_1_6_178_" 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_1relay_1_1ReshapeAttrs.html" target="_self">ReshapeAttrs</a></td><td class="desc">Attributes used in reshape operators </td></tr>
+<tr id="row_1_6_179_" 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_1relay_1_1ReshapeLikeAttrs.html" target="_self">ReshapeLikeAttrs</a></td><td class="desc">Attributes used in MXNet-style reshape_like operators </td></tr>
+<tr id="row_1_6_180_" 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_1relay_1_1ReshapeTensorAttrs.html" target="_self">ReshapeTensorAttrs</a></td><td class="desc">Attributes for VM reshape_tensor operator </td></tr>
+<tr id="row_1_6_181_" 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_1relay_1_1Resize1DAttrs.html" target="_self">Resize1DAttrs</a></td><td class="desc">Attributes used in image resize1d operator </td></tr>
+<tr id="row_1_6_182_" 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_1relay_1_1Resize2DAttrs.html" target="_self">Resize2DAttrs</a></td><td class="desc">Attributes used in image resize2d operator </td></tr>
+<tr id="row_1_6_183_" 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_1relay_1_1Resize3DAttrs.html" target="_self">Resize3DAttrs</a></td><td class="desc">Attributes used in image resize3d operator </td></tr>
+<tr id="row_1_6_184_" 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_1relay_1_1ReverseAttrs.html" target="_self">ReverseAttrs</a></td><td class="desc">Attributes used in reverse operators </td></tr>
+<tr id="row_1_6_185_" 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_1relay_1_1ReverseSequenceAttrs.html" target="_self">ReverseSequenceAttrs</a></td><td class="desc">Attributes used in reverse_sequence operators </td></tr>
+<tr id="row_1_6_186_" 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_1relay_1_1ROIAlignAttrs.html" target="_self">ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
+<tr id="row_1_6_187_" 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_1relay_1_1ROIPoolAttrs.html" target="_self">ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
+<tr id="row_1_6_188_" 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_1relay_1_1Runtime.html" target="_self">Runtime</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1relay_1_1RuntimeNode.html" title="Runtime information. ">RuntimeNode</a> </td></tr>
+<tr id="row_1_6_189_" 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_1relay_1_1RuntimeNode.html" target="_self">RuntimeNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Runtime.html" title="Managed reference class to RuntimeNode. ">Runtime</a> information </td></tr>
+<tr id="row_1_6_190_" 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_1relay_1_1RuntimeRegEntry.html" target="_self">RuntimeRegEntry</a></td><td class="desc">Helper structure to register Runtimes </td></tr>
+<tr id="row_1_6_191_" 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_1relay_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
+<tr id="row_1_6_192_" 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_1relay_1_1ScatterAddAttrs.html" target="_self">ScatterAddAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_193_" 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_1relay_1_1ScatterAttrs.html" target="_self">ScatterAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_194_" 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_1relay_1_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_195_" 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_1relay_1_1SearchSortedAttrs.html" target="_self">SearchSortedAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_196_" 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_1relay_1_1SequenceMaskAttrs.html" target="_self">SequenceMaskAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_197_" 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_1relay_1_1ShapeFuncAttrs.html" target="_self">ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
+<tr id="row_1_6_198_" 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_1relay_1_1ShapeOfAttrs.html" target="_self">ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
+<tr id="row_1_6_199_" 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_1relay_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
+<tr id="row_1_6_200_" 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_1relay_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Shapes </td></tr>
+<tr id="row_1_6_201_" 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_1relay_1_1SliceLikeAttrs.html" target="_self">SliceLikeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_202_" 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_1relay_1_1SlidingWindowAttrs.html" target="_self">SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
+<tr id="row_1_6_203_" 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_1relay_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_1_6_204_" 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_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
+<tr id="row_1_6_205_" 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_1relay_1_1SparseConv2DAttrs.html" target="_self">SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_1_6_206_" 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_1relay_1_1SparseDenseAttrs.html" target="_self">SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_1_6_207_" 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_1relay_1_1SparseToDenseAttrs.html" target="_self">SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
+<tr id="row_1_6_208_" 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_1relay_1_1SparseTransposeAttrs.html" target="_self">SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
+<tr id="row_1_6_209_" 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_1relay_1_1SplitAttrs.html" target="_self">SplitAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_210_" 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_1relay_1_1SqueezeAttrs.html" target="_self">SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
+<tr id="row_1_6_211_" 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_1relay_1_1StackAttrs.html" target="_self">StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
+<tr id="row_1_6_212_" 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_1relay_1_1StftAttrs.html" target="_self">StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
+<tr id="row_1_6_213_" 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_1relay_1_1StridedSliceAttrs.html" target="_self">StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
+<tr id="row_1_6_214_" 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_1relay_1_1SubPixelAttrs.html" target="_self">SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
+<tr id="row_1_6_215_" 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_1relay_1_1TakeAttrs.html" target="_self">TakeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_216_" 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_1relay_1_1TempExpr.html" target="_self">TempExpr</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_217_" 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_1relay_1_1TempExprNode.html" target="_self">TempExprNode</a></td><td class="desc">Base class of the temporary expression </td></tr>
+<tr id="row_1_6_218_" 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_1relay_1_1ThreefryGenerateAttrs.html" target="_self">ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_219_" 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_1relay_1_1TileAttrs.html" target="_self">TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
+<tr id="row_1_6_220_" 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_1relay_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_221_" 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_1relay_1_1TransposeAttrs.html" target="_self">TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
+<tr id="row_1_6_222_" 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_1relay_1_1TriluAttrs.html" target="_self">TriluAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_223_" 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_1relay_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_224_" 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_1relay_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_225_" 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_1relay_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_226_" 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_1relay_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_227_" 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_1relay_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_228_" 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_1relay_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Tuple.html">Tuple</a> container </td></tr>
+<tr id="row_1_6_229_" 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_1relay_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_230_" 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_1relay_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Tuple.html">Tuple</a> container </td></tr>
+<tr id="row_1_6_231_" 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_1relay_1_1TypePattern.html" target="_self">TypePattern</a></td><td class="desc">A pattern which matches a type in another pattern </td></tr>
+<tr id="row_1_6_232_" 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_1relay_1_1TypePatternNode.html" target="_self">TypePatternNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> for Types </td></tr>
+<tr id="row_1_6_233_" 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_1relay_1_1UniformAttrs.html" target="_self">UniformAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_234_" 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_1relay_1_1UniqueAttrs.html" target="_self">UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
+<tr id="row_1_6_235_" 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_1relay_1_1UpSampling3DAttrs.html" target="_self">UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
+<tr id="row_1_6_236_" 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_1relay_1_1UpSamplingAttrs.html" target="_self">UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
+<tr id="row_1_6_237_" 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_1relay_1_1v__info.html" target="_self">v_info</a></td><td class="desc">A struct to keep info of traversed expr in ExpandDataflow function </td></tr>
+<tr id="row_1_6_238_" 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_1relay_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_239_" 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_1relay_1_1VarianceAttrs.html" target="_self">VarianceAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_240_" 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_1relay_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Var.html">Var</a> </td></tr>
+<tr id="row_1_6_241_" 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_1relay_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_242_" 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_1relay_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">Container for <a class="el" href="classtvm_1_1relay_1_1Var.html">Var</a> </td></tr>
+<tr id="row_1_6_243_" 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_1relay_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">A pattern which matches anything </td></tr>
+<tr id="row_1_6_244_" 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_1relay_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard <a class="el" href="classtvm_1_1relay_1_1Pattern.html" title="Pattern is the base type for an ADT match pattern in Relay. ">Pattern</a> </td></tr>
+<tr id="row_1_6_245_" 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_1relay_1_1YoloReorgAttrs.html" target="_self">YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
 <tr id="row_1_7_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_7_" class="arrow" onclick="toggleFolder('1_7_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime.html" target="_self">runtime</a></td><td class="desc"></td></tr>
 <tr id="row_1_7_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_7_0_" class="arrow" onclick="toggleFolder('1_7_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1metadata.html" target="_self">metadata</a></td><td class="desc"></td></tr>
 <tr id="row_1_7_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html" target="_self">ArrayAccessor</a></td><td class="desc">A span-like class which permits access to <a class="el" href="classtvm_1_1runtime_1_1Array.html" title="Array, container representing a contiguous sequence of ObjectRefs. ">A [...]
diff --git a/docs/reference/api/doxygen/classes.html b/docs/reference/api/doxygen/classes.html
index 4386e4b33..76bf11b57 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -65,248 +65,249 @@ $(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_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="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> ( [...]
-<tr><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_1Map_1_1iterator.html">Map::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_1PragmaStep.html">PragmaStep</a> ( [...]
-<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_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_1 [...]
-<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_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="classtv [...]
-<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="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_1support_1_1Span_1_1iterator__base.html">Span::iterato [...]
-<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_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_1auto__scheduler_1_1IteratorNode.html">Iter [...]
-<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_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="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1It [...]
-<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_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="classtvm_1_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a class="el" href="namespace [...]
-<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_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_1IterMapExprNode.html">IterMapExprNode</a> (<a class=" [...]
-<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="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_1IterMapResult.html">IterMapResult</a> (<a c [...]
-<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 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_1IterMapResultNode.html">IterMapResultNode</a> (<a class="el"  [...]
-<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 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_1IterMark.html">IterMark</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="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1StmtExprMutator.html">StmtExprMutator</a> (<a class="el" href="namespacetvm_1_1tir. [...]
-<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_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 val [...]
-<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_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_1IterSplitExpr.html">IterSplitExpr</a> (<a class="el" href="namespacetvm [...]
-<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_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_ [...]
-<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_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_1IterSumExpr.html">IterSumExpr</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm:: [...]
-<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_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_1arith_1_1IterSumExprNode.html">IterSumExprNode</a> (<a class="el" href="namespa [...]
-<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_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_1tir_1_1IterVar.html">IterVar</a> (<a class="el" href="namespacetvm_1_1tir.h [...]
-<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_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_1IterVarAttr.html">IterVarAttr</a> (<a c [...]
-<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="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_1te_1_1IterVarAttrNode.html"> [...]
-<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_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_1tir_1_1IterVarNode.html">IterVarNode</a> (<a class="el" href="namespacetvm_1_1tir.html [...]
-<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="classtvm_1_1tir_1_1DeclBuffer.html">DeclBuffer</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_1IterVarRelation.html">IterVarRelation</a> (<a class="el" href="na [...]
-<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_1tir_1_1DeclBufferNode.html">DeclBufferNode</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_1IterVarRelationNode.html">IterVarRelationNode</a> (<a class="e [...]
-<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_1DeformableConv2DAttrs.html">DeformableConv2DAttrs</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" cellpaddi [...]
-</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_1runtime_1_1vm_1_1StorageObj.html">StorageObj</a> (<a class="el" href="namespacetvm_1_1runtime_1_1vm.html">tvm::runtime::vm</a>)&#160;&#160;&#160;</td></tr>
-<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="structtvm_1_1relay_1_1DenseAttrs.html">DenseAttrs</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_1ProgramBuilderNode.html">ProgramBuilderNode</a> (<a class="el" hr [...]
-<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_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="structtvm_1_1relay_1_1L2NormalizeAttrs.html">L2NormalizeAttrs</a> (<a class="el [...]
-<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_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="classtvm_1_1script_1_1printer_1_1LambdaDoc.html">LambdaDoc</a> (<a class="el" href="namespac [...]
-<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_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="classtvm_1_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1print [...]
-<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="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="structtvm_1_1relay_1_1LayerNormAttrs.html">LayerNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.ht [...]
-<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="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_1Layout.html [...]
-<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="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_1LayoutAxis.html">LayoutAxis</ [...]
-<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="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="classtvm_1_1tir_1_1LayoutNode.html">LayoutNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir [...]
-<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_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="structtvm_1_1relay_1_1LayoutTransformAttrs.html">LayoutTrans [...]
-<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="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" href="c [...]
-<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_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_1relay_1_1LeakyReluAttrs.html">LeakyReluA [...]
-<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_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="structtvm_1_1tir_1_1LENode.html">LENode</a> (<a class="el" href="namespacetvm_1_ [...]
-<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_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> (<a class="el" hre [...]
+</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_1Map_1_1iterator.html">Map::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_1PragmaStepNode.html">PragmaStepN [...]
+<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_1auto__scheduler_1_1Iterator.html">Iterator</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_1Prefetch.html">P [...]
+<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_1sup [...]
+<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="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterK [...]
+<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_1arith_1_1IterMapExpr.html">IterMapExpr< [...]
+<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="classtvm_1_1arith_1_1IterMapExprNode.html">Ite [...]
+<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_1IterMapResult.html">IterMapResult</a> (<a class="el" href="na [...]
+<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_1IterMapResultNode.html">IterMapResultNode</a> ( [...]
+<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_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_1tir_1_1StmtFunctor.html">StmtFunctor</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_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="classtvm_1_1tir_1_1DeclBuffer.html">DeclBuffer</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_1IterVarRelationNode.html">IterVarRelationNode</a> (<a class="el" href="namespacetvm_1_1 [...]
+<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="classtvm_1_1tir_1_1DeclBufferNode.html">DeclBufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</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_1Store.html">Store</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="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_1auto__scheduler_1_1ProgramBuilderNode.html">Pro [...]
+<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_1DenseAttrs.html">DenseAttrs</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="el" hr [...]
+<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_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_1script_1_1printer_1_1LambdaDoc.html">LambdaDoc</a> (<a class="el" href="nam [...]
+<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="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="classtvm_1_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class [...]
+<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="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_1relay.ht [...]
+<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_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.html">tvm::tir</a>)&#160;&#160; [...]
+<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_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="namespa [...]
+<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_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 c [...]
+<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_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_1LayoutTransformAttr [...]
+<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_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_1tir_1_1LE.html">LE</a> (<a class="el" href="namespacetvm [...]
+<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="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" href="structtvm_1_1relay_1_1LeakyReluAttrs.html">LeakyRel [...]
+<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_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" hr [...]
 </td></tr>
-<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_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_1Let.html">Let</a> (<a class="el" hre [...]
-<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_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"> [...]
-<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_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_1LetNode.html">LetNode</a> (<a class="el" href="namespacetvm_1_1re [...]
-<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_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_1LetPattern.html">LetPattern</a> (<a class="el" href="namespacetvm_1_ [...]
-<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_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_1relay_1_1LetPatternNode.html">LetPatternNode</a> (<a class="el"  [...]
-<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_1DiagnosticBuilder.html">DiagnosticBuilder</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#1 [...]
-<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_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_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ArrayIndexPath.html">ArrayIndexPath</a> (<a class="el" href="namespacetvm.html">tvm</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_1support_1_1LinearCongruentialEngine.html">LinearCongruentialEngine</a> (<a class="el" href="namespacetvm_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ArrayIndexPathNode.html">ArrayIndexPathNode</a> (<a class="el" href="namespacetvm.html">tvm</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;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ListDoc.html">ListDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm [...]
-<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_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_1script_1_1printer_1_1ListDocNode.html">ListDocNo [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1TargetTagNode.html">TargetTagNode</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_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_1script_1_1printer_1_1LiteralDoc.html">LiteralDoc</a> (<a class="el" href="namespac [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssertDoc.html">AssertDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_1script_1_1printer_1_1LiteralDocNode.html">LiteralDocNode</a> (<a class="el" href [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssertDocNode.html">AssertDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_1tir_1_1Load.html">Load</a> (<a class="el" href="namespacetvm_1_1 [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html">TaskSchedulerNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td></tr>
-<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_1script_1_1printer_1_1DictDoc.html">DictDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoadNode.html">LoadNode</a> (<a class="el" href="namespa [...]
-<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="classtvm_1_1script_1_1printer_1_1DictDocNode.html">DictDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilder.html">LocalBuil [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssignDoc.html">AssignDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_1LocalBuilderNode.html">LocalBui [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssignDocNode.html">AssignDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_1LocalRunner.htm [...]
-<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="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_1auto__scheduler_1_1LocalRunnerNode.html">LocalRunnerNode</a> (<a class="el" hr [...]
-<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_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_1LoopRV.html">LoopRV</a> (<a class="el" href="namespacet [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AttrAccessDoc.html">AttrAccessDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1Doc.html">Doc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LoopRVNode.html">L [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AttrAccessDocNode.html">AttrAccessDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DocNode.html">DocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_ [...]
-<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_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="classtvm_1_1tir_1_1LT.html">LT</a> (<a class="el" href="namespacetvm_1_1tir.ht [...]
-<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_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_1LTNode.html">LTNode</a> (<a class="el" href="na [...]
-<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="structtvm_1_1relay_1_1DropoutAttrs.html">DropoutAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;< [...]
+<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_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_1tir_1_1Let.html">Let</a>  [...]
+<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_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_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm [...]
+<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_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_1tir_1_1LetNode.html">LetNode</a> (<a class="el" href= [...]
+<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_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;</t [...]
+<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_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" href="namespac [...]
+<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_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</a> (<a class="el" href [...]
+<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_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;&#160;&#160;</t [...]
+<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_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 [...]
+<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_1DiagnosticContext.html">DiagnosticContext</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#1 [...]
+<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_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_1script_1_1printer_1_1ListDoc.html">L [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ArrayIndexPath.html">ArrayIndexPath</a> (<a class="el" href="namespacetvm.html">tvm</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;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ListDocNode.html">ListDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1TargetTagRegEntry.html">TargetTagRegEntry</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1ArrayIndexPathNode.html">ArrayIndexPathNode</a> (<a class="el" href="namespacetvm.html">tvm</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_1script_1_1printer_1_1LiteralDoc.html">LiteralDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1pri [...]
+<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_1script_1_1printer_1_1LiteralDocNode.html [...]
+<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_1tir_1_1Load.html">Load</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</t [...]
+</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_1script_1_1printer_1_1AssertDoc.html">AssertDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_1tir_1_1LoadNode.html">LoadNode</a> (<a class="el" href="namespacetvm_1_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssertDocNode.html">AssertDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DictDoc.html">DictDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1 [...]
+<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_1script_1_1printer_1_1DictDocNode.html">DictDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html">LocalBuilderN [...]
+<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_1script_1_1printer_1_1AssignDoc.html">AssignDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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">L [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AssignDocNode.html">AssignDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_ [...]
+<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="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="namespacet [...]
+<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_1script_1_1printer_1_1Doc.html">Doc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1LRNAttrs.html">LRNAt [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AttrAccessDoc.html">AttrAccessDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1DocNode.html">DocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LT.html">L [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1AttrAccessDocNode.html">AttrAccessDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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="classtvm_1_1tir_1_1LTNode.html">LTNod [...]
+<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_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><t [...]
 </td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RecClosure.html">RecClosure</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_1metadata_1_1TensorInfoNode.html">TensorInfoNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)&#160;&#160;&#160;</td></tr>
-<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="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 valign="top"><a class="el" href="classtvm_1_1relay_1_1RecClosureObj. [...]
-<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="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_1runtime_1_1Map.html">Map</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::ru [...]
-<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 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_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_1RecordReaderNode.html">RecordReaderNode</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_1TensorIntrin.html">TensorIntrin</a>  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttributeAccessPath.html">AttributeAccessPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MapValuePath.html">MapValuePath</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_1RecordToFile.html">RecordToFile</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttributeAccessPathNode.html">AttributeAccessPathNode</a> (<a class="el" href="namespacetvm.html">tvm</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_1MapValuePathNode.html">MapValuePathNode</a> (<a class="el" href="namespacetvm.htm [...]
-<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 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_1relay_1_1Match.html">Match</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</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_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_1MatchBufferRegion.html">MatchBufferRegion</a> (<a class="el" href="namespacetvm_1_1tir.h [...]
-<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="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_1tir_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el" href=" [...]
-<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_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="classtvm_1_1relay_1_1MatchNode.html">MatchNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm [...]
-<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="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_1MatmulAttrs.html">MatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.h [...]
-<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_1ErrorReporter.html">ErrorReporter</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.h [...]
-<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_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_1Max.html">Max</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>) [...]
-<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="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="classtvm_1_1tir_1_1MaxNode.html">MaxNode</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_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_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_1MaxPool1DAttrs.html">MaxPool1DAttrs</a> (<a class="el" href="namespa [...]
-<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_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_1MaxPool2DAttrs.html">MaxPool2DAttrs</a> (<a class="el" href="namespace [...]
-<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_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="structtvm_1_1relay_1_1MaxPool3DAttrs.html">MaxPool3DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&# [...]
-<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_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_1meta__schedule_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el" href="namespacetvm_1_1met [...]
-<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="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_1auto__scheduler_1_1MeasureCallback.html">MeasureCallbac [...]
-<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="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_1meta__schedule_1_1MeasureCallbackNode.html">MeasureCallbackNode</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_1script_1_1printer_1_1ExprDoc.html">ExprDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html">MeasureCallbackNode</a [...]
-<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="classtvm_1_1script_1_1printer_1_1ExprDocNode.html">ExprDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidate.html">MeasureCan [...]
-<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="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.html">MeasureC [...]
-<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_1auto__scheduler_1_1MeasureInput.html">MeasureInput</a> (<a class="el" href="namespacetvm_1_1auto__schedule [...]
-<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_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 [...]
-<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_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_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_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"  [...]
-<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_1MemoryInfo.html">MemoryInfo</a> (<a class="el" href="namespacetvm.html">tv [...]
+<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="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_1relay_1_1RecClosureObj.html">RecClosureObj</a> (<a class="el" href="n [...]
+<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_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 valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a> (<a class="el" href="namespacetvm_1 [...]
+<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_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_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" h [...]
+<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 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_1MapValuePath.html">MapValuePath</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_1RecordToFile.html">RecordToFile</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_1te_1_1TensorIntrinCallNode.html">TensorIntrinCallNode</a> (<a class="el" [...]
+<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="classtvm_1_1MapValuePathNode.html">MapValuePathNode</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_1RecordToFileNode.html">RecordToFileNode</a> (<a class="el" href="namespacetvm_1_1auto__sch [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttributeAccessPath.html">AttributeAccessPath</a> (<a class="el" href="namespacetvm.html">tvm</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="namespacetvm_1_1relay.html">tvm::rela [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttributeAccessPathNode.html">AttributeAccessPathNode</a> (<a class="el" href="namespacetvm.html">tvm</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</a>)&# [...]
+<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 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="namespacetvm_1_1 [...]
+<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_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::r [...]
+<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="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="namespace [...]
+<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="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_1re [...]
+<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_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>)&# [...]
+<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_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::tir</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_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="namesp [...]
+<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="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_ [...]
+<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_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="namespacetvm_1_1relay.html">tvm:: [...]
+<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_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 class="e [...]
+<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_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="namespacetvm_1_1auto__sche [...]
+<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="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 class="el" href="namespacetvm [...]
+<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="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">MeasureCallbackNode< [...]
+<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_1script_1_1printer_1_1ExprDoc.html">ExprDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidate.html" [...]
+<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_1script_1_1printer_1_1ExprDocNode.html">ExprDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html">MeasureCandida [...]
+<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="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_1auto__scheduler_1_1MeasureInput.html">MeasureInput</a> (<a class="el" href="namespacetvm_1_ [...]
+<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="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_1auto__scheduler_1_1MeasureInputNode.html">Measu [...]
+<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_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="classtvm_1_1auto__scheduler_1_1M [...]
+<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_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;</ [...]
+<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_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_1MemoryInfo.html">MemoryInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>) [...]
+<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_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_1MemoryInfoNode.html">MemoryInfoNode</a> (<a class="el" href="namespacetvm. [...]
+<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_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_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el" href [...]
 <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_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_1MemoryInfoNode.html">MemoryInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html">RepeatAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::r [...]
-<tr><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_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</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_1runtime_1_1profiling_1_1Report.html">Report</a> [...]
-<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_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="structMemoryManagerInterface.html">MemoryManagerInterface</a>&#160;&#160;&#160;</td><td valign="top"><a class="e [...]
-<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_1script_1_1printer_1_1ExprStmtDoc.html">ExprStmtDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs< [...]
-<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_1script_1_1printer_1_1ExprStmtDocNode.html">ExprStmtDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html">Metadata</a> (<a class="el" href [...]
-<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="classtvm_1_1runtime_1_1metadata_1_1MetadataArray.html">MetadataArray</a> (<a class="el" href="namespacetvm_1_1runtime_1_1m [...]
-<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_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="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html">MetadataArrayNode</a> (<a class="el" href="namespacetvm_1_1runtim [...]
-<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_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_1MetadataBase.html">MetadataBase</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.htm [...]
-<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_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_1MetadataBaseNode.html">MetadataBaseNode</a> (<a class="el" href="namespacetvm_1_1run [...]
-<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_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_1MetadataNode.html">MetadataNode</a> (<a [...]
-<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="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="structtvm_1_1relay_1_1MetaScheduleLayoutTransformAttrs.html">MetaScheduleL [...]
-<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 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="structtvm_1_1relay_1_1BatchMatmulAttrs.html">BatchMatmulAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</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_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="classtvm_1_1script_1_1printer_1_1ReturnDocNode.html">ReturnDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" h [...]
-<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_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_1ReverseAttrs.html">ReverseAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">t [...]
-<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_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 [...]
-<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_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_1MirrorPadAttrs.html">Mir [...]
-<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="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_1MissingArrayElementPath.html">MissingArrayElementPath</a> (<a class="el" href="na [...]
-<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_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_1MissingArrayElementPathNode.html">MissingArrayElementPathNode< [...]
-<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="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_1MissingMapEntryPath.html">MissingMapEntryPa [...]
-<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_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_1MissingMapEntryPathNode.html">MissingMapEntryPathNode</a> (< [...]
-<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_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_1relay_1_1MixedModeMutator.html">MixedModeMutator</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a> [...]
-<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_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_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class="el" href="namespacetvm_1_1relay.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_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_1tir_1_1Mod.html">Mod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td [...]
-<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_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_1tir_1_1ModNode.html">ModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)& [...]
-<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_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_1ModularSet.html">ModularSet</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a [...]
-<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_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_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> (<a class="el" href="namespacetv [...]
-<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_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_1arith_1_1ModularSetNode.html"> [...]
-<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_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_1runtime_1_1Module.html">Module</a> (<a c [...]
-<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_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_1runtime_1_1ModuleNode.html">ModuleNode</a> (<a cla [...]
-<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_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_1tir_1_1Mul.html">Mul</a> (<a class="el" href [...]
-<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_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_1tir_1_1MulNode.html">MulNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#16 [...]
-<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_1script_1_1printer_1_1ForDoc.html">ForDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html">MultiBoxPriorAttrs</a> (<a class="el" href="namespacetvm_1_1r [...]
-<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_1script_1_1printer_1_1ForDocNode.html">ForDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html">MultiBoxTransform [...]
-<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_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="name [...]
-<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_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">Mu [...]
-<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_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" cellspaci [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1RuntimeRegEntry.html">RuntimeRegEntry</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structTVMConstantInfo.html">TVMConstantInfo</a>&#160;&#160;&#160;</td></tr>
-<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_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 rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><di [...]
-</td><td valign="top"><a class="el" href="structTVMFuncRegistry.html">TVMFuncRegistry</a>&#160;&#160;&#160;</td></tr>
-<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_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 clas [...]
-<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_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> (< [...]
-<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_1script_1_1printer_1_1FunctionDoc.html">FunctionDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1 [...]
-<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_1script_1_1printer_1_1FunctionDocNode.html">FunctionDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html"> [...]
-<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_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< [...]
-<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_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" href="namesp [...]
-<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_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> (<a class="el" href="namespacetvm.html" [...]
-<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_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">NodeFunctor&lt; R(const ObjectRef &amp;n, A [...]
-<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 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 class="el" href="nam [...]
-<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_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>) [...]
-<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="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;& [...]
-<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="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="namespacet [...]
-<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_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> (< [...]
-<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 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_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="structMemoryManagerInterface.html">MemoryManagerInterface</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html">ReportNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runti [...]
+<tr><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="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</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_1ReprPrinter.html">ReprPrinter</a> (<a class="el" href="namespacetvm.html"> [...]
+<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_1script_1_1printer_1_1ExprStmtDoc.html">ExprStmtDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1Metadata.html">Metadata</a> (<a class="el" hr [...]
+<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_1script_1_1printer_1_1ExprStmtDocNode.html">ExprStmtDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1MetadataArray [...]
+<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_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="classtvm_1_1runtime_1_1metadata_1_1MetadataArrayNode.html">MetadataArrayNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1m [...]
+<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_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="classtvm_1_1runtime_1_1metadata_1_1MetadataBase.html">MetadataBase</a> (<a class="el" href="namespacetvm_1_1runtime_ [...]
+<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_1MetadataBaseNode.html">MetadataBaseNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.htm [...]
+<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_1MetadataNode.html">MetadataNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1meta [...]
+<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="structtvm_1_1relay_1_1MetaScheduleLayoutTransformAttrs.html">MetaScheduleLayoutTra [...]
+<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_1profiling_1_1MetricCollector.html">MetricCo [...]
+<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_1MetricCollectorNode.html">MetricCollector [...]
+<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_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_1ReverseAttrs.html">ReverseAttrs</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_1Tuple.html">Tuple</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#16 [...]
+<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_1MinNode.html">MinNode</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_1ReverseIterAdapter.html">ReverseIterAdapter</a> (<a class="el" href="name [...]
+<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="structtvm_1_1relay_1_1MirrorPadAttrs.html">MirrorP [...]
+<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_1MissingArrayElementP [...]
+<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_1MissingArrayElementPathNode.html">MissingArrayElementPathNode</a> (<a class="el" [...]
+<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_1MissingMapEntryPath.html">MissingMapEntryPath</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_1MissingMapEntryPathNode.html">MissingMapEntryP [...]
+<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_1MixedModeMutator.html">MixedModeMutator</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_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class="el" href="namespacetvm_1_1relay.html" [...]
+<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_1Mod.html">Mod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td> [...]
+<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_1tir_1_1ModNode.html">ModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</ [...]
+<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_1ModularSet.html">ModularSet</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</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_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> (<a class="el" href="namespacetvm_1_1arith.ht [...]
+<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_1arith_1_1ModularSetNode.html">ModularSetNode</a> (<a class="el" href="namespacetvm_1_1arith.htm [...]
+<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_1Module.html">Module</a> (<a [...]
+<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_1runtime_1_1ModuleNode. [...]
+<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_1Mul.html">Mul</a> (<a class="el" href="namespacetvm [...]
+<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_1tir_1_1MulNode.html">MulNode</a> (<a class [...]
+<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_1MultiBoxPriorAttrs.html">MultiBoxPriorAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm: [...]
+<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_1script_1_1printer_1_1ForDoc.html">ForDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html">MultiBoxTransfo [...]
+<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_1script_1_1printer_1_1ForDocNode.html">ForDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html">MultinomialAttrs</a> (<a class="el" href="namespacetvm_ [...]
+<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_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.html">tvm [...]
+<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_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__sche [...]
+<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_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" cellpadd [...]
+</td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structTVMGraphExecutorGraphAttr.html">TVMGraphExecutorGraphAttr</a>&#160;&#160;&#160;</td></tr>
+<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_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="structTVMMetadata.html">TVMMetadata</a>&#160;&#160 [...]
+<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_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="namespacetvm_1_1r [...]
+<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_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" hre [...]
+<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_1script_1_1printer_1_1FunctionDoc.html">FunctionDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Ndarray [...]
+<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_1script_1_1printer_1_1FunctionDocNode.html">FunctionDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1 [...]
+<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_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="name [...]
+<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_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" href="namespacetvm_1 [...]
+<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_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> (<a class="el" href="namespacet [...]
+<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_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">NodeFunctor&lt; R(const ObjectRef &amp;n, Args... [...]
+<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_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 class="el" href="namespacetv [...]
+<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 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:: [...]
+<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_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;&#1 [...]
+<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="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=" [...]
+<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="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 class= [...]
+<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 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 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_1tir_1_1ScheduleState.html">ScheduleState</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_1Type.html">Type</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<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_1tir_1_1ScheduleStateNode.html">ScheduleStateNode</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_1TypeCall.html">TypeCall</a> (<a class="el" href [...]
-<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="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">ObjAllocat [...]
-<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_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"  [...]
-<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="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="namespac [...]
-<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_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="nam [...]
-<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_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_1ObjectPath.html">ObjectPath</a> (<a class="el" href="namespacetvm.htm [...]
-<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_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="classtvm_1_1ObjectPathNode.html">ObjectPathNode</a> (<a class="el" href= [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ScheduleStateNode.html">ScheduleStateNode</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_1TypeCallNode.html">TypeCallNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
+<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_1script_1_1printer_1_1ScopeDoc.html">ScopeDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypeConstraint.html">TypeConstraint [...]
+<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="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</ [...]
+<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="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 c [...]
+<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="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 [...]
+<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="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="namespacetv [...]
+<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_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_1ObjectPath.html">ObjectPath</a> (<a class="el" href="namespa [...]
+<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_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="classtvm_1_1ObjectPathNode.html">ObjectPathNode</a> (<a class="el" href="namespa [...]
+<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="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_1ObjectPathPair.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="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_1ObjectPathPair.html">ObjectPathPair</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1SearchPolicyKey.html">SearchPolicyKey</a> (<a class="el" href= [...]
-<tr><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_1ObjectPathPairNode.html">ObjectPathPairNode</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_1SearchPolicyNode.html">SearchPolicyNode</a> (<a class="el" h [...]
-<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="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="classtvm_1_1runtime_1_1ObjectPtr.html">ObjectPtr</a> (<a class="el" href="namespa [...]
-<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="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_1ObjectPtrEqual.html">ObjectPtrEqual</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_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_1ObjectPtrHash.html">ObjectPtrHash</a> (<a class="el" href="name [...]
-<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_1GlobalVarNode.html">GlobalVarNode</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" hre [...]
-<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_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.html">ObjectTypeChecker</a> (<a cla [...]
-<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 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_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_4_01_4.html">ObjectTypeChecker&lt; Ar [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#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_1runtime_1_1ObjectTypeChecker_3_01Map_3_01K_00_0 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDocNode.html">CallDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="na [...]
-<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_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="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el [...]
-<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 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_1Op.html">Op</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1SelectSHashReduce.html">SelectSHashReduce</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_1detail_1_1TypeName_3_01int_01_4.html">TypeName&lt; int &gt;</a> (<a class="el" href="namespacetvm_1_1detai [...]
-<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="classtvm_1_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1SelectSHashReduce_3_01T_00_01TraitName_00_01false_01_4.html">SelectSHashReduce&lt; T, TraitName, false &gt;</a> [...]
-<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_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_1te_1_1Operation.html">Operation</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="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_1script_1_1printer_1_1OperationDoc.html">OperationDoc</a> (<a class="el" href="name [...]
-<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_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_1script_1_1printer_1_1OperationDocNode.html">OperationDocNode</a> (<a class=" [...]
-<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="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_1te_1_1Operatio [...]
-<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="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_1OpImplementation.html">OpImplementation</a> ( [...]
-<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_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_1OpImplementationNode.html">OpImplementat [...]
-<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 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_1OpNode.html">OpNode</a> (<a class [...]
-<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_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_1OpRegEntry.html">OpRegEntry</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td v [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ClassDoc.html">ClassDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_1relay_1_1OpSpecialization.html">OpSpecialization</a> (<a cla [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ClassDocNode.html">ClassDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_1relay_1_1OpSpecializationNode.html">OpSpecializationNode</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_1micro__rpc_1_1SessionHeader.html">SessionHeader</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_1TypeVar.html [...]
-<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_1OpStrategy.html">OpStrategy</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_1ShapeFuncAttrs.html">ShapeFuncAttrs</a> (<a class="el" href="namespacetvm_1_1relay. [...]
-<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_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_1relay_1_1OpStrategyNode.html">OpStrategyNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm [...]
-<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_1script_1_1printer_1_1IdDoc.html">IdDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a> (<a class="el" href="na [...]
+</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_1ObjectPathPairNode.html">ObjectPathPairNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html">SearchSortedAttrs</a> (<a class="el" href="n [...]
+<tr><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="classtvm_1_1runtime_1_1ObjectPtr.html">ObjectPtr</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_1SearchStrategy.html">SearchStrategy</a> (<a class="el" href="namespacetvm_1_1meta_ [...]
+<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="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_1ObjectPtrEqual.html">ObjectPtrEqual</a> (<a class [...]
+<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="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_1ObjectPtrHash.html">ObjectPtrHash</a> (<a class="el" href [...]
+<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_1GlobalVarNode.html">GlobalVarNode</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="names [...]
+<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_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_1r [...]
+<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="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_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01_4_01_4.html">ObjectTypeChecker&lt; Array&lt [...]
+<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 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_1runtime_1_1ObjectTypeChecker_3_01Map_3_01K_00_01V_01_4_01_4.html">ObjectTypeChecker&lt; [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#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="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="namespacet [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDocNode.html">CallDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el" href [...]
+<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 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_1Op.html">Op</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1SelectSHashReduce_3_01T_00_01TraitName_00_01false_01_4.html">SelectSHashReduce&lt; T, TraitName, false &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_1detail_1_1TypeName_3_01uint64__t_01_4.ht [...]
+<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_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1SelectVisitAttrs.html">SelectVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail. [...]
+<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="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_1te_1_1Operation.html">Operation</a> (<a class="el" hr [...]
+<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_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_1script_1_1printer_1_1OperationDoc.html">OperationDoc</a> (<a class="el" href="namespacet [...]
+<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="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_1script_1_1printer_1_1OperationDocNode.html">OperationDocNode</a> (<a class="el" href [...]
+<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="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_1te_1_1OperationNode.ht [...]
+<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="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_1OpImpleme [...]
+<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_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_1OpImplementationNode.html">OpImplementationNode</a> (<a c [...]
+<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_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_1OpNode.html">OpNode</a> (<a class="el" hr [...]
+<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 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_1OpRegEntry.html">OpRegEntry</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160 [...]
+<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_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_1relay_1_1OpSpecialization.html">OpSpecialization</a> (<a class="el" href="namespacetvm_1_1relay.html [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ClassDoc.html">ClassDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</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_1relay_1_1OpSpecializationNode.html">OpSpecializationNode</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_1ShapeFuncAttrs.html">ShapeFuncAttrs</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_1TypeVisitor.html">TypeVisitor</a> (<a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1ClassDocNode.html">ClassDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpStrategy.html">OpStrategy</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_1ShapeOfAttrs.html">ShapeOfAttrs</a> ( [...]
 </td></tr>
-<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_1script_1_1printer_1_1IdDocNode.html">IdDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespace [...]
-<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_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_1tir_1_1OrNode.html">OrNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir< [...]
-<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_1If.html">If</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 valign="top"><a class="el" href="classtvm_1_1runtime_1_1ShapeTupleObj.html">ShapeTupleObj</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_1UniformAttrs.html">UniformAttrs</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_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_1script_1_1printer_1_1IfDoc.html">IfDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer.html">SHashReducer</a> (<a class="el" href="namespac [...]
-<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_1script_1_1printer_1_1IfDocNode.html">IfDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html">PackedFunc</a> (<a cl [...]
-<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="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.html">tvm: [...]
-<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="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="namespacetvm_1 [...]
-<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="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" href="namespa [...]
-<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="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">PackedFuncVa [...]
+<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_1relay_1_1OpStrategyNode.html">OpStrategyNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay< [...]
+<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_1script_1_1printer_1_1IdDoc.html">IdDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a> (<a class="el" href="n [...]
+<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_1script_1_1printer_1_1IdDocNode.html">IdDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacet [...]
+<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_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_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="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_1If.html">If</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&# [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1SHashReducer.html">SHashReducer</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1UnknownAttributeAccessPath.html">UnknownAttributeAccessPath</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_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_1script_1_1printer_1_1IfDoc.html">IfDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Shuffle.html">Shuffle</a> (<a class="el" href="namespacetvm_1_ [...]
+<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_1script_1_1printer_1_1IfDocNode.html">IfDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFunc.html">PackedFunc</a> (<a class="el" [...]
+<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_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_1run [...]
+<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="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="namespacetvm_1_1runtim [...]
 </td></tr>
-<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="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_01PrimExp [...]
-<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_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_1PackedFuncValu [...]
-<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="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_1r [...]
-<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="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_1PackedFuncValueConvert [...]
-<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="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="cl [...]
-<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="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.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_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="classtvm_1_1transform_1_1Pass.html">Pass</a> (<a class="el [...]
-<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_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="namespacetvm_1_1transform.html">tvm:: [...]
-<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="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_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="classtvm_1_1script_1_1printer_1_1IndexDoc.html">IndexDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transfor [...]
-<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_1script_1_1printer_1_1IndexDocNode.html">IndexDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html">Pa [...]
-<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_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> (<a class="el" href="namespacetvm_1_1instrume [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantInfo.html">ConstantInfo</a> (<a class="el" href="namespacetvm.html">tvm</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.html">PassInstrumentNode</a> (<a class="el" href="namespacetvm_1_1instrumen [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadata.html">ConstantInfoMetadata</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="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. [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode.html">ConstantInfoMetadataNode</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_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_ [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantInfoNode.html">ConstantInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</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.html">PatternConstructor</a> (<a class="el" href="name [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantMemoryPools.html">ConstantMemoryPools</a> (<a class="el" href="namespacetvm.html">tvm</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_1PatternConstructorNode.html">PatternConstructorNode</a> (<a class="el" href="namespacet [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html">ConstantMemoryPoolsNode</a> (<a class="el" href="namespacetvm.html">tvm</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_1PatternFunctor.html">PatternFunctor</a> (<a class [...]
-<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_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.ht [...]
-<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_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" [...]
+<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="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= [...]
+<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="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">PackedFuncValueConverter&lt; Optional&lt [...]
+<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="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">PackedFuncValue [...]
+<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_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_1PackedFuncValueConvert [...]
+<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_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=" [...]
+<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="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_1 [...]
+<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="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 [...]
+<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="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">PadAt [...]
+<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="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" hr [...]
+<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="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="namespacetvm_1_1transform.html">tvm::transfor [...]
+<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_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> (<a class="el" href="namespacetvm_1_1trans [...]
+<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="classtvm_1_1script_1_1printer_1_1IndexDoc.html">IndexDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1Pas [...]
+<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="classtvm_1_1script_1_1printer_1_1IndexDocNode.html">IndexDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1 [...]
+<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_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> (<a class="el" href="namespa [...]
+<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_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.html">PassInstrumentNode</a> (<a class="el" href="namespac [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantInfo.html">ConstantInfo</a> (<a class="el" href="namespacetvm.html">tvm</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">tvm::tran [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadata.html">ConstantInfoMetadata</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_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 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ConstantInfoMetadataNode.html">ConstantInfoMetadataNode</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="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_1re [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantInfoNode.html">ConstantInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</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_1PatternConstructorNode.html">PatternConstructorNode</a> (<a class="el" href="namespacetvm_1_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantMemoryPools.html">ConstantMemoryPools</a> (<a class="el" href="namespacetvm.html">tvm</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_1PatternFunctor.html">PatternFunctor</a> (<a class="el" hre [...]
 </td></tr>
-<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_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  [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1ConstantPoolInfo.html">ConstantPoolInfo</a> (<a class="el" href="namespacetvm.html">tvm</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" href="namespacetvm_1_1relay.html"> [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">ConstantPoolInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</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" href="namespa [...]
-<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_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 class="el" href="n [...]
-<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_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">Pattern [...]
-<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_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_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_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">tv [...]
-<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_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="namespacetvm [...]
-<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_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">PercentNode</a> (<a class="el" href= [...]
-<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_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" href=" [...]
-<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_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">PlaceholderOpNode</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_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>)&#160;&#160; [...]
-<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_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.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_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" href="namespacetvm_1 [...]
-<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_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">PoolAllocationN [...]
-<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_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.html">tvm</a>)&#160; [...]
-<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_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;&# [...]
-<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_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_1PoolInfoProperties.html">PoolInfoProperties</a> (<a class="el" href="namespacetvm.html" [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantMemoryPoolsNode.html">ConstantMemoryPoolsNode</a> (<a class="el" href="namespacetvm.html">tvm</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 [...]
+<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 [...]
+<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_1ConstantPoolInfo.html">ConstantPoolInfo</a> (<a class="el" href="namespacetvm.html">tvm</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" href="namespacetvm_1_1 [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1ConstantPoolInfoNode.html">ConstantPoolInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</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 class="el" href="namespacetv [...]
+<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_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</a> (<a  [...]
+<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_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" [...]
+<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_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">tv [...]
+<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_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< [...]
+<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_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">PercentNode</a> (<a class="el" href="namespa [...]
+<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_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" href="namespacetvm_1_1te.html">tv [...]
+<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_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">PlaceholderOpNode</a> (<a c [...]
+<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_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>)&#160;&#160;&#160 [...]
+<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_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< [...]
+<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_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 cl [...]
+<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_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= [...]
+<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_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 [...]
 </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="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_1PoolInfoPr [...]
-<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_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><td valign="top"> [...]
+<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_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;&#160;&#160;</td><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_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_1PoolInfoProperties.html">PoolInfoProperties</a> (<a class="el" href="namespacetvm.htm [...]
+<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="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_1PoolInfoPropertiesNode.html">PoolInfoPropertiesNode< [...]
+<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="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 [...]
+<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="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 class="el" href= [...]
+<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="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_1PragmaStep.html">Pragma [...]
 <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_1BaseAttrsNode.html b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
index b1b51c9f0..833c4bbb6 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
@@ -79,7 +79,7 @@ $(function() {
 
 <p>Inherits <a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a>.</p>
 
-<p>Inherited by <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool1DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool2DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool3DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AffineGridAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AllClassNonMaximumSuppres [...]
+<p>Inherited by <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool1DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool2DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AdaptivePool3DAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AffineGridAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html">tvm::AttrsNode&lt; AllClassNonMaximumSuppres [...]
 <div class="dynheader">
 Collaboration diagram for tvm::BaseAttrsNode:</div>
 <div class="dyncontent">
@@ -318,7 +318,7 @@ Additional Inherited Members</h2></td></tr>
 </dl>
 <dl class="section note"><dt>Note</dt><dd>This function throws when the required field is not present. </dd></dl>
 
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532 [...]
 
 </div>
 </div>
@@ -384,7 +384,7 @@ template&lt;typename... Args&gt; </div>
 <p>Get the field information. </p>
 <dl class="section return"><dt>Returns</dt><dd>The fields in the <a class="el" href="classtvm_1_1Attrs.html" title="Managed reference to BaseAttrsNode. ">Attrs</a>. </dd></dl>
 
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6 [...]
 
 </div>
 </div>
@@ -474,7 +474,7 @@ template&lt;typename... Args&gt; </div>
 </table>
 </div><div class="memdoc">
 
-<p>Reimplemented in <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a3 [...]
+<p>Reimplemented in <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a3 [...]
 
 </div>
 </div>
@@ -511,7 +511,7 @@ template&lt;typename... Args&gt; </div>
   </dd>
 </dl>
 
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da88 [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; DerivedType &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; DilateAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode&lt; Conv2DWinogradNNPACKWeightTransformAttrs &gt;</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da88 [...]
 
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__coll__graph.svg
index 6d24bd305..f7e35a7b4 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__coll__graph.svg
@@ -9,9 +9,9 @@
 <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 608)">
 <title>tvm::BaseAttrsNode</title>
 <polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-608 269,-608 269,4 -4,4"/>
-<!-- Node278 -->
+<!-- Node280 -->
 <g id="node1" class="node">
-<title>Node278</title>
+<title>Node280</title>
 <polygon fill="#bfbfbf" stroke="#000000" points="0,-.5 0,-178.5 207,-178.5 207,-.5 0,-.5"/>
 <text text-anchor="middle" x="103.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseAttrsNode</text>
 <polyline fill="none" stroke="#000000" points="0,-159.5 207,-159.5 "/>
@@ -30,9 +30,9 @@
 <text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ InitByPackedArgs()</text>
 <text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
 </g>
-<!-- Node279 -->
+<!-- Node281 -->
 <g id="node2" class="node">
-<title>Node279</title>
+<title>Node281</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1runtime_1_1Object.html" target="_top" xlink:title="base class of all object containers. ">
 <polygon fill="#ffffff" stroke="#000000" points="12,-216.5 12,-603.5 195,-603.5 195,-216.5 12,-216.5"/>
 <text text-anchor="middle" x="103.5" y="-591.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
@@ -73,15 +73,15 @@
 </a>
 </g>
 </g>
-<!-- Node279&#45;&gt;Node278 -->
+<!-- Node281&#45;&gt;Node280 -->
 <g id="edge1" class="edge">
-<title>Node279&#45;&gt;Node278</title>
+<title>Node281&#45;&gt;Node280</title>
 <path fill="none" stroke="#191970" d="M103.5,-205.9464C103.5,-196.5963 103.5,-187.4618 103.5,-178.684"/>
 <polygon fill="none" stroke="#191970" points="100.0001,-206.1701 103.5,-216.1701 107.0001,-206.1701 100.0001,-206.1701"/>
 </g>
-<!-- Node279&#45;&gt;Node279 -->
+<!-- Node281&#45;&gt;Node281 -->
 <g id="edge2" class="edge">
-<title>Node279&#45;&gt;Node279</title>
+<title>Node281&#45;&gt;Node281</title>
 <path fill="none" stroke="#404040" d="M195.3625,-443.9248C206.0482,-437.6637 213,-426.3555 213,-410 213,-399.0112 209.8618,-390.3007 204.5615,-383.8687"/>
 <polygon fill="none" stroke="#404040" points="204.5184,-383.8322 197.3548,-383.0056 195.3625,-376.0752 202.5261,-376.9017 204.5184,-383.8322"/>
 <text text-anchor="middle" x="239" y="-407.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__coll__graph.svg
index bcc5364ab..cdeb9e2fc 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__coll__graph.svg
@@ -9,9 +9,9 @@
 <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 392)">
 <title>tvm::runtime::Object</title>
 <polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-392 257,-392 257,4 -4,4"/>
-<!-- Node656 -->
+<!-- Node658 -->
 <g id="node1" class="node">
-<title>Node656</title>
+<title>Node658</title>
 <polygon fill="#bfbfbf" stroke="#000000" points="0,-.5 0,-387.5 183,-387.5 183,-.5 0,-.5"/>
 <text text-anchor="middle" x="91.5" y="-375.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
 <polyline fill="none" stroke="#000000" points="0,-368.5 183,-368.5 "/>
@@ -49,9 +49,9 @@
 <text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
 <text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
 </g>
-<!-- Node656&#45;&gt;Node656 -->
+<!-- Node658&#45;&gt;Node658 -->
 <g id="edge1" class="edge">
-<title>Node656&#45;&gt;Node656</title>
+<title>Node658&#45;&gt;Node658</title>
 <path fill="none" stroke="#404040" d="M183.3625,-256.0888C194.0482,-244.6299 201,-223.9336 201,-194 201,-171.3159 197.0077,-153.9367 190.4236,-141.8623"/>
 <polygon fill="none" stroke="#404040" points="190.3069,-141.6977 183.5725,-139.1192 183.3625,-131.9112 190.0969,-134.4897 190.3069,-141.6977"/>
 <text text-anchor="middle" x="227" y="-191.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
diff --git a/docs/reference/api/doxygen/functions_f.html b/docs/reference/api/doxygen/functions_f.html
index 80e94b647..772c37a52 100644
--- a/docs/reference/api/doxygen/functions_f.html
+++ b/docs/reference/api/doxygen/functions_f.html
@@ -631,7 +631,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1Fuse.html#a10b77eec10eb7dbc536b0c8d65163f9c">tvm::te::Fuse</a>
 </li>
 <li>fuse()
-: <a class="el" href="classtvm_1_1te_1_1Stage.html#a5658065d9cbbee620bbd107d30c4ae72">tvm::te::Stage</a>
+: <a class="el" href="classtvm_1_1te_1_1Stage.html#a07b721494aa3c0c79e8a8654c433708f">tvm::te::Stage</a>
 </li>
 <li>Fuse()
 : <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a5b9a41d190be0f8d817b4936732bd0ef">tvm::tir::ScheduleNode</a>
@@ -643,7 +643,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html#a19c1a7b47f59a4f004a2dd9f354835eb">tvm::auto_scheduler::FuseStepNode</a>
 </li>
 <li>FuseStep()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStep.html#a77c478295e170275d7d5da7345a03546">tvm::auto_scheduler::FuseStep</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStep.html#a345e30fc54e9782faa9b8744c9ed5d14">tvm::auto_scheduler::FuseStep</a>
 </li>
 <li>FVisitAttrs
 : <a class="el" href="classtvm_1_1ReflectionVTable.html#a486eb682af89ac025c0db1f8f6045b95">tvm::ReflectionVTable</a>
diff --git a/docs/reference/api/doxygen/functions_func_f.html b/docs/reference/api/doxygen/functions_func_f.html
index 0b4e00fbb..5a0420112 100644
--- a/docs/reference/api/doxygen/functions_func_f.html
+++ b/docs/reference/api/doxygen/functions_func_f.html
@@ -279,7 +279,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1Fuse.html#a10b77eec10eb7dbc536b0c8d65163f9c">tvm::te::Fuse</a>
 </li>
 <li>fuse()
-: <a class="el" href="classtvm_1_1te_1_1Stage.html#a5658065d9cbbee620bbd107d30c4ae72">tvm::te::Stage</a>
+: <a class="el" href="classtvm_1_1te_1_1Stage.html#a07b721494aa3c0c79e8a8654c433708f">tvm::te::Stage</a>
 </li>
 <li>Fuse()
 : <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#a5b9a41d190be0f8d817b4936732bd0ef">tvm::tir::ScheduleNode</a>
diff --git a/docs/reference/api/doxygen/functions_func_m.html b/docs/reference/api/doxygen/functions_func_m.html
index c9d1030ed..8f8cace81 100644
--- a/docs/reference/api/doxygen/functions_func_m.html
+++ b/docs/reference/api/doxygen/functions_func_m.html
@@ -182,7 +182,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1arith_1_1ModularSet.html#a9f54896d98169246c6a24cc338fde500">tvm::arith::ModularSet</a>
 </li>
 <li>Module()
-: <a class="el" href="classtvm_1_1runtime_1_1Module.html#abfbc619b3b3166d63ec52e399c24bed9">tvm::runtime::Module</a>
+: <a class="el" href="classtvm_1_1runtime_1_1Module.html#abd1380b3f813c2b6acefca3aaef425f4">tvm::runtime::Module</a>
 </li>
 <li>Move()
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a162dc8d73dc2306f066c3ee013ff096f">tvm::runtime::vm::Instruction</a>
diff --git a/docs/reference/api/doxygen/functions_func_r.html b/docs/reference/api/doxygen/functions_func_r.html
index e5247616e..5ece38bfb 100644
--- a/docs/reference/api/doxygen/functions_func_r.html
+++ b/docs/reference/api/doxygen/functions_func_r.html
@@ -317,7 +317,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ab185c8eac1065290d84d58e7f4617232">tvm::tir::ScheduleNode</a>
 </li>
 <li>RfactorStep()
-: <a class="el" href="classtvm_1_1auto__scheduler_1_1RfactorStep.html#a26e6f85b55307f18fab4469e3bd4be0c">tvm::auto_scheduler::RfactorStep</a>
+: <a class="el" href="classtvm_1_1auto__scheduler_1_1RfactorStep.html#a95575c21441177634178245ab562cb4f">tvm::auto_scheduler::RfactorStep</a>
 </li>
 <li>rolling_buffer()
 : <a class="el" href="classtvm_1_1te_1_1Stage.html#aa2da6dafa58e8e7a1e251867791839d4">tvm::te::Stage</a>
diff --git a/docs/reference/api/doxygen/functions_func_s.html b/docs/reference/api/doxygen/functions_func_s.html
index 4163df486..ad55dc277 100644
--- a/docs/reference/api/doxygen/functions_func_s.html
+++ b/docs/reference/api/doxygen/functions_func_s.html
@@ -625,7 +625,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1parser_1_1Source.html#a0ef9f726abcc6c4c9e81b3a257055df8">tvm::parser::Source</a>
 </li>
 <li>SourceMap()
-: <a class="el" href="classtvm_1_1parser_1_1SourceMap.html#a5fd3cc7160f57f7adcf1a0633603c72e">tvm::parser::SourceMap</a>
+: <a class="el" href="classtvm_1_1parser_1_1SourceMap.html#afc48463cc0967ab79876178613a5aff2">tvm::parser::SourceMap</a>
 </li>
 <li>SpaceGenerator()
 : <a class="el" href="classtvm_1_1meta__schedule_1_1SpaceGenerator.html#a4f11a841acdf7a66893eeefc1feb04ae">tvm::meta_schedule::SpaceGenerator</a>
@@ -661,7 +661,7 @@ $(function() {
 </li>
 <li>Stage()
 : <a class="el" href="classtvm_1_1auto__scheduler_1_1Stage.html#af0643fe8c1298451c9a322f915c48843">tvm::auto_scheduler::Stage</a>
-, <a class="el" href="classtvm_1_1te_1_1Stage.html#a1ecdc9a000be62c9cc26a96d4c33e36e">tvm::te::Stage</a>
+, <a class="el" href="classtvm_1_1te_1_1Stage.html#afec82602b9321c489b88632a005335f8">tvm::te::Stage</a>
 </li>
 <li>Start()
 : <a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html#a44fadfb7b0f961a7fb2275e3b5dbcd88">tvm::runtime::profiling::MetricCollectorNode</a>
@@ -700,7 +700,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1StmtDoc.html#adec8d59e41d8a4093fb310089bf2c3ba">tvm::script::printer::StmtDoc</a>
 </li>
 <li>StmtNode()
-: <a class="el" href="classtvm_1_1tir_1_1StmtNode.html#a67693c4e97ae49890ea74605fe1b1f74">tvm::tir::StmtNode</a>
+: <a class="el" href="classtvm_1_1tir_1_1StmtNode.html#a79e21b14d3ab57209577bf4a8f694a87">tvm::tir::StmtNode</a>
 </li>
 <li>StmtSRef()
 : <a class="el" href="classtvm_1_1tir_1_1StmtSRef.html#a31687ace5dc4fe487ffb87d658d86412">tvm::tir::StmtSRef</a>
@@ -739,7 +739,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html#ac29b9295c432a87658392872c644864f">tvm::runtime::DeviceAPI</a>
 </li>
 <li>String()
-: <a class="el" href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">tvm::runtime::String</a>
+: <a class="el" href="classtvm_1_1runtime_1_1String.html#a02fca36e3ff55cc1e83635b02a11fca3">tvm::runtime::String</a>
 </li>
 <li>StringImm()
 : <a class="el" href="classtvm_1_1tir_1_1StringImm.html#a0f2830290e055f677c5d5dea98aab726">tvm::tir::StringImm</a>
diff --git a/docs/reference/api/doxygen/functions_func_t.html b/docs/reference/api/doxygen/functions_func_t.html
index fbd16f4a2..3cdc136f2 100644
--- a/docs/reference/api/doxygen/functions_func_t.html
+++ b/docs/reference/api/doxygen/functions_func_t.html
@@ -332,6 +332,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html#a565da781d8579f1712131f86dfecb7d7">tvm::relay::MirrorPadAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html#a9f31d593bd3f3706e2adefea5982295b">tvm::relay::MultiBoxPriorAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html#adedbd7b6d466a3a87aa70c1950148a2c">tvm::relay::MultiBoxTransformLocAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html#af1f1f2a18977fe04d3f1412f9ec9417c">tvm::relay::MultinomialAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html#aaa7de649c2e9a4e5fc4de4a44f909e34">tvm::relay::NdarraySizeAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html#a5b3bd4f9e8f3274a610a2bbaa6619109">tvm::relay::NLLLossAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html#aba4d42e5f454cb8f6e6a9366dd10506d">tvm::relay::NonMaximumSuppressionAttrs</a>
@@ -1113,7 +1114,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1TVMArgsSetter.html#a5882f7eda112e825eb5a87e45aeb85b0">tvm::runtime::TVMArgsSetter</a>
 </li>
 <li>TVMArgValue()
-: <a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html#a5fbd71750e5bbba6edc9094178af9276">tvm::runtime::TVMArgValue</a>
+: <a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html#a987b2fb283cea5484d4655e3f711c046">tvm::runtime::TVMArgValue</a>
 </li>
 <li>TVMMovableArgValue_()
 : <a class="el" href="classtvm_1_1runtime_1_1TVMMovableArgValue__.html#a8eca9048535541f374a5806f9648131b">tvm::runtime::TVMMovableArgValue_</a>
@@ -1122,10 +1123,10 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1TVMMovableArgValueWithContext__.html#adf0eff794c9dd05da7e61c03b03f6bc7">tvm::runtime::TVMMovableArgValueWithContext_</a>
 </li>
 <li>TVMPODValue_()
-: <a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html#a2f46b59a6c1d5eb4575d7f583b5f1a0c">tvm::runtime::TVMPODValue_</a>
+: <a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html#afe1837bdbafe8341c2031c5cebcf6e74">tvm::runtime::TVMPODValue_</a>
 </li>
 <li>TVMRetValue()
-: <a class="el" href="classtvm_1_1runtime_1_1TVMRetValue.html#a77455a8fe7d27b90a01a64f1cd28e9ec">tvm::runtime::TVMRetValue</a>
+: <a class="el" href="classtvm_1_1runtime_1_1TVMRetValue.html#ac4a3850c0989e7c2d5cd8e0f096d0997">tvm::runtime::TVMRetValue</a>
 </li>
 <li>type()
 : <a class="el" href="classtvm_1_1runtime_1_1vm_1_1Allocator.html#a7cfb6d4ea480436801276fe2e7660eb2">tvm::runtime::vm::Allocator</a>
@@ -1151,10 +1152,10 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypeData.html#a0a98fd1095812379d2bd1337db1511c1">tvm::TypeData</a>
 </li>
 <li>TypedEnvFunc()
-: <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
+: <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a0d72a6fa7263821c14bcd37837998ed9">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>TypedPackedFunc()
-: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a8941c80982a1b2a289440f3c79bb0ac8">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
+: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#af45a2ceff92e6f6c394ea766a45027a0">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>TypeIndex2Key()
 : <a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">tvm::runtime::Object</a>
diff --git a/docs/reference/api/doxygen/functions_n.html b/docs/reference/api/doxygen/functions_n.html
index 1499f7927..f7b34915d 100644
--- a/docs/reference/api/doxygen/functions_n.html
+++ b/docs/reference/api/doxygen/functions_n.html
@@ -269,6 +269,9 @@ $(function() {
 , <a class="el" href="structTVMMetadata.html#a2b75989a3e2ed401b97fa825b056f6ed">TVMMetadata</a>
 , <a class="el" href="structTVMOpParam.html#ae3291eb5e9d754b98e470a6b028331a2">TVMOpParam</a>
 </li>
+<li>num_samples
+: <a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html#ad108e47856633402f065a5469061268e">tvm::relay::MultinomialAttrs</a>
+</li>
 <li>num_schedulable_dims()
 : <a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html#afff057b90df28567ab7b2ba19a05b17c">tvm::te::BaseComputeOpNode</a>
 , <a class="el" href="classtvm_1_1te_1_1ComputeOpNode.html#adafbc09da5da3629aef87a8e5145bdec">tvm::te::ComputeOpNode</a>
diff --git a/docs/reference/api/doxygen/functions_p.html b/docs/reference/api/doxygen/functions_p.html
index 962b402c9..d38546dbe 100644
--- a/docs/reference/api/doxygen/functions_p.html
+++ b/docs/reference/api/doxygen/functions_p.html
@@ -384,7 +384,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1IterVarAttrNode.html#a2a4a8e201e6caefeecffd4a7647866fd">tvm::te::IterVarAttrNode</a>
 </li>
 <li>PrefetchNode()
-: <a class="el" href="classtvm_1_1tir_1_1PrefetchNode.html#a73ef244c364b9c7efaee36e6bec746e7">tvm::tir::PrefetchNode</a>
+: <a class="el" href="classtvm_1_1tir_1_1PrefetchNode.html#acaaa5e89462c7edf3019df4283ec74db">tvm::tir::PrefetchNode</a>
 </li>
 <li>preflattened_buffer_map
 : <a class="el" href="classtvm_1_1tir_1_1PrimFuncNode.html#abf5f197a2cef15f3f1fecafa09358ffc">tvm::tir::PrimFuncNode</a>
diff --git a/docs/reference/api/doxygen/functions_s.html b/docs/reference/api/doxygen/functions_s.html
index 82e178593..dad620082 100644
--- a/docs/reference/api/doxygen/functions_s.html
+++ b/docs/reference/api/doxygen/functions_s.html
@@ -1100,7 +1100,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1BufferNode.html#ac18ddd10b79a30ae57d3a8283686259d">tvm::tir::BufferNode</a>
 </li>
 <li>String()
-: <a class="el" href="classtvm_1_1runtime_1_1String.html#a02fca36e3ff55cc1e83635b02a11fca3">tvm::runtime::String</a>
+: <a class="el" href="classtvm_1_1runtime_1_1String.html#a68df7bab89fca339e3918438dd80300d">tvm::runtime::String</a>
 , <a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html#a7fb804f7dc96dd9f705c84095f37f1ca">tvm::runtime::StringObj::FromStd</a>
 , <a class="el" href="classtvm_1_1runtime_1_1StringObj.html#a7fb804f7dc96dd9f705c84095f37f1ca">tvm::runtime::StringObj</a>
 </li>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index 9af13a921..8726d9fd0 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -525,6 +525,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html#a565da781d8579f1712131f86dfecb7d7">tvm::relay::MirrorPadAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html#a9f31d593bd3f3706e2adefea5982295b">tvm::relay::MultiBoxPriorAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html#adedbd7b6d466a3a87aa70c1950148a2c">tvm::relay::MultiBoxTransformLocAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html#af1f1f2a18977fe04d3f1412f9ec9417c">tvm::relay::MultinomialAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html#aaa7de649c2e9a4e5fc4de4a44f909e34">tvm::relay::NdarraySizeAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html#a5b3bd4f9e8f3274a610a2bbaa6619109">tvm::relay::NLLLossAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html#aba4d42e5f454cb8f6e6a9366dd10506d">tvm::relay::NonMaximumSuppressionAttrs</a>
@@ -1312,7 +1313,7 @@ $(function() {
 </li>
 <li>TVMArgValue
 : <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#a7e8b2c6a4fde079ee813c425d2eb6b24">tvm::runtime::ObjectPtr&lt; T &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html#a987b2fb283cea5484d4655e3f711c046">tvm::runtime::TVMArgValue</a>
+, <a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html#a5fbd71750e5bbba6edc9094178af9276">tvm::runtime::TVMArgValue</a>
 </li>
 <li>TVMMovableArgValue_
 : <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#acd985550cba6cf8509122cbd996c1557">tvm::runtime::ObjectPtr&lt; T &gt;</a>
@@ -1412,7 +1413,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypeData.html#a0a98fd1095812379d2bd1337db1511c1">tvm::TypeData</a>
 </li>
 <li>TypedEnvFunc()
-: <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
+: <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a0d72a6fa7263821c14bcd37837998ed9">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>TypedPackedFunc()
 : <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#a6b346a6d0b601eff5a100c7a207e9c86">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
diff --git a/docs/reference/api/doxygen/functions_vars_n.html b/docs/reference/api/doxygen/functions_vars_n.html
index c0c078f58..dfc0c7fc3 100644
--- a/docs/reference/api/doxygen/functions_vars_n.html
+++ b/docs/reference/api/doxygen/functions_vars_n.html
@@ -196,6 +196,9 @@ $(function() {
 : <a class="el" href="structTVMMetadata.html#a2b75989a3e2ed401b97fa825b056f6ed">TVMMetadata</a>
 , <a class="el" href="structTVMOpParam.html#ae3291eb5e9d754b98e470a6b028331a2">TVMOpParam</a>
 </li>
+<li>num_samples
+: <a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html#ad108e47856633402f065a5469061268e">tvm::relay::MultinomialAttrs</a>
+</li>
 <li>num_shape
 : <a class="el" href="structTVMTensorInfo.html#a06914e1f39997fd01fec5c6b8103b9ac">TVMTensorInfo</a>
 </li>
diff --git a/docs/reference/api/doxygen/hierarchy.html b/docs/reference/api/doxygen/hierarchy.html
index 6aafe6161..0826f0b90 100644
--- a/docs/reference/api/doxygen/hierarchy.html
+++ b/docs/reference/api/doxygen/hierarchy.html
@@ -172,8 +172,8 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_80_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1InstructionKindRegEntry.html" target="_self">tvm::tir::InstructionKindRegEntry</a></td><td class="desc">An entry in the registry of <a class="el" href="classtvm_1_1tir_1_1InstructionKind.html" title="Managed reference to InstructionKindNode. ">InstructionKind</a> </td></tr>
 <tr id="row_81_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html" target="_self">tvm::arith::IntSetAnalyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors. ">Integer</a> set analyzer </td></tr>
 <tr id="row_82_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1IterAdapter.html" target="_self">tvm::runtime::IterAdapter&lt; Converter, TIter &gt;</a></td><td class="desc">Iterator adapter that adapts TIter to return another type </td></tr>
-<tr id="row_83_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html" target="_self">tvm::runtime::Map&lt; K, V, typename, typename &gt;::iterator</a></td><td class="desc">Iterator of the hash map </td></tr>
-<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html" target="_self">tvm::runtime::MapNode::iterator</a></td><td class="desc"></td></tr>
+<tr id="row_83_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1MapNode_1_1iterator.html" target="_self">tvm::runtime::MapNode::iterator</a></td><td class="desc"></td></tr>
+<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1Map_1_1iterator.html" target="_self">tvm::runtime::Map&lt; K, V, typename, typename &gt;::iterator</a></td><td class="desc">Iterator of the hash map </td></tr>
 <tr id="row_85_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_85_" class="arrow" onclick="toggleFolder('85_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>iterator</b></td><td class="desc"></td></tr>
 <tr id="row_85_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1support_1_1Span_1_1iterator__base.html" target="_self">tvm::support::Span&lt; T, W &gt;::iterator_base&lt; W1 &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_86_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterKeyHash.html" target="_self">tvm::auto_scheduler::AttachMapNode::IterKeyHash</a></td><td class="desc"></td></tr>
@@ -402,126 +402,128 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_98_31_76_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html" target="_self">tvm::relay::MultiBoxPriorAttrs</a></td><td class="desc">Attributes used in multibox_prior operators </td></tr>
 <tr id="row_98_31_77_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_77_" class="arrow" onclick="toggleFolder('98_31_77_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; MultiBoxTransformLocAttrs &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_98_31_77_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultiBoxTransformLocAttrs.html" target="_self">tvm::relay::MultiBoxTransformLocAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_78_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_78_" class="arrow" onclick="toggleFolder('98_31_78_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; NdarraySizeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_78_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html" target="_self">tvm::relay::NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
-<tr id="row_98_31_79_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_79_" class="arrow" onclick="toggleFolder('98_31_79_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; NLLLossAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_79_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html" target="_self">tvm::relay::NLLLossAttrs</a></td><td class="desc">Attributes used in NLLLoss operator </td></tr>
-<tr id="row_98_31_80_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_80_" class="arrow" onclick="toggleFolder('98_31_80_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; NonMaximumSuppressionAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_80_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">tvm::relay::NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
-<tr id="row_98_31_81_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_81_" class="arrow" onclick="toggleFolder('98_31_81_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; NormalAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_81_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html" target="_self">tvm::relay::NormalAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_82_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_82_" class="arrow" onclick="toggleFolder('98_31_82_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; OnDeviceAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_82_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_self">tvm::relay::OnDeviceAttrs</a></td><td class="desc">Attributes for the "on_device" annotation (ie operator) </td></tr>
-<tr id="row_98_31_83_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_83_" class="arrow" onclick="toggleFolder('98_31_83_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; OneHotAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_83_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html" target="_self">tvm::relay::OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
-<tr id="row_98_31_84_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_84_" class="arrow" onclick="toggleFolder('98_31_84_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; PadAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_84_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html" target="_self">tvm::relay::PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
-<tr id="row_98_31_85_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_85_" class="arrow" onclick="toggleFolder('98_31_85_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; PReluAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_85_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PReluAttrs.html" target="_self">tvm::relay::PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
-<tr id="row_98_31_86_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_86_" class="arrow" onclick="toggleFolder('98_31_86_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ProposalAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_86_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ProposalAttrs.html" target="_self">tvm::relay::ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
-<tr id="row_98_31_87_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_87_" class="arrow" onclick="toggleFolder('98_31_87_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; QuantizeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_87_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1QuantizeAttrs.html" target="_self">tvm::relay::qnn::QuantizeAttrs</a></td><td class="desc">Attribute for quantize operator </td></tr>
-<tr id="row_98_31_88_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_88_" class="arrow" onclick="toggleFolder('98_31_88_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReduceAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_88_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReduceAttrs.html" target="_self">tvm::relay::ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
-<tr id="row_98_31_89_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_89_" class="arrow" onclick="toggleFolder('98_31_89_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; RepeatAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_89_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html" target="_self">tvm::relay::RepeatAttrs</a></td><td class="desc">Attributes used in repeat operators </td></tr>
-<tr id="row_98_31_90_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_90_" class="arrow" onclick="toggleFolder('98_31_90_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; RequantizeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_90_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1RequantizeAttrs.html" target="_self">tvm::relay::qnn::RequantizeAttrs</a></td><td class="desc">Attribute for requantize operator </td></tr>
-<tr id="row_98_31_91_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_91_" class="arrow" onclick="toggleFolder('98_31_91_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReshapeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_91_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeAttrs.html" target="_self">tvm::relay::ReshapeAttrs</a></td><td class="desc">Attributes used in reshape operators </td></tr>
-<tr id="row_98_31_92_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_92_" class="arrow" onclick="toggleFolder('98_31_92_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReshapeLikeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_92_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeLikeAttrs.html" target="_self">tvm::relay::ReshapeLikeAttrs</a></td><td class="desc">Attributes used in MXNet-style reshape_like operators </td></tr>
-<tr id="row_98_31_93_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_93_" class="arrow" onclick="toggleFolder('98_31_93_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReshapeTensorAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_93_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeTensorAttrs.html" target="_self">tvm::relay::ReshapeTensorAttrs</a></td><td class="desc">Attributes for VM reshape_tensor operator </td></tr>
-<tr id="row_98_31_94_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_94_" class="arrow" onclick="toggleFolder('98_31_94_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; Resize1DAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_94_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize1DAttrs.html" target="_self">tvm::relay::Resize1DAttrs</a></td><td class="desc">Attributes used in image resize1d operator </td></tr>
-<tr id="row_98_31_95_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_95_" class="arrow" onclick="toggleFolder('98_31_95_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; Resize2DAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_95_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize2DAttrs.html" target="_self">tvm::relay::Resize2DAttrs</a></td><td class="desc">Attributes used in image resize2d operator </td></tr>
-<tr id="row_98_31_96_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_96_" class="arrow" onclick="toggleFolder('98_31_96_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; Resize3DAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_96_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize3DAttrs.html" target="_self">tvm::relay::Resize3DAttrs</a></td><td class="desc">Attributes used in image resize3d operator </td></tr>
-<tr id="row_98_31_97_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_97_" class="arrow" onclick="toggleFolder('98_31_97_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReverseAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_97_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseAttrs.html" target="_self">tvm::relay::ReverseAttrs</a></td><td class="desc">Attributes used in reverse operators </td></tr>
-<tr id="row_98_31_98_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_98_" class="arrow" onclick="toggleFolder('98_31_98_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReverseSequenceAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_98_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseSequenceAttrs.html" target="_self">tvm::relay::ReverseSequenceAttrs</a></td><td class="desc">Attributes used in reverse_sequence operators </td></tr>
-<tr id="row_98_31_99_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_99_" class="arrow" onclick="toggleFolder('98_31_99_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ROIAlignAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_99_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIAlignAttrs.html" target="_self">tvm::relay::ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
-<tr id="row_98_31_100_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_100_" class="arrow" onclick="toggleFolder('98_31_100_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ROIPoolAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_100_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIPoolAttrs.html" target="_self">tvm::relay::ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
-<tr id="row_98_31_101_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_101_" class="arrow" onclick="toggleFolder('98_31_101_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ScanopAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_101_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html" target="_self">tvm::relay::ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
-<tr id="row_98_31_102_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_102_" class="arrow" onclick="toggleFolder('98_31_102_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ScatterAddAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_102_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html" target="_self">tvm::relay::ScatterAddAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_103_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_103_" class="arrow" onclick="toggleFolder('98_31_103_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ScatterAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_103_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html" target="_self">tvm::relay::ScatterAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_104_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_104_" class="arrow" onclick="toggleFolder('98_31_104_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ScatterNDAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_104_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">tvm::relay::ScatterNDAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_105_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_105_" class="arrow" onclick="toggleFolder('98_31_105_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SearchSortedAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_105_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">tvm::relay::SearchSortedAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_106_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_106_" class="arrow" onclick="toggleFolder('98_31_106_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SequenceMaskAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_106_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">tvm::relay::SequenceMaskAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_107_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_107_" class="arrow" onclick="toggleFolder('98_31_107_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ShapeFuncAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_107_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeFuncAttrs.html" target="_self">tvm::relay::ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
-<tr id="row_98_31_108_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_108_" class="arrow" onclick="toggleFolder('98_31_108_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ShapeOfAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_108_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeOfAttrs.html" target="_self">tvm::relay::ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
-<tr id="row_98_31_109_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_109_" class="arrow" onclick="toggleFolder('98_31_109_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SimulatedQuantizeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_109_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1SimulatedQuantizeAttrs.html" target="_self">tvm::relay::qnn::SimulatedQuantizeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_110_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_110_" class="arrow" onclick="toggleFolder('98_31_110_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SliceLikeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_110_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">tvm::relay::SliceLikeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_111_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_111_" class="arrow" onclick="toggleFolder('98_31_111_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SlidingWindowAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_111_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SlidingWindowAttrs.html" target="_self">tvm::relay::SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
-<tr id="row_98_31_112_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_112_" class="arrow" onclick="toggleFolder('98_31_112_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SoftmaxAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_112_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html" target="_self">tvm::relay::SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_98_31_113_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_113_" class="arrow" onclick="toggleFolder('98_31_113_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SpaceToBatchNDAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_113_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">tvm::relay::SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
-<tr id="row_98_31_114_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_114_" class="arrow" onclick="toggleFolder('98_31_114_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SparseConv2DAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_114_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseConv2DAttrs.html" target="_self">tvm::relay::SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_98_31_115_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_115_" class="arrow" onclick="toggleFolder('98_31_115_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SparseDenseAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_115_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseDenseAttrs.html" target="_self">tvm::relay::SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_98_31_116_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_116_" class="arrow" onclick="toggleFolder('98_31_116_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SparseToDenseAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_116_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseToDenseAttrs.html" target="_self">tvm::relay::SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
-<tr id="row_98_31_117_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_117_" class="arrow" onclick="toggleFolder('98_31_117_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SparseTransposeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_117_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseTransposeAttrs.html" target="_self">tvm::relay::SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
-<tr id="row_98_31_118_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_118_" class="arrow" onclick="toggleFolder('98_31_118_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SplitAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_118_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">tvm::relay::SplitAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_119_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_119_" class="arrow" onclick="toggleFolder('98_31_119_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SqueezeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_119_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SqueezeAttrs.html" target="_self">tvm::relay::SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
-<tr id="row_98_31_120_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_120_" class="arrow" onclick="toggleFolder('98_31_120_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; StackAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_120_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StackAttrs.html" target="_self">tvm::relay::StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
-<tr id="row_98_31_121_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_121_" class="arrow" onclick="toggleFolder('98_31_121_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; StftAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_121_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StftAttrs.html" target="_self">tvm::relay::StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
-<tr id="row_98_31_122_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_122_" class="arrow" onclick="toggleFolder('98_31_122_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; StridedSliceAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_122_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StridedSliceAttrs.html" target="_self">tvm::relay::StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
-<tr id="row_98_31_123_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_123_" class="arrow" onclick="toggleFolder('98_31_123_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SubPixelAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_123_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html" target="_self">tvm::relay::SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
-<tr id="row_98_31_124_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_124_" class="arrow" onclick="toggleFolder('98_31_124_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TakeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_124_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">tvm::relay::TakeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_125_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_125_" class="arrow" onclick="toggleFolder('98_31_125_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ThreefryGenerateAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_125_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">tvm::relay::ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_126_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_126_" class="arrow" onclick="toggleFolder('98_31_126_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TileAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_126_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TileAttrs.html" target="_self">tvm::relay::TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
-<tr id="row_98_31_127_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_127_" class="arrow" onclick="toggleFolder('98_31_127_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TopKAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_127_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">tvm::relay::TopKAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_128_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_128_" class="arrow" onclick="toggleFolder('98_31_128_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TransposeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_128_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TransposeAttrs.html" target="_self">tvm::relay::TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
-<tr id="row_98_31_129_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_129_" class="arrow" onclick="toggleFolder('98_31_129_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TriluAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_129_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">tvm::relay::TriluAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_130_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_130_" class="arrow" onclick="toggleFolder('98_31_130_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; UniformAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_130_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniformAttrs.html" target="_self">tvm::relay::UniformAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_131_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_131_" class="arrow" onclick="toggleFolder('98_31_131_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; UniqueAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_131_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniqueAttrs.html" target="_self">tvm::relay::UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
-<tr id="row_98_31_132_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_132_" class="arrow" onclick="toggleFolder('98_31_132_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; UpSampling3DAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_132_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">tvm::relay::UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
-<tr id="row_98_31_133_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_133_" class="arrow" onclick="toggleFolder('98_31_133_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; UpSamplingAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_133_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">tvm::relay::UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
-<tr id="row_98_31_134_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_134_" class="arrow" onclick="toggleFolder('98_31_134_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; VarianceAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_134_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">tvm::relay::VarianceAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_135_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_135_" class="arrow" onclick="toggleFolder('98_31_135_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; VirtualDeviceNode &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_135_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDeviceNode.html" target="_self">tvm::VirtualDeviceNode</a></td><td class="desc">Describes at compile time the constraints on where data is to be stored at runtime down to the (virtual) device and memory scope level, and how to compile code to compute that data. Used by the [...]
-<tr id="row_98_31_136_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_136_" class="arrow" onclick="toggleFolder('98_31_136_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; YoloReorgAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_98_31_136_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">tvm::relay::YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
-<tr id="row_98_31_137_" 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_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; DerivedType &gt;</a></td><td class="desc">The base class of the all the Use "curiously recurring template pattern" </td></tr>
-<tr id="row_98_31_138_" 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_1DictAttrsNode.html" target="_self">tvm::DictAttrsNode</a></td><td class="desc">Specialized attribute type that is backed by a map. The <a class="el" href="classtvm_1_1DictAttrsNode.html" title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Att [...]
+<tr id="row_98_31_78_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_78_" class="arrow" onclick="toggleFolder('98_31_78_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; MultinomialAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_78_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1MultinomialAttrs.html" target="_self">tvm::relay::MultinomialAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_79_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_79_" class="arrow" onclick="toggleFolder('98_31_79_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; NdarraySizeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_79_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NdarraySizeAttrs.html" target="_self">tvm::relay::NdarraySizeAttrs</a></td><td class="desc">Attributes for ndarray_size operator </td></tr>
+<tr id="row_98_31_80_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_80_" class="arrow" onclick="toggleFolder('98_31_80_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; NLLLossAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_80_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html" target="_self">tvm::relay::NLLLossAttrs</a></td><td class="desc">Attributes used in NLLLoss operator </td></tr>
+<tr id="row_98_31_81_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_81_" class="arrow" onclick="toggleFolder('98_31_81_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; NonMaximumSuppressionAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_81_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAttrs.html" target="_self">tvm::relay::NonMaximumSuppressionAttrs</a></td><td class="desc">Attributes used in non_maximum_suppression operator </td></tr>
+<tr id="row_98_31_82_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_82_" class="arrow" onclick="toggleFolder('98_31_82_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; NormalAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_82_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html" target="_self">tvm::relay::NormalAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_83_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_83_" class="arrow" onclick="toggleFolder('98_31_83_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; OnDeviceAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_83_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OnDeviceAttrs.html" target="_self">tvm::relay::OnDeviceAttrs</a></td><td class="desc">Attributes for the "on_device" annotation (ie operator) </td></tr>
+<tr id="row_98_31_84_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_84_" class="arrow" onclick="toggleFolder('98_31_84_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; OneHotAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_84_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1OneHotAttrs.html" target="_self">tvm::relay::OneHotAttrs</a></td><td class="desc">Attributes used in one-hot operator </td></tr>
+<tr id="row_98_31_85_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_85_" class="arrow" onclick="toggleFolder('98_31_85_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; PadAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_85_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PadAttrs.html" target="_self">tvm::relay::PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
+<tr id="row_98_31_86_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_86_" class="arrow" onclick="toggleFolder('98_31_86_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; PReluAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_86_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1PReluAttrs.html" target="_self">tvm::relay::PReluAttrs</a></td><td class="desc">Attributes for prelu operator </td></tr>
+<tr id="row_98_31_87_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_87_" class="arrow" onclick="toggleFolder('98_31_87_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ProposalAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_87_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ProposalAttrs.html" target="_self">tvm::relay::ProposalAttrs</a></td><td class="desc">Attributes used in proposal operators </td></tr>
+<tr id="row_98_31_88_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_88_" class="arrow" onclick="toggleFolder('98_31_88_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; QuantizeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_88_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1QuantizeAttrs.html" target="_self">tvm::relay::qnn::QuantizeAttrs</a></td><td class="desc">Attribute for quantize operator </td></tr>
+<tr id="row_98_31_89_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_89_" class="arrow" onclick="toggleFolder('98_31_89_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReduceAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_89_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReduceAttrs.html" target="_self">tvm::relay::ReduceAttrs</a></td><td class="desc">Attributes for Reduce operators </td></tr>
+<tr id="row_98_31_90_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_90_" class="arrow" onclick="toggleFolder('98_31_90_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; RepeatAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_90_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html" target="_self">tvm::relay::RepeatAttrs</a></td><td class="desc">Attributes used in repeat operators </td></tr>
+<tr id="row_98_31_91_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_91_" class="arrow" onclick="toggleFolder('98_31_91_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; RequantizeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_91_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1RequantizeAttrs.html" target="_self">tvm::relay::qnn::RequantizeAttrs</a></td><td class="desc">Attribute for requantize operator </td></tr>
+<tr id="row_98_31_92_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_92_" class="arrow" onclick="toggleFolder('98_31_92_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReshapeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_92_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeAttrs.html" target="_self">tvm::relay::ReshapeAttrs</a></td><td class="desc">Attributes used in reshape operators </td></tr>
+<tr id="row_98_31_93_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_93_" class="arrow" onclick="toggleFolder('98_31_93_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReshapeLikeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_93_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeLikeAttrs.html" target="_self">tvm::relay::ReshapeLikeAttrs</a></td><td class="desc">Attributes used in MXNet-style reshape_like operators </td></tr>
+<tr id="row_98_31_94_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_94_" class="arrow" onclick="toggleFolder('98_31_94_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReshapeTensorAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_94_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReshapeTensorAttrs.html" target="_self">tvm::relay::ReshapeTensorAttrs</a></td><td class="desc">Attributes for VM reshape_tensor operator </td></tr>
+<tr id="row_98_31_95_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_95_" class="arrow" onclick="toggleFolder('98_31_95_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; Resize1DAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_95_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize1DAttrs.html" target="_self">tvm::relay::Resize1DAttrs</a></td><td class="desc">Attributes used in image resize1d operator </td></tr>
+<tr id="row_98_31_96_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_96_" class="arrow" onclick="toggleFolder('98_31_96_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; Resize2DAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_96_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize2DAttrs.html" target="_self">tvm::relay::Resize2DAttrs</a></td><td class="desc">Attributes used in image resize2d operator </td></tr>
+<tr id="row_98_31_97_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_97_" class="arrow" onclick="toggleFolder('98_31_97_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; Resize3DAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_97_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1Resize3DAttrs.html" target="_self">tvm::relay::Resize3DAttrs</a></td><td class="desc">Attributes used in image resize3d operator </td></tr>
+<tr id="row_98_31_98_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_98_" class="arrow" onclick="toggleFolder('98_31_98_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReverseAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_98_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseAttrs.html" target="_self">tvm::relay::ReverseAttrs</a></td><td class="desc">Attributes used in reverse operators </td></tr>
+<tr id="row_98_31_99_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_99_" class="arrow" onclick="toggleFolder('98_31_99_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ReverseSequenceAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_99_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ReverseSequenceAttrs.html" target="_self">tvm::relay::ReverseSequenceAttrs</a></td><td class="desc">Attributes used in reverse_sequence operators </td></tr>
+<tr id="row_98_31_100_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_100_" class="arrow" onclick="toggleFolder('98_31_100_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ROIAlignAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_100_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIAlignAttrs.html" target="_self">tvm::relay::ROIAlignAttrs</a></td><td class="desc">Attributes used in roi_align operators </td></tr>
+<tr id="row_98_31_101_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_101_" class="arrow" onclick="toggleFolder('98_31_101_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ROIPoolAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_101_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ROIPoolAttrs.html" target="_self">tvm::relay::ROIPoolAttrs</a></td><td class="desc">Attributes used in roi_pool operators </td></tr>
+<tr id="row_98_31_102_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_102_" class="arrow" onclick="toggleFolder('98_31_102_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ScanopAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_102_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html" target="_self">tvm::relay::ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
+<tr id="row_98_31_103_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_103_" class="arrow" onclick="toggleFolder('98_31_103_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ScatterAddAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_103_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html" target="_self">tvm::relay::ScatterAddAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_104_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_104_" class="arrow" onclick="toggleFolder('98_31_104_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ScatterAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_104_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html" target="_self">tvm::relay::ScatterAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_105_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_105_" class="arrow" onclick="toggleFolder('98_31_105_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ScatterNDAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_105_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">tvm::relay::ScatterNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_106_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_106_" class="arrow" onclick="toggleFolder('98_31_106_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SearchSortedAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_106_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">tvm::relay::SearchSortedAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_107_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_107_" class="arrow" onclick="toggleFolder('98_31_107_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SequenceMaskAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_107_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">tvm::relay::SequenceMaskAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_108_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_108_" class="arrow" onclick="toggleFolder('98_31_108_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ShapeFuncAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_108_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeFuncAttrs.html" target="_self">tvm::relay::ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
+<tr id="row_98_31_109_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_109_" class="arrow" onclick="toggleFolder('98_31_109_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ShapeOfAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_109_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ShapeOfAttrs.html" target="_self">tvm::relay::ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
+<tr id="row_98_31_110_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_110_" class="arrow" onclick="toggleFolder('98_31_110_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SimulatedQuantizeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_110_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1qnn_1_1SimulatedQuantizeAttrs.html" target="_self">tvm::relay::qnn::SimulatedQuantizeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_111_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_111_" class="arrow" onclick="toggleFolder('98_31_111_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SliceLikeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_111_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">tvm::relay::SliceLikeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_112_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_112_" class="arrow" onclick="toggleFolder('98_31_112_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SlidingWindowAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_112_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SlidingWindowAttrs.html" target="_self">tvm::relay::SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
+<tr id="row_98_31_113_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_113_" class="arrow" onclick="toggleFolder('98_31_113_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SoftmaxAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_113_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html" target="_self">tvm::relay::SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_98_31_114_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_114_" class="arrow" onclick="toggleFolder('98_31_114_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SpaceToBatchNDAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_114_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SpaceToBatchNDAttrs.html" target="_self">tvm::relay::SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
+<tr id="row_98_31_115_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_115_" class="arrow" onclick="toggleFolder('98_31_115_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SparseConv2DAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_115_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseConv2DAttrs.html" target="_self">tvm::relay::SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_98_31_116_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_116_" class="arrow" onclick="toggleFolder('98_31_116_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SparseDenseAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_116_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseDenseAttrs.html" target="_self">tvm::relay::SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_98_31_117_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_117_" class="arrow" onclick="toggleFolder('98_31_117_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SparseToDenseAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_117_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseToDenseAttrs.html" target="_self">tvm::relay::SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
+<tr id="row_98_31_118_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_118_" class="arrow" onclick="toggleFolder('98_31_118_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SparseTransposeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_118_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SparseTransposeAttrs.html" target="_self">tvm::relay::SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
+<tr id="row_98_31_119_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_119_" class="arrow" onclick="toggleFolder('98_31_119_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SplitAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_119_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">tvm::relay::SplitAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_120_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_120_" class="arrow" onclick="toggleFolder('98_31_120_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SqueezeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_120_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SqueezeAttrs.html" target="_self">tvm::relay::SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
+<tr id="row_98_31_121_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_121_" class="arrow" onclick="toggleFolder('98_31_121_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; StackAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_121_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StackAttrs.html" target="_self">tvm::relay::StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
+<tr id="row_98_31_122_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_122_" class="arrow" onclick="toggleFolder('98_31_122_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; StftAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_122_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StftAttrs.html" target="_self">tvm::relay::StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
+<tr id="row_98_31_123_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_123_" class="arrow" onclick="toggleFolder('98_31_123_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; StridedSliceAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_123_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1StridedSliceAttrs.html" target="_self">tvm::relay::StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
+<tr id="row_98_31_124_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_124_" class="arrow" onclick="toggleFolder('98_31_124_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; SubPixelAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_124_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1SubPixelAttrs.html" target="_self">tvm::relay::SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
+<tr id="row_98_31_125_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_125_" class="arrow" onclick="toggleFolder('98_31_125_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TakeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_125_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">tvm::relay::TakeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_126_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_126_" class="arrow" onclick="toggleFolder('98_31_126_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; ThreefryGenerateAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_126_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">tvm::relay::ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_127_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_127_" class="arrow" onclick="toggleFolder('98_31_127_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TileAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_127_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TileAttrs.html" target="_self">tvm::relay::TileAttrs</a></td><td class="desc">Attributes used in tile operators </td></tr>
+<tr id="row_98_31_128_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_128_" class="arrow" onclick="toggleFolder('98_31_128_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TopKAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_128_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">tvm::relay::TopKAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_129_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_129_" class="arrow" onclick="toggleFolder('98_31_129_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TransposeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_129_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TransposeAttrs.html" target="_self">tvm::relay::TransposeAttrs</a></td><td class="desc">Attributes used in transpose operators </td></tr>
+<tr id="row_98_31_130_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_130_" class="arrow" onclick="toggleFolder('98_31_130_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; TriluAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_130_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">tvm::relay::TriluAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_131_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_131_" class="arrow" onclick="toggleFolder('98_31_131_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; UniformAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_131_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniformAttrs.html" target="_self">tvm::relay::UniformAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_132_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_132_" class="arrow" onclick="toggleFolder('98_31_132_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; UniqueAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_132_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UniqueAttrs.html" target="_self">tvm::relay::UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
+<tr id="row_98_31_133_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_133_" class="arrow" onclick="toggleFolder('98_31_133_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; UpSampling3DAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_133_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">tvm::relay::UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
+<tr id="row_98_31_134_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_134_" class="arrow" onclick="toggleFolder('98_31_134_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; UpSamplingAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_134_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">tvm::relay::UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
+<tr id="row_98_31_135_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_135_" class="arrow" onclick="toggleFolder('98_31_135_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; VarianceAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_135_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">tvm::relay::VarianceAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_136_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_136_" class="arrow" onclick="toggleFolder('98_31_136_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; VirtualDeviceNode &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_136_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDeviceNode.html" target="_self">tvm::VirtualDeviceNode</a></td><td class="desc">Describes at compile time the constraints on where data is to be stored at runtime down to the (virtual) device and memory scope level, and how to compile code to compute that data. Used by the [...]
+<tr id="row_98_31_137_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_31_137_" class="arrow" onclick="toggleFolder('98_31_137_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; YoloReorgAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_98_31_137_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relay_1_1YoloReorgAttrs.html" target="_self">tvm::relay::YoloReorgAttrs</a></td><td class="desc">Attributes used in yolo reorg operators </td></tr>
+<tr id="row_98_31_138_" 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_1AttrsNode.html" target="_self">tvm::AttrsNode&lt; DerivedType &gt;</a></td><td class="desc">The base class of the all the Use "curiously recurring template pattern" </td></tr>
+<tr id="row_98_31_139_" 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_1DictAttrsNode.html" target="_self">tvm::DictAttrsNode</a></td><td class="desc">Specialized attribute type that is backed by a map. The <a class="el" href="classtvm_1_1DictAttrsNode.html" title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Att [...]
 <tr id="row_98_32_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_98_32_" class="arrow" onclick="toggleFolder('98_32_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1BaseExprNode.html" target="_self">tvm::BaseExprNode</a></td><td class="desc">Base type of all the expressions </td></tr>
 <tr id="row_98_32_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_98_32_0_" class="arrow" onclick="toggleFolder('98_32_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrimExprNode.html" target="_self">tvm::PrimExprNode</a></td><td class="desc">Base node of all primitive expressions </td></tr>
 <tr id="row_98_32_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_98_32_0_0_" class="arrow" onclick="toggleFolder('98_32_0_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tir_1_1BinaryOpNode.html" target="_self">tvm::tir::BinaryOpNode&lt; AddNode &gt;</a></td><td class="desc"></td></tr>
diff --git a/docs/reference/api/doxygen/inherit_graph_10.svg b/docs/reference/api/doxygen/inherit_graph_10.svg
index 0afaf007f..f882f8325 100644
--- a/docs/reference/api/doxygen/inherit_graph_10.svg
+++ b/docs/reference/api/doxygen/inherit_graph_10.svg
@@ -9,9 +9,9 @@
 <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 62)">
 <title>Graphical Class Hierarchy</title>
 <polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-62 186,-62 186,4 -4,4"/>
-<!-- Node1336 -->
+<!-- Node1338 -->
 <g id="node1" class="node">
-<title>Node1336</title>
+<title>Node1338</title>
 <polygon fill="#ffffff" stroke="#bfbfbf" points="0,-19.5 0,-38.5 40,-38.5 40,-19.5 0,-19.5"/>
 <text text-anchor="middle" x="20" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Error</text>
 </g>
@@ -24,24 +24,24 @@
 </a>
 </g>
 </g>
-<!-- Node1336&#45;&gt;Node0 -->
+<!-- Node1338&#45;&gt;Node0 -->
 <g id="edge1" class="edge">
-<title>Node1336&#45;&gt;Node0</title>
+<title>Node1338&#45;&gt;Node0</title>
 <path fill="none" stroke="#191970" d="M50.1726,-34.2594C61.6171,-36.2544 74.8623,-38.5631 87.1902,-40.712"/>
 <polygon fill="#191970" stroke="#191970" points="50.6991,-30.7985 40.2466,-32.5292 49.497,-37.6945 50.6991,-30.7985"/>
 </g>
-<!-- Node1338 -->
+<!-- Node1340 -->
 <g id="node3" class="node">
-<title>Node1338</title>
+<title>Node1340</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1CompileError.html" target="_top" xlink:title="Custom Error class to be thrown during compilation. ">
 <polygon fill="#ffffff" stroke="#000000" points="76,-.5 76,-19.5 182,-19.5 182,-.5 76,-.5"/>
 <text text-anchor="middle" x="129" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::CompileError</text>
 </a>
 </g>
 </g>
-<!-- Node1336&#45;&gt;Node1338 -->
+<!-- Node1338&#45;&gt;Node1340 -->
 <g id="edge2" class="edge">
-<title>Node1336&#45;&gt;Node1338</title>
+<title>Node1338&#45;&gt;Node1340</title>
 <path fill="none" stroke="#191970" d="M50.1333,-23.7474C58.0955,-22.3595 66.9315,-20.8193 75.7249,-19.2865"/>
 <polygon fill="#191970" stroke="#191970" points="49.497,-20.3055 40.2466,-25.4708 50.6991,-27.2015 49.497,-20.3055"/>
 </g>
diff --git a/docs/reference/api/doxygen/inherit_graph_114.svg b/docs/reference/api/doxygen/inherit_graph_114.svg
index cd1e117ea..1702aba4c 100644
--- a/docs/reference/api/doxygen/inherit_graph_114.svg
+++ b/docs/reference/api/doxygen/inherit_graph_114.svg
@@ -4,40 +4,40 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: Graphical Class Hierarchy Pages: 1 -->
-<svg width="1073pt" height="11931pt"
- viewBox="0.00 0.00 1073.00 11931.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 11927)">
+<svg width="1073pt" height="12034pt"
+ viewBox="0.00 0.00 1073.00 12034.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 12030)">
 <title>Graphical Class Hierarchy</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-11927 1069,-11927 1069,4 -4,4"/>
-<!-- Node1346 -->
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-12030 1069,-12030 1069,4 -4,4"/>
+<!-- Node1348 -->
 <g id="node1" class="node">
-<title>Node1346</title>
+<title>Node1348</title>
 <g id="a_node1"><a xlink:href="classtvm_1_1runtime_1_1NDArray_1_1ContainerBase.html" target="_top" xlink:title="The container base structure contains all the fields except for the Object header. ">
-<polygon fill="#ffffff" stroke="#000000" points="20,-10447 20,-10477 148,-10477 148,-10447 20,-10447"/>
-<text text-anchor="start" x="28" y="-10465" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
-<text text-anchor="middle" x="84" y="-10454" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ContainerBase</text>
+<polygon fill="#ffffff" stroke="#000000" points="20,-10551 20,-10581 148,-10581 148,-10551 20,-10551"/>
+<text text-anchor="start" x="28" y="-10569" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
+<text text-anchor="middle" x="84" y="-10558" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ContainerBase</text>
 </a>
 </g>
 </g>
-<!-- Node524 -->
+<!-- Node526 -->
 <g id="node2" class="node">
-<title>Node524</title>
+<title>Node526</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1runtime_1_1NDArray_1_1Container.html" target="_top" xlink:title="Object container class that backs NDArray. ">
-<polygon fill="#ffffff" stroke="#000000" points="241,-10445 241,-10475 369,-10475 369,-10445 241,-10445"/>
-<text text-anchor="start" x="249" y="-10463" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
-<text text-anchor="middle" x="305" y="-10452" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::Container</text>
+<polygon fill="#ffffff" stroke="#000000" points="241,-10549 241,-10579 369,-10579 369,-10549 241,-10549"/>
+<text text-anchor="start" x="249" y="-10567" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
+<text text-anchor="middle" x="305" y="-10556" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::Container</text>
 </a>
 </g>
 </g>
-<!-- Node1346&#45;&gt;Node524 -->
+<!-- Node1348&#45;&gt;Node526 -->
 <g id="edge1" class="edge">
-<title>Node1346&#45;&gt;Node524</title>
-<path fill="none" stroke="#191970" d="M158.2796,-10461.3278C184.9735,-10461.0862 214.8383,-10460.8159 240.6206,-10460.5826"/>
-<polygon fill="#191970" stroke="#191970" points="158.1871,-10457.8284 148.2192,-10461.4188 158.2505,-10464.8281 158.1871,-10457.8284"/>
+<title>Node1348&#45;&gt;Node526</title>
+<path fill="none" stroke="#191970" d="M158.2796,-10565.3278C184.9735,-10565.0862 214.8383,-10564.8159 240.6206,-10564.5826"/>
+<polygon fill="#191970" stroke="#191970" points="158.1871,-10561.8284 148.2192,-10565.4188 158.2505,-10568.8281 158.1871,-10561.8284"/>
 </g>
-<!-- Node1293 -->
+<!-- Node1295 -->
 <g id="node3" class="node">
-<title>Node1293</title>
+<title>Node1295</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1runtime_1_1InplaceArrayBase.html" target="_top" xlink:title="Base template for classes with array like memory layout. ">
 <polygon fill="#ffffff" stroke="#000000" points="222.5,-2421 222.5,-2451 387.5,-2451 387.5,-2421 222.5,-2421"/>
 <text text-anchor="start" x="230.5" y="-2439" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
@@ -45,70 +45,70 @@
 </a>
 </g>
 </g>
-<!-- Node515 -->
+<!-- Node517 -->
 <g id="node4" class="node">
-<title>Node515</title>
+<title>Node517</title>
 <g id="a_node4"><a xlink:href="classtvm_1_1runtime_1_1SmallMapNode.html" target="_top" xlink:title="A specialization of small&#45;sized hash map. ">
 <polygon fill="#ffffff" stroke="#000000" points="459.5,-2154.5 459.5,-2173.5 619.5,-2173.5 619.5,-2154.5 459.5,-2154.5"/>
 <text text-anchor="middle" x="539.5" y="-2161.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::SmallMapNode</text>
 </a>
 </g>
 </g>
-<!-- Node1293&#45;&gt;Node515 -->
+<!-- Node1295&#45;&gt;Node517 -->
 <g id="edge2" class="edge">
-<title>Node1293&#45;&gt;Node515</title>
+<title>Node1295&#45;&gt;Node517</title>
 <path fill="none" stroke="#191970" d="M396.1996,-2419.547C399.749,-2417.0538 403.0462,-2414.2195 406,-2411 475.3541,-2335.406 370.771,-2256.83 442,-2183 446.9093,-2177.9115 452.7469,-2173.9655 459.0896,-2170.9266"/>
 <polygon fill="#191970" stroke="#191970" points="394.2764,-2416.6192 387.5029,-2424.766 397.8784,-2422.6214 394.2764,-2416.6192"/>
 </g>
-<!-- Node1292 -->
+<!-- Node1294 -->
 <g id="node5" class="node">
-<title>Node1292</title>
+<title>Node1294</title>
 <g id="a_node5"><a xlink:href="classtvm_1_1runtime_1_1InplaceArrayBase.html" target="_top" xlink:title="tvm::runtime::InplaceArray\lBase\&lt; ADTObj, ObjectRef \&gt;">
-<polygon fill="#ffffff" stroke="#000000" points="7.5,-10398 7.5,-10428 160.5,-10428 160.5,-10398 7.5,-10398"/>
-<text text-anchor="start" x="15.5" y="-10416" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
-<text text-anchor="middle" x="84" y="-10405" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ADTObj, ObjectRef &gt;</text>
+<polygon fill="#ffffff" stroke="#000000" points="7.5,-10502 7.5,-10532 160.5,-10532 160.5,-10502 7.5,-10502"/>
+<text text-anchor="start" x="15.5" y="-10520" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
+<text text-anchor="middle" x="84" y="-10509" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ADTObj, ObjectRef &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node508 -->
+<!-- Node510 -->
 <g id="node6" class="node">
-<title>Node508</title>
+<title>Node510</title>
 <g id="a_node6"><a xlink:href="classtvm_1_1runtime_1_1ADTObj.html" target="_top" xlink:title="An object representing a structure or enumeration. ">
-<polygon fill="#ffffff" stroke="#000000" points="243.5,-10403.5 243.5,-10422.5 366.5,-10422.5 366.5,-10403.5 243.5,-10403.5"/>
-<text text-anchor="middle" x="305" y="-10410.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ADTObj</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-10507.5 243.5,-10526.5 366.5,-10526.5 366.5,-10507.5 243.5,-10507.5"/>
+<text text-anchor="middle" x="305" y="-10514.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ADTObj</text>
 </a>
 </g>
 </g>
-<!-- Node1292&#45;&gt;Node508 -->
+<!-- Node1294&#45;&gt;Node510 -->
 <g id="edge3" class="edge">
-<title>Node1292&#45;&gt;Node508</title>
-<path fill="none" stroke="#191970" d="M170.9456,-10413C195.1707,-10413 220.9797,-10413 243.4174,-10413"/>
-<polygon fill="#191970" stroke="#191970" points="170.6749,-10409.5001 160.6748,-10413 170.6748,-10416.5001 170.6749,-10409.5001"/>
+<title>Node1294&#45;&gt;Node510</title>
+<path fill="none" stroke="#191970" d="M170.9456,-10517C195.1707,-10517 220.9797,-10517 243.4174,-10517"/>
+<polygon fill="#191970" stroke="#191970" points="170.6749,-10513.5001 160.6748,-10517 170.6748,-10520.5001 170.6749,-10513.5001"/>
 </g>
-<!-- Node1291 -->
+<!-- Node1293 -->
 <g id="node7" class="node">
-<title>Node1291</title>
+<title>Node1293</title>
 <g id="a_node7"><a xlink:href="classtvm_1_1runtime_1_1InplaceArrayBase.html" target="_top" xlink:title="tvm::runtime::InplaceArray\lBase\&lt; ArrayNode, ObjectRef \&gt;">
-<polygon fill="#ffffff" stroke="#000000" points="0,-10349 0,-10379 168,-10379 168,-10349 0,-10349"/>
-<text text-anchor="start" x="8" y="-10367" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
-<text text-anchor="middle" x="84" y="-10356" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ArrayNode, ObjectRef &gt;</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-10453 0,-10483 168,-10483 168,-10453 0,-10453"/>
+<text text-anchor="start" x="8" y="-10471" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
+<text text-anchor="middle" x="84" y="-10460" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ArrayNode, ObjectRef &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node509 -->
+<!-- Node511 -->
 <g id="node8" class="node">
-<title>Node509</title>
+<title>Node511</title>
 <g id="a_node8"><a xlink:href="classtvm_1_1runtime_1_1ArrayNode.html" target="_top" xlink:title="array node content in array ">
-<polygon fill="#ffffff" stroke="#000000" points="236,-10365.5 236,-10384.5 374,-10384.5 374,-10365.5 236,-10365.5"/>
-<text text-anchor="middle" x="305" y="-10372.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ArrayNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="236,-10469.5 236,-10488.5 374,-10488.5 374,-10469.5 236,-10469.5"/>
+<text text-anchor="middle" x="305" y="-10476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ArrayNode</text>
 </a>
 </g>
 </g>
-<!-- Node1291&#45;&gt;Node509 -->
+<!-- Node1293&#45;&gt;Node511 -->
 <g id="edge4" class="edge">
-<title>Node1291&#45;&gt;Node509</title>
-<path fill="none" stroke="#191970" d="M178.2093,-10368.6892C197.5291,-10369.6508 217.5282,-10370.6462 235.774,-10371.5544"/>
-<polygon fill="#191970" stroke="#191970" points="178.3427,-10365.1916 168.1811,-10368.19 177.9947,-10372.1829 178.3427,-10365.1916"/>
+<title>Node1293&#45;&gt;Node511</title>
+<path fill="none" stroke="#191970" d="M178.2093,-10472.6892C197.5291,-10473.6508 217.5282,-10474.6462 235.774,-10475.5544"/>
+<polygon fill="#191970" stroke="#191970" points="178.3427,-10469.1916 168.1811,-10472.19 177.9947,-10476.1829 178.3427,-10469.1916"/>
 </g>
 <!-- Node0 -->
 <g id="node9" class="node">
@@ -119,10069 +119,10100 @@
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node524 -->
-<g id="edge528" class="edge">
-<title>Node0&#45;&gt;Node524</title>
-<path fill="none" stroke="#191970" d="M84.0068,-3456.9718C84.1828,-3861.6823 88.7914,-10283.1738 204,-10432 213.0778,-10443.7267 226.6123,-10450.8247 240.8456,-10455.0526"/>
-<polygon fill="#191970" stroke="#191970" points="87.5068,-3456.764 84.0027,-3446.7654 80.5068,-3456.7668 87.5068,-3456.764"/>
+<!-- Node0&#45;&gt;Node526 -->
+<g id="edge530" class="edge">
+<title>Node0&#45;&gt;Node526</title>
+<path fill="none" stroke="#191970" d="M84.1706,-3456.8765C87.7036,-3866.1777 145.5198,-10460.4358 204,-10536 213.0764,-10547.7279 226.6102,-10554.8262 240.8436,-10559.0542"/>
+<polygon fill="#191970" stroke="#191970" points="87.6681,-3456.5532 84.082,-3446.5838 80.6683,-3456.6136 87.6681,-3456.5532"/>
 </g>
-<!-- Node0&#45;&gt;Node508 -->
-<g id="edge512" class="edge">
-<title>Node0&#45;&gt;Node508</title>
-<path fill="none" stroke="#191970" d="M84.1703,-3457.0913C87.6403,-3864.1982 143.6307,-10322.4795 204,-10394 213.8399,-10405.6575 228.3731,-10411.6475 243.3671,-10414.4554"/>
-<polygon fill="#191970" stroke="#191970" points="87.668,-3456.7941 84.083,-3446.8243 80.6682,-3456.8537 87.668,-3456.7941"/>
+<!-- Node0&#45;&gt;Node510 -->
+<g id="edge514" class="edge">
+<title>Node0&#45;&gt;Node510</title>
+<path fill="none" stroke="#191970" d="M84.1625,-3456.7774C87.5289,-3864.0372 142.7072,-10425.3666 204,-10498 213.8384,-10509.6587 228.3712,-10515.6491 243.3652,-10518.457"/>
+<polygon fill="#191970" stroke="#191970" points="87.6605,-3456.5068 84.0781,-3446.536 80.6607,-3456.5646 87.6605,-3456.5068"/>
 </g>
-<!-- Node0&#45;&gt;Node509 -->
-<g id="edge513" class="edge">
-<title>Node0&#45;&gt;Node509</title>
-<path fill="none" stroke="#191970" d="M84.1712,-3456.9816C87.6609,-3861.8649 143.957,-10284.8728 204,-10356 212.1716,-10365.6801 223.5794,-10371.4522 235.7997,-10374.7395"/>
-<polygon fill="#191970" stroke="#191970" points="87.6694,-3456.7401 84.0834,-3446.7706 80.6696,-3456.8004 87.6694,-3456.7401"/>
+<!-- Node0&#45;&gt;Node511 -->
+<g id="edge515" class="edge">
+<title>Node0&#45;&gt;Node511</title>
+<path fill="none" stroke="#191970" d="M84.166,-3456.9791C87.5772,-3865.0355 143.049,-10387.7784 204,-10460 212.1703,-10469.6811 223.5776,-10475.4537 235.7978,-10478.7412"/>
+<polygon fill="#191970" stroke="#191970" points="87.6655,-3456.8879 84.0821,-3446.9174 80.6657,-3456.9463 87.6655,-3456.8879"/>
 </g>
 <!-- Node1 -->
 <g id="node10" class="node">
 <title>Node1</title>
 <g id="a_node10"><a xlink:href="classtvm_1_1AffineTypeNode.html" target="_top" xlink:title="AffineType representation. ">
-<polygon fill="#ffffff" stroke="#000000" points="245.5,-8364.5 245.5,-8383.5 364.5,-8383.5 364.5,-8364.5 245.5,-8364.5"/>
-<text text-anchor="middle" x="305" y="-8371.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AffineTypeNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-8446.5 245.5,-8465.5 364.5,-8465.5 364.5,-8446.5 245.5,-8446.5"/>
+<text text-anchor="middle" x="305" y="-8453.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AffineTypeNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node1 -->
 <g id="edge5" class="edge">
 <title>Node0&#45;&gt;Node1</title>
-<path fill="none" stroke="#191970" d="M84.1327,-3456.5925C86.4277,-3789.5115 118.7854,-8254.7737 204,-8355 214.286,-8367.098 229.6273,-8373.0805 245.2658,-8375.7376"/>
-<polygon fill="#191970" stroke="#191970" points="87.6321,-3456.4826 84.0637,-3446.5068 80.6323,-3456.5305 87.6321,-3456.4826"/>
+<path fill="none" stroke="#191970" d="M84.1269,-3456.9191C86.3233,-3795.3879 117.3858,-8335.0863 204,-8437 214.2836,-8449.1001 229.6242,-8455.0832 245.2627,-8457.7402"/>
+<polygon fill="#191970" stroke="#191970" points="87.6252,-3456.6425 84.0609,-3446.6653 80.6254,-3456.6876 87.6252,-3456.6425"/>
 </g>
 <!-- Node4 -->
 <g id="node13" class="node">
 <title>Node4</title>
 <g id="a_node13"><a xlink:href="classtvm_1_1arith_1_1ConstIntBoundNode.html" target="_top" xlink:title="Constant integer up and lower bound(inclusive). Useful for value bound analysis. ">
-<polygon fill="#ffffff" stroke="#000000" points="221.5,-8326.5 221.5,-8345.5 388.5,-8345.5 388.5,-8326.5 221.5,-8326.5"/>
-<text text-anchor="middle" x="305" y="-8333.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ConstIntBoundNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="221.5,-8408.5 221.5,-8427.5 388.5,-8427.5 388.5,-8408.5 221.5,-8408.5"/>
+<text text-anchor="middle" x="305" y="-8415.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ConstIntBoundNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node4 -->
 <g id="edge8" class="edge">
 <title>Node0&#45;&gt;Node4</title>
-<path fill="none" stroke="#191970" d="M84.1389,-3456.941C86.5091,-3791.2291 119.4764,-8217.6056 204,-8317 208.8546,-8322.7087 214.8349,-8327.0557 221.4407,-8330.334"/>
-<polygon fill="#191970" stroke="#191970" points="87.6379,-3456.7646 84.0675,-3446.7895 80.6381,-3456.8139 87.6379,-3456.7646"/>
+<path fill="none" stroke="#191970" d="M84.1296,-3456.7678C86.3717,-3792.6647 118.0344,-8297.8683 204,-8399 208.8534,-8404.7097 214.8329,-8409.0573 221.4383,-8412.3361"/>
+<polygon fill="#191970" stroke="#191970" points="87.6284,-3456.5684 84.0622,-3446.5918 80.6286,-3456.6148 87.6284,-3456.5684"/>
 </g>
 <!-- Node5 -->
 <g id="node14" class="node">
 <title>Node5</title>
 <g id="a_node14"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_top" xlink:title="Represent integer constrains including (integer) variables, their ranges and the relations between th...">
-<polygon fill="#ffffff" stroke="#000000" points="223,-8288.5 223,-8307.5 387,-8307.5 387,-8288.5 223,-8288.5"/>
-<text text-anchor="middle" x="305" y="-8295.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraintsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="223,-8370.5 223,-8389.5 387,-8389.5 387,-8370.5 223,-8370.5"/>
+<text text-anchor="middle" x="305" y="-8377.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraintsNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node5 -->
 <g id="edge9" class="edge">
 <title>Node0&#45;&gt;Node5</title>
-<path fill="none" stroke="#191970" d="M84.1438,-3456.78C86.595,-3788.3686 120.6132,-8179.0086 204,-8278 209.1823,-8284.152 215.6634,-8288.7592 222.8267,-8292.1746"/>
-<polygon fill="#191970" stroke="#191970" points="87.6433,-3456.6844 84.0699,-3446.7104 80.6435,-3456.7359 87.6433,-3456.6844"/>
+<path fill="none" stroke="#191970" d="M84.1343,-3456.6107C86.4571,-3789.8396 119.1799,-8259.2649 204,-8360 209.181,-8366.1531 215.6613,-8370.761 222.8242,-8374.1768"/>
+<polygon fill="#191970" stroke="#191970" points="87.6337,-3456.4911 84.0645,-3446.5156 80.6339,-3456.5396 87.6337,-3456.4911"/>
 </g>
 <!-- Node6 -->
 <g id="node15" class="node">
 <title>Node6</title>
 <g id="a_node15"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_top" xlink:title="We can have different set of variables to represent the same constraints. For example, the following two systems are equivalent, {a + b = 0 | a &gt;= 0, b &gt;= 0} and {m &#45; n = 0 | m &gt;= 0, n &lt;= 0} This data structure represents the transformation between two equivalent linear systems. In the above example, src : {a + b = 0 | a &gt;= 0, b &gt;= 0} dst : {m &#45; n =  [...]
-<polygon fill="#ffffff" stroke="#000000" points="235.5,-8239 235.5,-8269 374.5,-8269 374.5,-8239 235.5,-8239"/>
-<text text-anchor="start" x="243.5" y="-8257" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraints</text>
-<text text-anchor="middle" x="305" y="-8246" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TransformNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="235.5,-8321 235.5,-8351 374.5,-8351 374.5,-8321 235.5,-8321"/>
+<text text-anchor="start" x="243.5" y="-8339" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraints</text>
+<text text-anchor="middle" x="305" y="-8328" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TransformNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node6 -->
 <g id="edge10" class="edge">
 <title>Node0&#45;&gt;Node6</title>
-<path fill="none" stroke="#191970" d="M84.1614,-3457.0608C86.8706,-3788.9598 123.8169,-8129.1507 204,-8229 211.9739,-8238.9297 223.2158,-8245.2862 235.321,-8249.2847"/>
-<polygon fill="#191970" stroke="#191970" points="87.6577,-3456.5793 84.0766,-3446.6081 80.6579,-3456.6362 87.6577,-3456.5793"/>
+<path fill="none" stroke="#191970" d="M84.1516,-3456.9064C86.732,-3790.6159 122.4267,-8209.3758 204,-8311 211.9718,-8320.9313 223.2128,-8327.2887 235.3177,-8331.2873"/>
+<polygon fill="#191970" stroke="#191970" points="87.6505,-3456.7453 84.0737,-3446.7725 80.6507,-3456.7991 87.6505,-3456.7453"/>
 </g>
 <!-- Node7 -->
 <g id="node16" class="node">
 <title>Node7</title>
 <g id="a_node16"><a xlink:href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_top" xlink:title="Represent integer grouped bounds which are classified into lower bounds (inclusive), upper bounds (inclusive) and equalities. It also contains coefficient as a multiplier for the bounds, i.e., coef * var &gt;= lower coef * var == equal coef * var &lt;= upper. ">
-<polygon fill="#ffffff" stroke="#000000" points="218,-8200.5 218,-8219.5 392,-8219.5 392,-8200.5 218,-8200.5"/>
-<text text-anchor="middle" x="305" y="-8207.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntGroupBoundsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="218,-8282.5 218,-8301.5 392,-8301.5 392,-8282.5 218,-8282.5"/>
+<text text-anchor="middle" x="305" y="-8289.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntGroupBoundsNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node7 -->
 <g id="edge11" class="edge">
 <title>Node0&#45;&gt;Node7</title>
-<path fill="none" stroke="#191970" d="M84.1519,-3456.9119C86.7061,-3786.3449 121.6666,-8094.245 204,-8191 207.9314,-8195.6201 212.6001,-8199.348 217.7409,-8202.3394"/>
-<polygon fill="#191970" stroke="#191970" points="87.649,-3456.5095 84.072,-3446.5368 80.6492,-3456.5634 87.649,-3456.5095"/>
+<path fill="none" stroke="#191970" d="M84.1422,-3456.7612C86.5658,-3788.0359 120.227,-8174.5106 204,-8273 207.9304,-8277.6209 212.5984,-8281.3495 217.7387,-8284.3413"/>
+<polygon fill="#191970" stroke="#191970" points="87.6417,-3456.6755 84.0691,-3446.7012 80.6419,-3456.7264 87.6417,-3456.6755"/>
 </g>
 <!-- Node8 -->
 <g id="node17" class="node">
 <title>Node8</title>
 <g id="a_node17"><a xlink:href="classtvm_1_1arith_1_1IntSetNode.html" target="_top" xlink:title="Base class of all Integer set containers. represent a set of integers in one dimension. ">
-<polygon fill="#ffffff" stroke="#000000" points="242.5,-8162.5 242.5,-8181.5 367.5,-8181.5 367.5,-8162.5 242.5,-8162.5"/>
-<text text-anchor="middle" x="305" y="-8169.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntSetNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="242.5,-8244.5 242.5,-8263.5 367.5,-8263.5 367.5,-8244.5 242.5,-8244.5"/>
+<text text-anchor="middle" x="305" y="-8251.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntSetNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node8 -->
 <g id="edge12" class="edge">
 <title>Node0&#45;&gt;Node8</title>
-<path fill="none" stroke="#191970" d="M84.1587,-3457.2474C86.7913,-3787.8384 122.3555,-8057.0743 204,-8153 213.6563,-8164.3453 227.7585,-8170.311 242.3791,-8173.1993"/>
-<polygon fill="#191970" stroke="#191970" points="87.6552,-3456.7829 84.0762,-3446.811 80.6554,-3456.8384 87.6552,-3456.7829"/>
+<path fill="none" stroke="#191970" d="M84.1486,-3457.0961C86.6487,-3789.5775 120.9164,-8137.3404 204,-8235 213.6538,-8246.3474 227.7552,-8252.3138 242.3758,-8255.2022"/>
+<polygon fill="#191970" stroke="#191970" points="87.6451,-3456.5986 84.0705,-3446.625 80.6453,-3456.6509 87.6451,-3456.5986"/>
 </g>
 <!-- Node9 -->
 <g id="node18" class="node">
 <title>Node9</title>
 <g id="a_node18"><a xlink:href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_top" xlink:title="Result of DetectIterMap. ">
-<polygon fill="#ffffff" stroke="#000000" points="223.5,-8124.5 223.5,-8143.5 386.5,-8143.5 386.5,-8124.5 223.5,-8124.5"/>
-<text text-anchor="middle" x="305" y="-8131.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMapResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="223.5,-8206.5 223.5,-8225.5 386.5,-8225.5 386.5,-8206.5 223.5,-8206.5"/>
+<text text-anchor="middle" x="305" y="-8213.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMapResultNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node9 -->
 <g id="edge13" class="edge">
 <title>Node0&#45;&gt;Node9</title>
-<path fill="none" stroke="#191970" d="M84.1616,-3457.0843C86.8415,-3785.012 123.0031,-8019.8551 204,-8115 209.3203,-8121.2496 215.9896,-8125.8667 223.3514,-8129.2362"/>
-<polygon fill="#191970" stroke="#191970" points="87.6587,-3456.7032 84.0776,-3446.7319 80.659,-3456.76 87.6587,-3456.7032"/>
+<path fill="none" stroke="#191970" d="M84.1515,-3456.937C86.6983,-3786.7857 121.5643,-8100.1216 204,-8197 209.3189,-8203.2507 215.9873,-8207.8686 223.3486,-8211.2385"/>
+<polygon fill="#191970" stroke="#191970" points="87.6485,-3456.5216 84.0718,-3446.5488 80.6487,-3456.5754 87.6485,-3456.5216"/>
 </g>
 <!-- Node10 -->
 <g id="node19" class="node">
 <title>Node10</title>
 <g id="a_node19"><a xlink:href="classtvm_1_1arith_1_1IterMarkNode.html" target="_top" xlink:title="Mark the source as an iterator in [0, extent). ">
-<polygon fill="#ffffff" stroke="#000000" points="236.5,-8086.5 236.5,-8105.5 373.5,-8105.5 373.5,-8086.5 236.5,-8086.5"/>
-<text text-anchor="middle" x="305" y="-8093.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMarkNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="236.5,-8168.5 236.5,-8187.5 373.5,-8187.5 373.5,-8168.5 236.5,-8168.5"/>
+<text text-anchor="middle" x="305" y="-8175.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMarkNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node10 -->
 <g id="edge14" class="edge">
 <title>Node0&#45;&gt;Node10</title>
-<path fill="none" stroke="#191970" d="M84.1645,-3456.9212C86.8917,-3782.1857 123.6507,-7982.6359 204,-8077 212.3284,-8086.7811 223.9613,-8092.5632 236.3812,-8095.8221"/>
-<polygon fill="#191970" stroke="#191970" points="87.6623,-3456.6234 84.079,-3446.6529 80.6625,-3456.6817 87.6623,-3456.6234"/>
+<path fill="none" stroke="#191970" d="M84.1582,-3457.2731C86.7834,-3788.2846 122.2532,-8062.951 204,-8159 212.3262,-8168.7829 223.9582,-8174.5659 236.3778,-8177.825"/>
+<polygon fill="#191970" stroke="#191970" points="87.6547,-3456.7955 84.0759,-3446.8234 80.6549,-3456.8507 87.6547,-3456.7955"/>
 </g>
 <!-- Node11 -->
 <g id="node20" class="node">
 <title>Node11</title>
 <g id="a_node20"><a xlink:href="classtvm_1_1arith_1_1ModularSetNode.html" target="_top" xlink:title="Range of a linear integer function. Use to do specify the possible index values. ">
-<polygon fill="#ffffff" stroke="#000000" points="229.5,-8048.5 229.5,-8067.5 380.5,-8067.5 380.5,-8048.5 229.5,-8048.5"/>
-<text text-anchor="middle" x="305" y="-8055.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ModularSetNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="229.5,-8130.5 229.5,-8149.5 380.5,-8149.5 380.5,-8130.5 229.5,-8130.5"/>
+<text text-anchor="middle" x="305" y="-8137.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ModularSetNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node11 -->
 <g id="edge15" class="edge">
 <title>Node0&#45;&gt;Node11</title>
-<path fill="none" stroke="#191970" d="M84.1674,-3456.758C86.9418,-3779.3594 124.2983,-7945.4167 204,-8039 210.7677,-8046.9464 219.7165,-8052.2532 229.4961,-8055.7118"/>
-<polygon fill="#191970" stroke="#191970" points="87.6658,-3456.5436 84.0804,-3446.5739 80.6661,-3456.6034 87.6658,-3456.5436"/>
+<path fill="none" stroke="#191970" d="M84.1611,-3457.11C86.8336,-3785.4583 122.9009,-8025.7318 204,-8121 210.7659,-8128.9479 219.7137,-8134.2556 229.4929,-8137.7146"/>
+<polygon fill="#191970" stroke="#191970" points="87.6582,-3456.7158 84.0774,-3446.7444 80.6584,-3456.7724 87.6582,-3456.7158"/>
 </g>
 <!-- Node12 -->
 <g id="node21" class="node">
 <title>Node12</title>
 <g id="a_node21"><a xlink:href="classtvm_1_1AttrFieldInfoNode.html" target="_top" xlink:title="Information about attribute fields in string representations. ">
-<polygon fill="#ffffff" stroke="#000000" points="241.5,-8010.5 241.5,-8029.5 368.5,-8029.5 368.5,-8010.5 241.5,-8010.5"/>
-<text text-anchor="middle" x="305" y="-8017.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AttrFieldInfoNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="241.5,-8092.5 241.5,-8111.5 368.5,-8111.5 368.5,-8092.5 241.5,-8092.5"/>
+<text text-anchor="middle" x="305" y="-8099.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AttrFieldInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node12 -->
 <g id="edge16" class="edge">
 <title>Node0&#45;&gt;Node12</title>
-<path fill="none" stroke="#191970" d="M84.1768,-3457.0733C87.0662,-3780.5734 125.4461,-7906.8886 204,-8000 213.394,-8011.1349 227.0434,-8017.2071 241.2864,-8020.3115"/>
-<polygon fill="#191970" stroke="#191970" points="87.6746,-3456.8055 84.0859,-3446.837 80.6749,-3456.8677 87.6746,-3456.8055"/>
+<path fill="none" stroke="#191970" d="M84.1662,-3456.9409C86.9201,-3782.5279 124.0173,-7987.1504 204,-8082 213.3915,-8093.1371 227.0398,-8099.2101 241.2828,-8102.3145"/>
+<polygon fill="#191970" stroke="#191970" points="87.6638,-3456.6327 84.0798,-3446.6625 80.6641,-3456.6915 87.6638,-3456.6327"/>
 </g>
 <!-- Node13 -->
 <g id="node22" class="node">
 <title>Node13</title>
 <g id="a_node22"><a xlink:href="classtvm_1_1auto__scheduler_1_1AccessAnalyzerNode.html" target="_top" xlink:title="Static analyzer for a ComputeDAG. ">
-<polygon fill="#ffffff" stroke="#000000" points="242.5,-7961 242.5,-7991 367.5,-7991 367.5,-7961 242.5,-7961"/>
-<text text-anchor="start" x="250.5" y="-7979" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7968" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AccessAnalyzerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="242.5,-8043 242.5,-8073 367.5,-8073 367.5,-8043 242.5,-8043"/>
+<text text-anchor="start" x="250.5" y="-8061" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8050" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AccessAnalyzerNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node13 -->
 <g id="edge17" class="edge">
 <title>Node0&#45;&gt;Node13</title>
-<path fill="none" stroke="#191970" d="M84.1907,-3456.8494C87.3033,-3776.743 128.4689,-7857.0921 204,-7951 213.51,-7962.8238 227.6533,-7969.5798 242.3654,-7973.3209"/>
-<polygon fill="#191970" stroke="#191970" points="87.6894,-3456.6929 84.0927,-3446.7273 80.6898,-3456.7607 87.6894,-3456.6929"/>
+<path fill="none" stroke="#191970" d="M84.18,-3456.7223C87.1575,-3778.7412 127.0819,-7937.3211 204,-8033 213.5072,-8044.826 227.6495,-8051.5828 242.3616,-8055.3239"/>
+<polygon fill="#191970" stroke="#191970" points="87.6784,-3456.5239 84.0865,-3446.5565 80.6787,-3456.5883 87.6784,-3456.5239"/>
 </g>
 <!-- Node14 -->
 <g id="node23" class="node">
 <title>Node14</title>
 <g id="a_node23"><a xlink:href="classtvm_1_1auto__scheduler_1_1AttachMapNode.html" target="_top" xlink:title="stores the compute_at relation between stages This stores a bi&#45;directional mapping from stages and it...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7912 247,-7942 363,-7942 363,-7912 247,-7912"/>
-<text text-anchor="start" x="255" y="-7930" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AttachMapNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7994 247,-8024 363,-8024 363,-7994 247,-7994"/>
+<text text-anchor="start" x="255" y="-8012" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8001" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AttachMapNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node14 -->
 <g id="edge18" class="edge">
 <title>Node0&#45;&gt;Node14</title>
-<path fill="none" stroke="#191970" d="M84.1944,-3456.634C87.3665,-3773.0559 129.2747,-7809.1216 204,-7902 214.4742,-7915.0187 230.5655,-7921.8933 246.8472,-7925.3642"/>
-<polygon fill="#191970" stroke="#191970" points="87.6942,-3456.5863 84.0946,-3446.6217 80.6946,-3456.6561 87.6942,-3456.5863"/>
+<path fill="none" stroke="#191970" d="M84.1882,-3456.9945C87.2608,-3779.2262 127.9263,-7889.3987 204,-7984 214.471,-7997.0212 230.5615,-8003.8965 246.8433,-8007.3673"/>
+<polygon fill="#191970" stroke="#191970" points="87.6863,-3456.7647 84.0915,-3446.7984 80.6866,-3456.8311 87.6863,-3456.7647"/>
 </g>
 <!-- Node15 -->
 <g id="node24" class="node">
 <title>Node15</title>
 <g id="a_node24"><a xlink:href="classtvm_1_1auto__scheduler_1_1BuildResultNode.html" target="_top" xlink:title="Store the result of a build. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7863 247,-7893 363,-7893 363,-7863 247,-7863"/>
-<text text-anchor="start" x="255" y="-7881" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7870" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuildResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7945 247,-7975 363,-7975 363,-7945 247,-7945"/>
+<text text-anchor="start" x="255" y="-7963" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7952" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuildResultNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node15 -->
 <g id="edge19" class="edge">
 <title>Node0&#45;&gt;Node15</title>
-<path fill="none" stroke="#191970" d="M84.203,-3456.8854C87.4719,-3773.3142 130.117,-7761.1966 204,-7853 214.4761,-7866.0171 230.568,-7872.8913 246.8495,-7876.3623"/>
-<polygon fill="#191970" stroke="#191970" points="87.6991,-3456.4796 84.0964,-3446.5161 80.6994,-3456.5516 87.6991,-3456.4796"/>
+<path fill="none" stroke="#191970" d="M84.1919,-3456.7791C87.324,-3775.5391 128.7321,-7841.4282 204,-7935 214.4729,-7948.0197 230.5638,-7954.8946 246.8456,-7958.3654"/>
+<polygon fill="#191970" stroke="#191970" points="87.691,-3456.6581 84.0933,-3446.6928 80.6913,-3456.7266 87.691,-3456.6581"/>
 </g>
 <!-- Node16 -->
 <g id="node25" class="node">
 <title>Node16</title>
 <g id="a_node25"><a xlink:href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html" target="_top" xlink:title="The auto&#45;scheduler&#39;s computational graph and related program analyses. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7814 247,-7844 363,-7844 363,-7814 247,-7814"/>
-<text text-anchor="start" x="255" y="-7832" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7821" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeDAGNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7896 247,-7926 363,-7926 363,-7896 247,-7896"/>
+<text text-anchor="start" x="255" y="-7914" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7903" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeDAGNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node16 -->
 <g id="edge20" class="edge">
 <title>Node0&#45;&gt;Node16</title>
-<path fill="none" stroke="#191970" d="M84.2118,-3457.1388C87.5794,-3773.5418 130.9591,-7713.2711 204,-7804 214.4781,-7817.0155 230.5705,-7823.8892 246.852,-7827.3603"/>
-<polygon fill="#191970" stroke="#191970" points="87.7075,-3456.7088 84.1018,-3446.7465 80.7079,-3456.783 87.7075,-3456.7088"/>
+<path fill="none" stroke="#191970" d="M84.2004,-3457.0339C87.4288,-3775.8269 129.5746,-7793.5035 204,-7886 214.4748,-7899.0182 230.5663,-7905.8926 246.8479,-7909.3635"/>
+<polygon fill="#191970" stroke="#191970" points="87.6958,-3456.5514 84.0952,-3446.5872 80.6962,-3456.622 87.6958,-3456.5514"/>
 </g>
 <!-- Node17 -->
 <g id="node26" class="node">
 <title>Node17</title>
 <g id="a_node26"><a xlink:href="classtvm_1_1auto__scheduler_1_1CostModelNode.html" target="_top" xlink:title="The base class for cost model. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7765 247,-7795 363,-7795 363,-7765 247,-7765"/>
-<text text-anchor="start" x="255" y="-7783" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7772" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7847 247,-7877 363,-7877 363,-7847 247,-7847"/>
+<text text-anchor="start" x="255" y="-7865" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7854" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node17 -->
 <g id="edge21" class="edge">
 <title>Node0&#45;&gt;Node17</title>
-<path fill="none" stroke="#191970" d="M84.2157,-3456.9129C87.6441,-3769.7664 131.764,-7665.2997 204,-7755 214.4801,-7768.0139 230.5731,-7774.8872 246.8545,-7778.3583"/>
-<polygon fill="#191970" stroke="#191970" points="87.7126,-3456.5983 84.1037,-3446.6371 80.713,-3456.6747 87.7126,-3456.5983"/>
+<path fill="none" stroke="#191970" d="M84.2043,-3456.8206C87.4934,-3772.1571 130.3806,-7745.5333 204,-7837 214.4768,-7850.0166 230.5688,-7856.8906 246.8503,-7860.3616"/>
+<polygon fill="#191970" stroke="#191970" points="87.7042,-3456.7832 84.1005,-3446.8201 80.7046,-3456.8559 87.7042,-3456.7832"/>
 </g>
 <!-- Node20 -->
 <g id="node29" class="node">
 <title>Node20</title>
 <g id="a_node29"><a xlink:href="classtvm_1_1auto__scheduler_1_1HardwareParamsNode.html" target="_top" xlink:title="The parameters of target hardware used to guide the SearchPolicy. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-7716 239.5,-7746 370.5,-7746 370.5,-7716 239.5,-7716"/>
-<text text-anchor="start" x="247.5" y="-7734" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7723" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::HardwareParamsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-7798 239.5,-7828 370.5,-7828 370.5,-7798 239.5,-7798"/>
+<text text-anchor="start" x="247.5" y="-7816" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7805" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::HardwareParamsNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node20 -->
 <g id="edge24" class="edge">
 <title>Node0&#45;&gt;Node20</title>
-<path fill="none" stroke="#191970" d="M84.2196,-3456.6869C87.7087,-3765.9911 132.569,-7617.3282 204,-7706 212.8957,-7717.0428 225.8327,-7723.664 239.4961,-7727.5369"/>
-<polygon fill="#191970" stroke="#191970" points="87.7177,-3456.4878 84.1056,-3446.5278 80.7181,-3456.5665 87.7177,-3456.4878"/>
+<path fill="none" stroke="#191970" d="M84.2131,-3457.065C87.6005,-3772.309 131.2219,-7697.607 204,-7788 212.8928,-7799.0452 225.8287,-7805.6672 239.4919,-7809.5403"/>
+<polygon fill="#191970" stroke="#191970" points="87.7092,-3456.6727 84.1024,-3446.7108 80.7096,-3456.7476 87.7092,-3456.6727"/>
 </g>
 <!-- Node21 -->
 <g id="node30" class="node">
 <title>Node21</title>
 <g id="a_node30"><a xlink:href="classtvm_1_1auto__scheduler_1_1IteratorNode.html" target="_top" xlink:title="An iterator of a for&#45;loop Similar to tvm::IterVar in include/tvm/tir/expr.h ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7667 247,-7697 363,-7697 363,-7667 247,-7667"/>
-<text text-anchor="start" x="255" y="-7685" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7674" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IteratorNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7749 247,-7779 363,-7779 363,-7749 247,-7749"/>
+<text text-anchor="start" x="255" y="-7767" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7756" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IteratorNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node21 -->
 <g id="edge25" class="edge">
 <title>Node0&#45;&gt;Node21</title>
-<path fill="none" stroke="#191970" d="M84.2289,-3456.9244C87.8192,-3766.0392 133.4094,-7569.4007 204,-7657 214.4843,-7670.0105 230.5784,-7676.8828 246.8596,-7680.3542"/>
-<polygon fill="#191970" stroke="#191970" points="87.7267,-3456.7075 84.1112,-3446.7486 80.7272,-3456.7885 87.7267,-3456.7075"/>
+<path fill="none" stroke="#191970" d="M84.217,-3456.8391C87.6652,-3768.5337 132.0269,-7649.6355 204,-7739 214.4808,-7752.0133 230.5739,-7758.8865 246.8553,-7762.3576"/>
+<polygon fill="#191970" stroke="#191970" points="87.7142,-3456.5623 84.1043,-3446.6014 80.7147,-3456.6394 87.7142,-3456.5623"/>
 </g>
 <!-- Node22 -->
 <g id="node31" class="node">
 <title>Node22</title>
 <g id="a_node31"><a xlink:href="classtvm_1_1auto__scheduler_1_1MeasureCallbackNode.html" target="_top" xlink:title="Bass class of measurement callbacks. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-7618 239.5,-7648 370.5,-7648 370.5,-7618 239.5,-7618"/>
-<text text-anchor="start" x="247.5" y="-7636" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7625" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-7700 239.5,-7730 370.5,-7730 370.5,-7700 239.5,-7700"/>
+<text text-anchor="start" x="247.5" y="-7718" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7707" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node22 -->
 <g id="edge26" class="edge">
 <title>Node0&#45;&gt;Node22</title>
-<path fill="none" stroke="#191970" d="M84.2329,-3456.6931C87.8847,-3762.2195 134.214,-7521.4286 204,-7608 212.8427,-7618.9695 225.6731,-7625.5754 239.2404,-7629.4583"/>
-<polygon fill="#191970" stroke="#191970" points="87.732,-3456.5931 84.1132,-3446.6355 80.7325,-3456.6764 87.732,-3456.5931"/>
+<path fill="none" stroke="#191970" d="M84.2262,-3457.0801C87.7752,-3768.6117 132.8676,-7601.7084 204,-7690 212.8963,-7701.0423 225.8335,-7707.6633 239.497,-7711.5362"/>
+<polygon fill="#191970" stroke="#191970" points="87.7232,-3456.7845 84.1099,-3446.8249 80.7236,-3456.8639 87.7232,-3456.7845"/>
 </g>
 <!-- Node25 -->
 <g id="node34" class="node">
 <title>Node25</title>
 <g id="a_node34"><a xlink:href="classtvm_1_1auto__scheduler_1_1MeasureInputNode.html" target="_top" xlink:title="Store the input of a measurement. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7569 247,-7599 363,-7599 363,-7569 247,-7569"/>
-<text text-anchor="start" x="255" y="-7587" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7576" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureInputNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7651 247,-7681 363,-7681 363,-7651 247,-7651"/>
+<text text-anchor="start" x="255" y="-7669" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7658" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureInputNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node25 -->
 <g id="edge29" class="edge">
 <title>Node0&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M84.2424,-3456.9123C87.9966,-3762.0735 135.0526,-7473.4989 204,-7559 214.4887,-7572.007 230.5841,-7578.8783 246.865,-7582.3498"/>
-<polygon fill="#191970" stroke="#191970" points="87.7374,-3456.4787 84.1152,-3446.5223 80.738,-3456.5644 87.7374,-3456.4787"/>
+<path fill="none" stroke="#191970" d="M84.2302,-3456.8489C87.8406,-3764.7919 133.6721,-7553.7363 204,-7641 214.485,-7654.0099 230.5793,-7660.8821 246.8604,-7664.3535"/>
+<polygon fill="#191970" stroke="#191970" points="87.7284,-3456.6701 84.1119,-3446.7117 80.7289,-3456.7519 87.7284,-3456.6701"/>
 </g>
 <!-- Node26 -->
 <g id="node35" class="node">
 <title>Node26</title>
 <g id="a_node35"><a xlink:href="classtvm_1_1auto__scheduler_1_1MeasureResultNode.html" target="_top" xlink:title="Store the results of a measurement. ">
-<polygon fill="#ffffff" stroke="#000000" points="245.5,-7520 245.5,-7550 364.5,-7550 364.5,-7520 245.5,-7520"/>
-<text text-anchor="start" x="253.5" y="-7538" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7527" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-7602 245.5,-7632 364.5,-7632 364.5,-7602 245.5,-7602"/>
+<text text-anchor="start" x="253.5" y="-7620" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7609" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureResultNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node26 -->
 <g id="edge30" class="edge">
 <title>Node0&#45;&gt;Node26</title>
-<path fill="none" stroke="#191970" d="M84.2523,-3457.1327C88.1108,-3761.895 135.891,-7425.5688 204,-7510 214.1507,-7522.5833 229.5488,-7529.4238 245.2844,-7532.999"/>
-<polygon fill="#191970" stroke="#191970" points="87.747,-3456.6882 84.1212,-3446.7332 80.7476,-3456.7765 87.747,-3456.6882"/>
+<path fill="none" stroke="#191970" d="M84.2342,-3456.6176C87.906,-3760.9722 134.4767,-7505.7643 204,-7592 214.1471,-7604.5863 229.544,-7611.4277 245.2798,-7615.0027"/>
+<polygon fill="#191970" stroke="#191970" points="87.7338,-3456.5557 84.1139,-3446.5985 80.7343,-3456.6399 87.7338,-3456.5557"/>
 </g>
 <!-- Node27 -->
 <g id="node36" class="node">
 <title>Node27</title>
 <g id="a_node36"><a xlink:href="classtvm_1_1auto__scheduler_1_1ProgramBuilderNode.html" target="_top" xlink:title="ProgramBuilder that builds the programs. ">
-<polygon fill="#ffffff" stroke="#000000" points="243,-7471 243,-7501 367,-7501 367,-7471 243,-7471"/>
-<text text-anchor="start" x="251" y="-7489" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7478" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramBuilderNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243,-7553 243,-7583 367,-7583 367,-7553 243,-7553"/>
+<text text-anchor="start" x="251" y="-7571" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7560" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramBuilderNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node27 -->
 <g id="edge31" class="edge">
 <title>Node0&#45;&gt;Node27</title>
-<path fill="none" stroke="#191970" d="M84.2564,-3456.8906C88.1777,-3757.9873 136.6947,-7377.5957 204,-7461 213.6425,-7472.9489 228.0165,-7479.7191 242.917,-7483.4323"/>
-<polygon fill="#191970" stroke="#191970" points="87.7527,-3456.5699 84.1232,-3446.6161 80.7533,-3456.6607 87.7527,-3456.5699"/>
+<path fill="none" stroke="#191970" d="M84.2438,-3456.8423C88.019,-3760.8708 135.3157,-7457.8351 204,-7543 213.639,-7554.9518 228.0118,-7561.723 242.9122,-7565.4362"/>
+<polygon fill="#191970" stroke="#191970" points="87.7433,-3456.768 84.1198,-3446.812 80.7438,-3456.8546 87.7433,-3456.768"/>
 </g>
 <!-- Node29 -->
 <g id="node38" class="node">
 <title>Node29</title>
 <g id="a_node38"><a xlink:href="classtvm_1_1auto__scheduler_1_1ProgramMeasurerNode.html" target="_top" xlink:title="Measurer that measures the time costs of tvm programs This class combines ProgramBuilder and ProgramR...">
-<polygon fill="#ffffff" stroke="#000000" points="238,-7422 238,-7452 372,-7452 372,-7422 238,-7422"/>
-<text text-anchor="start" x="246" y="-7440" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7429" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramMeasurerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="238,-7504 238,-7534 372,-7534 372,-7504 238,-7504"/>
+<text text-anchor="start" x="246" y="-7522" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7511" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramMeasurerNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node29 -->
 <g id="edge33" class="edge">
 <title>Node0&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M84.2667,-3457.0995C88.2941,-3757.674 137.5318,-7329.664 204,-7412 212.5668,-7422.6119 224.8653,-7429.1389 237.9494,-7433.0675"/>
-<polygon fill="#191970" stroke="#191970" points="87.7627,-3456.7729 84.1295,-3446.8206 80.7633,-3456.8664 87.7627,-3456.7729"/>
+<path fill="none" stroke="#191970" d="M84.2536,-3457.0537C88.1327,-3760.619 136.1534,-7409.9041 204,-7494 212.5635,-7504.6145 224.8608,-7511.1426 237.9446,-7515.0713"/>
+<polygon fill="#191970" stroke="#191970" points="87.7489,-3456.6496 84.1219,-3446.695 80.7494,-3456.7387 87.7489,-3456.6496"/>
 </g>
 <!-- Node30 -->
 <g id="node39" class="node">
 <title>Node30</title>
 <g id="a_node39"><a xlink:href="classtvm_1_1auto__scheduler_1_1ProgramRunnerNode.html" target="_top" xlink:title="ProgramRunner that runs the built programs and measure the time cost. ">
-<polygon fill="#ffffff" stroke="#000000" points="243.5,-7373 243.5,-7403 366.5,-7403 366.5,-7373 243.5,-7373"/>
-<text text-anchor="start" x="251.5" y="-7391" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7380" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramRunnerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-7455 243.5,-7485 366.5,-7485 366.5,-7455 243.5,-7455"/>
+<text text-anchor="start" x="251.5" y="-7473" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7462" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramRunnerNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node30 -->
 <g id="edge34" class="edge">
 <title>Node0&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M84.2709,-3456.8518C88.3618,-3753.722 138.3351,-7281.6904 204,-7363 213.7604,-7375.0859 228.3613,-7381.8729 243.449,-7385.5573"/>
-<polygon fill="#191970" stroke="#191970" points="87.7686,-3456.6505 84.1316,-3446.6995 80.7693,-3456.7466 87.7686,-3456.6505"/>
+<path fill="none" stroke="#191970" d="M84.2578,-3456.8115C88.1996,-3756.7113 136.9571,-7361.931 204,-7445 213.7567,-7457.0889 228.3563,-7463.877 243.444,-7467.5613"/>
+<polygon fill="#191970" stroke="#191970" points="87.7545,-3456.5312 84.1239,-3446.5779 80.7551,-3456.6229 87.7545,-3456.5312"/>
 </g>
 <!-- Node33 -->
 <g id="node42" class="node">
 <title>Node33</title>
 <g id="a_node42"><a xlink:href="classtvm_1_1auto__scheduler_1_1RecordReaderNode.html" target="_top" xlink:title="Log reader to load step logs from a file. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7324 247,-7354 363,-7354 363,-7324 247,-7324"/>
-<text text-anchor="start" x="255" y="-7342" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7331" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordReaderNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7406 247,-7436 363,-7436 363,-7406 247,-7406"/>
+<text text-anchor="start" x="255" y="-7424" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7413" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordReaderNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node33 -->
 <g id="edge37" class="edge">
 <title>Node0&#45;&gt;Node33</title>
-<path fill="none" stroke="#191970" d="M84.2752,-3456.6041C88.4294,-3749.77 139.1384,-7233.7168 204,-7314 214.5007,-7326.9973 230.5993,-7333.866 246.8796,-7337.338"/>
-<polygon fill="#191970" stroke="#191970" points="87.7746,-3456.5281 84.1337,-3446.5785 80.7753,-3456.6269 87.7746,-3456.5281"/>
+<path fill="none" stroke="#191970" d="M84.2681,-3457.0187C88.3162,-3756.3835 137.7941,-7313.9992 204,-7396 214.4965,-7409.0007 230.594,-7415.8703 246.8745,-7419.3421"/>
+<polygon fill="#191970" stroke="#191970" points="87.7646,-3456.733 84.1302,-3446.781 80.7653,-3456.8273 87.7646,-3456.733"/>
 </g>
 <!-- Node34 -->
 <g id="node43" class="node">
 <title>Node34</title>
 <g id="a_node43"><a xlink:href="classtvm_1_1auto__scheduler_1_1SearchCallbackNode.html" target="_top" xlink:title="Callback function to be called by the search process. This interface allows to do extra initializatio...">
-<polygon fill="#ffffff" stroke="#000000" points="243.5,-7275 243.5,-7305 366.5,-7305 366.5,-7275 243.5,-7275"/>
-<text text-anchor="start" x="251.5" y="-7293" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7282" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchCallbackNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-7357 243.5,-7387 366.5,-7387 366.5,-7357 243.5,-7357"/>
+<text text-anchor="start" x="251.5" y="-7375" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7364" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchCallbackNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node34 -->
 <g id="edge38" class="edge">
 <title>Node0&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M84.2859,-3456.7956C88.5488,-3749.2778 139.9739,-7185.783 204,-7265 213.7652,-7277.0821 228.3676,-7283.8678 243.4553,-7287.5523"/>
-<polygon fill="#191970" stroke="#191970" points="87.7852,-3456.7202 84.1404,-3446.7721 80.786,-3456.8219 87.7852,-3456.7202"/>
+<path fill="none" stroke="#191970" d="M84.2723,-3456.771C88.3838,-3752.4315 138.5974,-7266.0256 204,-7347 213.7612,-7359.0853 228.3623,-7365.8721 243.45,-7369.5565"/>
+<polygon fill="#191970" stroke="#191970" points="87.7705,-3456.6106 84.1323,-3446.66 80.7712,-3456.7076 87.7705,-3456.6106"/>
 </g>
 <!-- Node36 -->
 <g id="node45" class="node">
 <title>Node36</title>
 <g id="a_node45"><a xlink:href="classtvm_1_1auto__scheduler_1_1SearchPolicyNode.html" target="_top" xlink:title="The base class of search policies. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7226 247,-7256 363,-7256 363,-7226 247,-7226"/>
-<text text-anchor="start" x="255" y="-7244" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7233" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchPolicyNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7308 247,-7338 363,-7338 363,-7308 247,-7308"/>
+<text text-anchor="start" x="255" y="-7326" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7315" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchPolicyNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node36 -->
 <g id="edge40" class="edge">
 <title>Node0&#45;&gt;Node36</title>
-<path fill="none" stroke="#191970" d="M84.2967,-3456.9732C88.6688,-3748.638 140.8081,-7137.8476 204,-7216 214.5059,-7228.9931 230.606,-7235.8606 246.886,-7239.3329"/>
-<polygon fill="#191970" stroke="#191970" points="87.7915,-3456.5937 84.1425,-3446.6471 80.7923,-3456.6983 87.7915,-3456.5937"/>
+<path fill="none" stroke="#191970" d="M84.2828,-3456.959C88.5019,-3751.9122 139.4327,-7218.0915 204,-7298 214.5015,-7310.9966 230.6004,-7317.8651 246.8806,-7321.3372"/>
+<polygon fill="#191970" stroke="#191970" points="87.7766,-3456.4881 84.1344,-3446.539 80.7773,-3456.5879 87.7766,-3456.4881"/>
 </g>
 <!-- Node37 -->
 <g id="node46" class="node">
 <title>Node37</title>
 <g id="a_node46"><a xlink:href="classtvm_1_1auto__scheduler_1_1SearchTaskNode.html" target="_top" xlink:title="The computation information and hardware parameters for a specific schedule search task...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7177 247,-7207 363,-7207 363,-7177 247,-7177"/>
-<text text-anchor="start" x="255" y="-7195" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7184" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchTaskNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7259 247,-7289 363,-7289 363,-7259 247,-7259"/>
+<text text-anchor="start" x="255" y="-7277" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7266" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchTaskNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node37 -->
 <g id="edge41" class="edge">
 <title>Node0&#45;&gt;Node37</title>
-<path fill="none" stroke="#191970" d="M84.3012,-3456.7143C88.7379,-3744.5982 141.6106,-7089.8729 204,-7167 214.5086,-7179.9909 230.6094,-7186.8578 246.8893,-7190.3302"/>
-<polygon fill="#191970" stroke="#191970" points="87.7979,-3456.4671 84.1447,-3446.522 80.7987,-3456.5746 87.7979,-3456.4671"/>
+<path fill="none" stroke="#191970" d="M84.2937,-3457.1476C88.6222,-3751.3587 140.2677,-7170.157 204,-7249 214.5041,-7261.9946 230.6037,-7268.8625 246.8838,-7272.3346"/>
+<polygon fill="#191970" stroke="#191970" points="87.7873,-3456.6789 84.1411,-3446.7313 80.788,-3456.7815 87.7873,-3456.6789"/>
 </g>
 <!-- Node38 -->
 <g id="node47" class="node">
 <title>Node38</title>
 <g id="a_node47"><a xlink:href="classtvm_1_1auto__scheduler_1_1StageNode.html" target="_top" xlink:title="A op stage in the compute declaration. Similar to te::Stage in include/tvm/te/schedule.h. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7128 247,-7158 363,-7158 363,-7128 247,-7128"/>
-<text text-anchor="start" x="255" y="-7146" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7135" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StageNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7210 247,-7240 363,-7240 363,-7210 247,-7210"/>
+<text text-anchor="start" x="255" y="-7228" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7217" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StageNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node38 -->
 <g id="edge42" class="edge">
 <title>Node0&#45;&gt;Node38</title>
-<path fill="none" stroke="#191970" d="M84.3125,-3456.8866C88.8609,-3743.8806 142.444,-7041.9365 204,-7118 214.5114,-7130.9887 230.613,-7137.855 246.8927,-7141.3274"/>
-<polygon fill="#191970" stroke="#191970" points="87.8092,-3456.6479 84.1517,-3446.7044 80.8101,-3456.7585 87.8092,-3456.6479"/>
+<path fill="none" stroke="#191970" d="M84.2982,-3456.8886C88.6913,-3747.3189 141.0701,-7122.1824 204,-7200 214.5067,-7212.9924 230.6071,-7219.8597 246.887,-7223.332"/>
+<polygon fill="#191970" stroke="#191970" points="87.7936,-3456.5524 84.1432,-3446.6063 80.7944,-3456.6579 87.7936,-3456.5524"/>
 </g>
 <!-- Node39 -->
 <g id="node48" class="node">
 <title>Node39</title>
 <g id="a_node48"><a xlink:href="classtvm_1_1auto__scheduler_1_1StateNode.html" target="_top" xlink:title="A state in the search process. It consists of the current loop structure and a list of transformation...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7079 247,-7109 363,-7109 363,-7079 247,-7079"/>
-<text text-anchor="start" x="255" y="-7097" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7086" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StateNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7161 247,-7191 363,-7191 363,-7161 247,-7161"/>
+<text text-anchor="start" x="255" y="-7179" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7168" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StateNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node39 -->
 <g id="edge43" class="edge">
 <title>Node0&#45;&gt;Node39</title>
-<path fill="none" stroke="#191970" d="M84.317,-3456.6219C88.9307,-3739.7966 143.2461,-6993.9613 204,-7069 214.5142,-7081.9864 230.6166,-7088.852 246.8962,-7092.3246"/>
-<polygon fill="#191970" stroke="#191970" points="87.8159,-3456.5171 84.1539,-3446.5753 80.8168,-3456.6308 87.8159,-3456.5171"/>
+<path fill="none" stroke="#191970" d="M84.3094,-3457.0648C88.8139,-3746.631 141.9039,-7074.2463 204,-7151 214.5095,-7163.9902 230.6106,-7170.8569 246.8904,-7174.3293"/>
+<polygon fill="#191970" stroke="#191970" points="87.8048,-3456.7359 84.1502,-3446.7914 80.8056,-3456.8445 87.8048,-3456.7359"/>
 </g>
 <!-- Node40 -->
 <g id="node49" class="node">
 <title>Node40</title>
 <g id="a_node49"><a xlink:href="classtvm_1_1auto__scheduler_1_1StepNode.html" target="_top" xlink:title="The base class of transformation steps. Each step has its corresponding tvm.te schedule primitives...">
-<polygon fill="#ffffff" stroke="#000000" points="247,-7030 247,-7060 363,-7060 363,-7030 247,-7030"/>
-<text text-anchor="start" x="255" y="-7048" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7037" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7112 247,-7142 363,-7142 363,-7112 247,-7112"/>
+<text text-anchor="start" x="255" y="-7130" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7119" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StepNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node40 -->
 <g id="edge44" class="edge">
 <title>Node0&#45;&gt;Node40</title>
-<path fill="none" stroke="#191970" d="M84.3287,-3456.7815C89.056,-3738.9447 144.0783,-6946.0233 204,-7020 214.5171,-7032.984 230.6204,-7039.849 246.8998,-7043.3217"/>
-<polygon fill="#191970" stroke="#191970" points="87.8277,-3456.6902 84.1612,-3446.7501 80.8287,-3456.8071 87.8277,-3456.6902"/>
+<path fill="none" stroke="#191970" d="M84.3139,-3456.8002C88.8837,-3742.547 142.7059,-7026.2711 204,-7102 214.5123,-7114.9879 230.6142,-7121.854 246.8938,-7125.3265"/>
+<polygon fill="#191970" stroke="#191970" points="87.8114,-3456.6052 84.1524,-3446.6622 80.8123,-3456.7168 87.8114,-3456.6052"/>
 </g>
 <!-- Node55 -->
 <g id="node64" class="node">
 <title>Node55</title>
 <g id="a_node64"><a xlink:href="classtvm_1_1auto__scheduler_1_1TuningOptionsNode.html" target="_top" xlink:title="Tuning and measurement options. ">
-<polygon fill="#ffffff" stroke="#000000" points="246.5,-6981 246.5,-7011 363.5,-7011 363.5,-6981 246.5,-6981"/>
-<text text-anchor="start" x="254.5" y="-6999" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-6988" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningOptionsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="246.5,-7063 246.5,-7093 363.5,-7093 363.5,-7063 246.5,-7063"/>
+<text text-anchor="start" x="254.5" y="-7081" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7070" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningOptionsNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node55 -->
 <g id="edge59" class="edge">
 <title>Node0&#45;&gt;Node55</title>
-<path fill="none" stroke="#191970" d="M84.3405,-3456.9265C89.1818,-3737.9476 144.9092,-6898.0837 204,-6971 214.4064,-6983.8412 230.2767,-6990.6967 246.3755,-6994.2049"/>
-<polygon fill="#191970" stroke="#191970" points="87.8347,-3456.5552 84.1635,-3446.6168 80.8358,-3456.6754 87.8347,-3456.5552"/>
+<path fill="none" stroke="#191970" d="M84.3185,-3456.5355C88.9535,-3738.463 143.508,-6978.2959 204,-7053 214.4015,-7065.8452 230.2703,-7072.7019 246.3694,-7076.2099"/>
+<polygon fill="#191970" stroke="#191970" points="87.8181,-3456.4744 84.1546,-3446.5331 80.819,-3456.5891 87.8181,-3456.4744"/>
 </g>
 <!-- Node56 -->
 <g id="node65" class="node">
 <title>Node56</title>
 <g id="a_node65"><a xlink:href="classtvm_1_1BaseAttrsNode.html" target="_top" xlink:title="Base class of all attribute class. ">
-<polygon fill="#ffffff" stroke="#000000" points="247.5,-6942.5 247.5,-6961.5 362.5,-6961.5 362.5,-6942.5 247.5,-6942.5"/>
-<text text-anchor="middle" x="305" y="-6949.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseAttrsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247.5,-7024.5 247.5,-7043.5 362.5,-7043.5 362.5,-7024.5 247.5,-7024.5"/>
+<text text-anchor="middle" x="305" y="-7031.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseAttrsNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node56 -->
 <g id="edge60" class="edge">
 <title>Node0&#45;&gt;Node56</title>
-<path fill="none" stroke="#191970" d="M85.2487,-3456.8613C102.469,-3730.749 292.1929,-6748.3029 304.3855,-6942.2259"/>
-<polygon fill="#191970" stroke="#191970" points="88.7352,-3456.5346 84.6145,-3446.7739 81.749,-3456.9739 88.7352,-3456.5346"/>
+<path fill="none" stroke="#191970" d="M85.2224,-3456.8952C102.2826,-3734.5683 292.3746,-6828.5085 304.4034,-7024.2905"/>
+<polygon fill="#191970" stroke="#191970" points="88.7021,-3456.4567 84.5954,-3446.6901 81.7153,-3456.886 88.7021,-3456.4567"/>
 </g>
-<!-- Node333 -->
-<g id="node342" class="node">
-<title>Node333</title>
-<g id="a_node342"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions. ">
+<!-- Node335 -->
+<g id="node344" class="node">
+<title>Node335</title>
+<g id="a_node344"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions. ">
 <polygon fill="#ffffff" stroke="#000000" points="248.5,-4722.5 248.5,-4741.5 361.5,-4741.5 361.5,-4722.5 248.5,-4722.5"/>
 <text text-anchor="middle" x="305" y="-4729.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExprNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node333 -->
-<g id="edge337" class="edge">
-<title>Node0&#45;&gt;Node333</title>
+<!-- Node0&#45;&gt;Node335 -->
+<g id="edge339" class="edge">
+<title>Node0&#45;&gt;Node335</title>
 <path fill="none" stroke="#191970" d="M84.4585,-3457.175C88.1739,-3612.5874 115.5106,-4615.9534 204,-4713 215.3004,-4725.3932 231.9196,-4731.2469 248.428,-4733.6925"/>
 <polygon fill="#191970" stroke="#191970" points="87.9485,-3456.7015 84.2156,-3446.7861 80.9504,-3456.8652 87.9485,-3456.7015"/>
 </g>
-<!-- Node409 -->
-<g id="node418" class="node">
-<title>Node409</title>
-<g id="a_node418"><a xlink:href="classtvm_1_1CompilationConfigNode.html" target="_top" xlink:title="Gathers the Targets and distinguished VirtualDevices in canonical form needed to compile a Relay modu...">
-<polygon fill="#ffffff" stroke="#000000" points="226,-4684.5 226,-4703.5 384,-4703.5 384,-4684.5 226,-4684.5"/>
-<text text-anchor="middle" x="305" y="-4691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::CompilationConfigNode</text>
-</a>
-</g>
-</g>
-<!-- Node0&#45;&gt;Node409 -->
-<g id="edge413" class="edge">
-<title>Node0&#45;&gt;Node409</title>
-<path fill="none" stroke="#191970" d="M84.5161,-3457.0454C88.6199,-3609.3819 118.0765,-4581.0378 204,-4675 210.0203,-4681.5835 217.5418,-4686.3202 225.7483,-4689.6802"/>
-<polygon fill="#191970" stroke="#191970" points="88.0094,-3456.7416 84.2464,-3446.8376 81.0118,-3456.9265 88.0094,-3456.7416"/>
-</g>
-<!-- Node410 -->
-<g id="node419" class="node">
-<title>Node410</title>
-<g id="a_node419"><a xlink:href="structtvm_1_1ConstantInfoNode.html" target="_top" xlink:title="tvm::ConstantInfoNode">
-<polygon fill="#ffffff" stroke="#000000" points="240,-4646.5 240,-4665.5 370,-4665.5 370,-4646.5 240,-4646.5"/>
-<text text-anchor="middle" x="305" y="-4653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantInfoNode</text>
-</a>
-</g>
-</g>
-<!-- Node0&#45;&gt;Node410 -->
-<g id="edge414" class="edge">
-<title>Node0&#45;&gt;Node410</title>
-<path fill="none" stroke="#191970" d="M84.5755,-3456.8782C89.0725,-3605.9931 120.6342,-4546.1125 204,-4637 213.347,-4647.1903 226.2911,-4652.952 239.7978,-4656.0325"/>
-<polygon fill="#191970" stroke="#191970" points="88.0638,-3456.4285 84.2692,-3446.5365 81.0669,-3456.6358 88.0638,-3456.4285"/>
-</g>
 <!-- Node411 -->
 <g id="node420" class="node">
 <title>Node411</title>
-<g id="a_node420"><a xlink:href="structtvm_1_1ConstantMemoryPoolsNode.html" target="_top" xlink:title="tvm::ConstantMemoryPoolsNode">
-<polygon fill="#ffffff" stroke="#000000" points="216.5,-4608.5 216.5,-4627.5 393.5,-4627.5 393.5,-4608.5 216.5,-4608.5"/>
-<text text-anchor="middle" x="305" y="-4615.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantMemoryPoolsNode</text>
+<g id="a_node420"><a xlink:href="classtvm_1_1CompilationConfigNode.html" target="_top" xlink:title="Gathers the Targets and distinguished VirtualDevices in canonical form needed to compile a Relay modu...">
+<polygon fill="#ffffff" stroke="#000000" points="226,-4684.5 226,-4703.5 384,-4703.5 384,-4684.5 226,-4684.5"/>
+<text text-anchor="middle" x="305" y="-4691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::CompilationConfigNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node411 -->
 <g id="edge415" class="edge">
 <title>Node0&#45;&gt;Node411</title>
-<path fill="none" stroke="#191970" d="M84.6376,-3456.7007C89.5355,-3602.5381 123.1888,-4511.1833 204,-4599 207.6246,-4602.9388 211.7866,-4606.2153 216.3105,-4608.9307"/>
-<polygon fill="#191970" stroke="#191970" points="88.131,-3456.441 84.3025,-3446.5621 81.1348,-3456.6723 88.131,-3456.441"/>
+<path fill="none" stroke="#191970" d="M84.5161,-3457.0454C88.6199,-3609.3819 118.0765,-4581.0378 204,-4675 210.0203,-4681.5835 217.5418,-4686.3202 225.7483,-4689.6802"/>
+<polygon fill="#191970" stroke="#191970" points="88.0094,-3456.7416 84.2464,-3446.8376 81.0118,-3456.9265 88.0094,-3456.7416"/>
 </g>
 <!-- Node412 -->
 <g id="node421" class="node">
 <title>Node412</title>
-<g id="a_node421"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title="tvm::DiagnosticContextNode">
-<polygon fill="#ffffff" stroke="#000000" points="226,-4570.5 226,-4589.5 384,-4589.5 384,-4570.5 226,-4570.5"/>
-<text text-anchor="middle" x="305" y="-4577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticContextNode</text>
+<g id="a_node421"><a xlink:href="structtvm_1_1ConstantInfoNode.html" target="_top" xlink:title="tvm::ConstantInfoNode">
+<polygon fill="#ffffff" stroke="#000000" points="240,-4646.5 240,-4665.5 370,-4665.5 370,-4646.5 240,-4646.5"/>
+<text text-anchor="middle" x="305" y="-4653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node412 -->
 <g id="edge416" class="edge">
 <title>Node0&#45;&gt;Node412</title>
-<path fill="none" stroke="#191970" d="M84.7181,-3456.9294C90.0788,-3600.7177 125.8161,-4476.3322 204,-4561 210.0522,-4567.5542 217.5932,-4572.2729 225.8104,-4575.6232"/>
-<polygon fill="#191970" stroke="#191970" points="88.2024,-3456.4364 84.3377,-3446.5716 81.2071,-3456.6934 88.2024,-3456.4364"/>
+<path fill="none" stroke="#191970" d="M84.5755,-3456.8782C89.0725,-3605.9931 120.6342,-4546.1125 204,-4637 213.347,-4647.1903 226.2911,-4652.952 239.7978,-4656.0325"/>
+<polygon fill="#191970" stroke="#191970" points="88.0638,-3456.4285 84.2692,-3446.5365 81.0669,-3456.6358 88.0638,-3456.4285"/>
 </g>
 <!-- Node413 -->
 <g id="node422" class="node">
 <title>Node413</title>
-<g id="a_node422"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message. ">
-<polygon fill="#ffffff" stroke="#000000" points="245.5,-4532.5 245.5,-4551.5 364.5,-4551.5 364.5,-4532.5 245.5,-4532.5"/>
-<text text-anchor="middle" x="305" y="-4539.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticNode</text>
+<g id="a_node422"><a xlink:href="structtvm_1_1ConstantMemoryPoolsNode.html" target="_top" xlink:title="tvm::ConstantMemoryPoolsNode">
+<polygon fill="#ffffff" stroke="#000000" points="216.5,-4608.5 216.5,-4627.5 393.5,-4627.5 393.5,-4608.5 216.5,-4608.5"/>
+<text text-anchor="middle" x="305" y="-4615.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantMemoryPoolsNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node413 -->
 <g id="edge417" class="edge">
 <title>Node0&#45;&gt;Node413</title>
-<path fill="none" stroke="#191970" d="M84.7861,-3456.6916C90.563,-3596.9513 128.3564,-4441.386 204,-4523 214.6732,-4534.5157 229.9432,-4540.3594 245.3884,-4543.07"/>
-<polygon fill="#191970" stroke="#191970" points="88.2778,-3456.4143 84.3747,-3446.5646 81.2836,-3456.6985 88.2778,-3456.4143"/>
+<path fill="none" stroke="#191970" d="M84.6376,-3456.7007C89.5355,-3602.5381 123.1888,-4511.1833 204,-4599 207.6246,-4602.9388 211.7866,-4606.2153 216.3105,-4608.9307"/>
+<polygon fill="#191970" stroke="#191970" points="88.131,-3456.441 84.3025,-3446.5621 81.1348,-3456.6723 88.131,-3456.441"/>
 </g>
 <!-- Node414 -->
 <g id="node423" class="node">
 <title>Node414</title>
-<g id="a_node423"><a xlink:href="classtvm_1_1DiagnosticRendererNode.html" target="_top" xlink:title="Display diagnostics in a given display format. ">
-<polygon fill="#ffffff" stroke="#000000" points="223.5,-4494.5 223.5,-4513.5 386.5,-4513.5 386.5,-4494.5 223.5,-4494.5"/>
-<text text-anchor="middle" x="305" y="-4501.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticRendererNode</text>
+<g id="a_node423"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title="tvm::DiagnosticContextNode">
+<polygon fill="#ffffff" stroke="#000000" points="226,-4570.5 226,-4589.5 384,-4589.5 384,-4570.5 226,-4570.5"/>
+<text text-anchor="middle" x="305" y="-4577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticContextNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node414 -->
 <g id="edge418" class="edge">
 <title>Node0&#45;&gt;Node414</title>
-<path fill="none" stroke="#191970" d="M84.8753,-3456.8415C91.1356,-3594.6936 130.9643,-4406.5117 204,-4485 209.4695,-4490.8779 216.137,-4495.2764 223.4122,-4498.534"/>
-<polygon fill="#191970" stroke="#191970" points="88.358,-3456.3736 84.4135,-3446.5405 81.365,-3456.6872 88.358,-3456.3736"/>
+<path fill="none" stroke="#191970" d="M84.7181,-3456.9294C90.0788,-3600.7177 125.8161,-4476.3322 204,-4561 210.0522,-4567.5542 217.5932,-4572.2729 225.8104,-4575.6232"/>
+<polygon fill="#191970" stroke="#191970" points="88.2024,-3456.4364 84.3377,-3446.5716 81.2071,-3456.6934 88.2024,-3456.4364"/>
 </g>
 <!-- Node415 -->
 <g id="node424" class="node">
 <title>Node415</title>
-<g id="a_node424"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM&#39;s global environment. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-4456.5 251.5,-4475.5 358.5,-4475.5 358.5,-4456.5 251.5,-4456.5"/>
-<text text-anchor="middle" x="305" y="-4463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::EnvFuncNode</text>
+<g id="a_node424"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message. ">
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-4532.5 245.5,-4551.5 364.5,-4551.5 364.5,-4532.5 245.5,-4532.5"/>
+<text text-anchor="middle" x="305" y="-4539.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node415 -->
 <g id="edge419" class="edge">
 <title>Node0&#45;&gt;Node415</title>
-<path fill="none" stroke="#191970" d="M84.9705,-3456.9598C91.7277,-3592.2386 133.5634,-4371.6267 204,-4447 216.0604,-4459.9057 233.8976,-4465.6712 251.2398,-4467.8888"/>
-<polygon fill="#191970" stroke="#191970" points="88.4582,-3456.6215 84.4692,-3446.8063 81.4667,-3456.9667 88.4582,-3456.6215"/>
+<path fill="none" stroke="#191970" d="M84.7861,-3456.6916C90.563,-3596.9513 128.3564,-4441.386 204,-4523 214.6732,-4534.5157 229.9432,-4540.3594 245.3884,-4543.07"/>
+<polygon fill="#191970" stroke="#191970" points="88.2778,-3456.4143 84.3747,-3446.5646 81.2836,-3456.6985 88.2778,-3456.4143"/>
 </g>
 <!-- Node416 -->
 <g id="node425" class="node">
 <title>Node416</title>
-<g id="a_node425"><a xlink:href="classtvm_1_1GenericFuncNode.html" target="_top" xlink:title="Represents a generic function that can be specialized on a per&#45;target basis. ">
-<polygon fill="#ffffff" stroke="#000000" points="241.5,-4418.5 241.5,-4437.5 368.5,-4437.5 368.5,-4418.5 241.5,-4418.5"/>
-<text text-anchor="middle" x="305" y="-4425.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GenericFuncNode</text>
+<g id="a_node425"><a xlink:href="classtvm_1_1DiagnosticRendererNode.html" target="_top" xlink:title="Display diagnostics in a given display format. ">
+<polygon fill="#ffffff" stroke="#000000" points="223.5,-4494.5 223.5,-4513.5 386.5,-4513.5 386.5,-4494.5 223.5,-4494.5"/>
+<text text-anchor="middle" x="305" y="-4501.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticRendererNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node416 -->
 <g id="edge420" class="edge">
 <title>Node0&#45;&gt;Node416</title>
-<path fill="none" stroke="#191970" d="M85.0704,-3457.0175C92.3335,-3589.481 136.1488,-4336.7257 204,-4409 213.7697,-4419.4065 227.2966,-4425.1645 241.2784,-4428.1629"/>
-<polygon fill="#191970" stroke="#191970" points="88.5495,-3456.535 84.513,-3446.7393 81.5598,-3456.9142 88.5495,-3456.535"/>
+<path fill="none" stroke="#191970" d="M84.8753,-3456.8415C91.1356,-3594.6936 130.9643,-4406.5117 204,-4485 209.4695,-4490.8779 216.137,-4495.2764 223.4122,-4498.534"/>
+<polygon fill="#191970" stroke="#191970" points="88.358,-3456.3736 84.4135,-3446.5405 81.365,-3456.6872 88.358,-3456.3736"/>
 </g>
 <!-- Node417 -->
 <g id="node426" class="node">
 <title>Node417</title>
-<g id="a_node426"><a xlink:href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_top" xlink:title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">
-<polygon fill="#ffffff" stroke="#000000" points="204,-4380.5 204,-4399.5 406,-4399.5 406,-4380.5 204,-4380.5"/>
-<text text-anchor="middle" x="305" y="-4387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::instrument::PassInstrumentNode</text>
+<g id="a_node426"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM&#39;s global environment. ">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-4456.5 251.5,-4475.5 358.5,-4475.5 358.5,-4456.5 251.5,-4456.5"/>
+<text text-anchor="middle" x="305" y="-4463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::EnvFuncNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node417 -->
 <g id="edge421" class="edge">
 <title>Node0&#45;&gt;Node417</title>
-<path fill="none" stroke="#191970" d="M85.1524,-3456.637C92.8633,-3585.0347 138.6573,-4301.7416 204,-4371 207.4284,-4374.6338 211.315,-4377.7 215.5187,-4380.2794"/>
-<polygon fill="#191970" stroke="#191970" points="88.6462,-3456.4278 84.5588,-3446.6531 81.6586,-3456.8433 88.6462,-3456.4278"/>
+<path fill="none" stroke="#191970" d="M84.9705,-3456.9598C91.7277,-3592.2386 133.5634,-4371.6267 204,-4447 216.0604,-4459.9057 233.8976,-4465.6712 251.2398,-4467.8888"/>
+<polygon fill="#191970" stroke="#191970" points="88.4582,-3456.6215 84.4692,-3446.8063 81.4667,-3456.9667 88.4582,-3456.6215"/>
 </g>
 <!-- Node418 -->
 <g id="node427" class="node">
 <title>Node418</title>
-<g id="a_node427"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions. ">
-<polygon fill="#ffffff" stroke="#000000" points="248.5,-4342.5 248.5,-4361.5 361.5,-4361.5 361.5,-4342.5 248.5,-4342.5"/>
-<text text-anchor="middle" x="305" y="-4349.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IRModuleNode</text>
+<g id="a_node427"><a xlink:href="classtvm_1_1GenericFuncNode.html" target="_top" xlink:title="Represents a generic function that can be specialized on a per&#45;target basis. ">
+<polygon fill="#ffffff" stroke="#000000" points="241.5,-4418.5 241.5,-4437.5 368.5,-4437.5 368.5,-4418.5 241.5,-4418.5"/>
+<text text-anchor="middle" x="305" y="-4425.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GenericFuncNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node418 -->
 <g id="edge422" class="edge">
 <title>Node0&#45;&gt;Node418</title>
-<path fill="none" stroke="#191970" d="M85.2617,-3456.6045C93.4974,-3581.8459 141.2226,-4266.8167 204,-4333 215.4808,-4345.1037 232.0482,-4350.9005 248.4552,-4353.3829"/>
-<polygon fill="#191970" stroke="#191970" points="88.7493,-3456.2987 84.6066,-3446.5474 81.7641,-3456.7538 88.7493,-3456.2987"/>
+<path fill="none" stroke="#191970" d="M85.0704,-3457.0175C92.3335,-3589.481 136.1488,-4336.7257 204,-4409 213.7697,-4419.4065 227.2966,-4425.1645 241.2784,-4428.1629"/>
+<polygon fill="#191970" stroke="#191970" points="88.5495,-3456.535 84.513,-3446.7393 81.5598,-3456.9142 88.5495,-3456.535"/>
 </g>
 <!-- Node419 -->
 <g id="node428" class="node">
 <title>Node419</title>
-<g id="a_node428"><a xlink:href="classtvm_1_1MemoryInfoNode.html" target="_top" xlink:title="Memory information of special memory region. Use MemoryInfo as its container type. ">
-<polygon fill="#ffffff" stroke="#000000" points="242,-4304.5 242,-4323.5 368,-4323.5 368,-4304.5 242,-4304.5"/>
-<text text-anchor="middle" x="305" y="-4311.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::MemoryInfoNode</text>
+<g id="a_node428"><a xlink:href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_top" xlink:title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">
+<polygon fill="#ffffff" stroke="#000000" points="204,-4380.5 204,-4399.5 406,-4399.5 406,-4380.5 204,-4380.5"/>
+<text text-anchor="middle" x="305" y="-4387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::instrument::PassInstrumentNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node419 -->
 <g id="edge423" class="edge">
 <title>Node0&#45;&gt;Node419</title>
-<path fill="none" stroke="#191970" d="M85.4141,-3456.8729C94.3202,-3579.5551 144.2042,-4230.7347 204,-4294 213.9455,-4304.5226 227.7088,-4310.3886 241.8783,-4313.4914"/>
-<polygon fill="#191970" stroke="#191970" points="88.89,-3456.4107 84.6812,-3446.6877 81.9081,-3456.9132 88.89,-3456.4107"/>
+<path fill="none" stroke="#191970" d="M85.1524,-3456.637C92.8633,-3585.0347 138.6573,-4301.7416 204,-4371 207.4284,-4374.6338 211.315,-4377.7 215.5187,-4380.2794"/>
+<polygon fill="#191970" stroke="#191970" points="88.6462,-3456.4278 84.5588,-3446.6531 81.6586,-3456.8433 88.6462,-3456.4278"/>
 </g>
 <!-- Node420 -->
 <g id="node429" class="node">
 <title>Node420</title>
-<g id="a_node429"><a xlink:href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html" target="_top" xlink:title="An integration context that allows application of historically best records from a database...">
-<polygon fill="#ffffff" stroke="#000000" points="238.5,-4255 238.5,-4285 371.5,-4285 371.5,-4255 238.5,-4255"/>
-<text text-anchor="start" x="246.5" y="-4273" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4262" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ApplyHistoryBestNode</text>
+<g id="a_node429"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions. ">
+<polygon fill="#ffffff" stroke="#000000" points="248.5,-4342.5 248.5,-4361.5 361.5,-4361.5 361.5,-4342.5 248.5,-4342.5"/>
+<text text-anchor="middle" x="305" y="-4349.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IRModuleNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node420 -->
 <g id="edge424" class="edge">
 <title>Node0&#45;&gt;Node420</title>
-<path fill="none" stroke="#191970" d="M85.6264,-3456.7923C95.5075,-3574.9757 148.8968,-4184.3838 204,-4245 213.0523,-4254.958 225.3896,-4261.2374 238.3333,-4265.1359"/>
-<polygon fill="#191970" stroke="#191970" points="89.1005,-3456.3348 84.7856,-3446.6585 82.1245,-3456.9137 89.1005,-3456.3348"/>
+<path fill="none" stroke="#191970" d="M85.2617,-3456.6045C93.4974,-3581.8459 141.2226,-4266.8167 204,-4333 215.4808,-4345.1037 232.0482,-4350.9005 248.4552,-4353.3829"/>
+<polygon fill="#191970" stroke="#191970" points="88.7493,-3456.2987 84.6066,-3446.5474 81.7641,-3456.7538 88.7493,-3456.2987"/>
 </g>
 <!-- Node421 -->
 <g id="node430" class="node">
 <title>Node421</title>
-<g id="a_node430"><a xlink:href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4206 247,-4236 363,-4236 363,-4206 247,-4206"/>
-<text text-anchor="start" x="255" y="-4224" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4213" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ArgInfoNode</text>
+<g id="a_node430"><a xlink:href="classtvm_1_1MemoryInfoNode.html" target="_top" xlink:title="Memory information of special memory region. Use MemoryInfo as its container type. ">
+<polygon fill="#ffffff" stroke="#000000" points="242,-4304.5 242,-4323.5 368,-4323.5 368,-4304.5 242,-4304.5"/>
+<text text-anchor="middle" x="305" y="-4311.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::MemoryInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node421 -->
 <g id="edge425" class="edge">
 <title>Node0&#45;&gt;Node421</title>
-<path fill="none" stroke="#191970" d="M84.2788,-3456.9207C86.2041,-3565.3296 100.7633,-4083.4978 204,-4196 215.053,-4208.045 230.9135,-4214.6982 246.8011,-4218.2664"/>
-<polygon fill="#191970" stroke="#191970" points="87.7755,-3456.6842 84.1149,-3446.7419 80.7764,-3456.7969 87.7755,-3456.6842"/>
+<path fill="none" stroke="#191970" d="M85.4141,-3456.8729C94.3202,-3579.5551 144.2042,-4230.7347 204,-4294 213.9455,-4304.5226 227.7088,-4310.3886 241.8783,-4313.4914"/>
+<polygon fill="#191970" stroke="#191970" points="88.89,-3456.4107 84.6812,-3446.6877 81.9081,-3456.9132 88.89,-3456.4107"/>
+</g>
+<!-- Node422 -->
+<g id="node431" class="node">
+<title>Node422</title>
+<g id="a_node431"><a xlink:href="classtvm_1_1meta__schedule_1_1ApplyHistoryBestNode.html" target="_top" xlink:title="An integration context that allows application of historically best records from a database...">
+<polygon fill="#ffffff" stroke="#000000" points="238.5,-4255 238.5,-4285 371.5,-4285 371.5,-4255 238.5,-4255"/>
+<text text-anchor="start" x="246.5" y="-4273" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4262" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ApplyHistoryBestNode</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node422 -->
+<g id="edge426" class="edge">
+<title>Node0&#45;&gt;Node422</title>
+<path fill="none" stroke="#191970" d="M85.6264,-3456.7923C95.5075,-3574.9757 148.8968,-4184.3838 204,-4245 213.0523,-4254.958 225.3896,-4261.2374 238.3333,-4265.1359"/>
+<polygon fill="#191970" stroke="#191970" points="89.1005,-3456.3348 84.7856,-3446.6585 82.1245,-3456.9137 89.1005,-3456.3348"/>
 </g>
 <!-- Node423 -->
 <g id="node432" class="node">
 <title>Node423</title>
-<g id="a_node432"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder&#39;s input, containing an IRModule and the target. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4157 247,-4187 363,-4187 363,-4157 247,-4157"/>
-<text text-anchor="start" x="255" y="-4175" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4164" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderInputNode</text>
+<g id="a_node432"><a xlink:href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4206 247,-4236 363,-4236 363,-4206 247,-4206"/>
+<text text-anchor="start" x="255" y="-4224" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4213" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ArgInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node423 -->
 <g id="edge427" class="edge">
 <title>Node0&#45;&gt;Node423</title>
+<path fill="none" stroke="#191970" d="M84.2788,-3456.9207C86.2041,-3565.3296 100.7633,-4083.4978 204,-4196 215.053,-4208.045 230.9135,-4214.6982 246.8011,-4218.2664"/>
+<polygon fill="#191970" stroke="#191970" points="87.7755,-3456.6842 84.1149,-3446.7419 80.7764,-3456.7969 87.7755,-3456.6842"/>
+</g>
+<!-- Node425 -->
+<g id="node434" class="node">
+<title>Node425</title>
+<g id="a_node434"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder&#39;s input, containing an IRModule and the target. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4157 247,-4187 363,-4187 363,-4157 247,-4157"/>
+<text text-anchor="start" x="255" y="-4175" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4164" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderInputNode</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node425 -->
+<g id="edge429" class="edge">
+<title>Node0&#45;&gt;Node425</title>
 <path fill="none" stroke="#191970" d="M84.5164,-3456.9352C87.6227,-3561.1534 107.1071,-4042.5307 204,-4147 215.1169,-4158.9861 230.996,-4165.622 246.8811,-4169.1925"/>
 <polygon fill="#191970" stroke="#191970" points="88.0125,-3456.7421 84.2329,-3446.8444 81.0152,-3456.9388 88.0125,-3456.7421"/>
 </g>
-<!-- Node424 -->
-<g id="node433" class="node">
-<title>Node424</title>
-<g id="a_node433"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface. ">
+<!-- Node426 -->
+<g id="node435" class="node">
+<title>Node426</title>
+<g id="a_node435"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-4108 247,-4138 363,-4138 363,-4108 247,-4108"/>
 <text text-anchor="start" x="255" y="-4126" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4115" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node424 -->
-<g id="edge428" class="edge">
-<title>Node0&#45;&gt;Node424</title>
+<!-- Node0&#45;&gt;Node426 -->
+<g id="edge430" class="edge">
+<title>Node0&#45;&gt;Node426</title>
 <path fill="none" stroke="#191970" d="M84.782,-3456.7945C89.1167,-3556.364 113.3873,-4001.4852 204,-4098 215.1895,-4109.9183 231.09,-4116.5344 246.9722,-4120.1075"/>
 <polygon fill="#191970" stroke="#191970" points="88.272,-3456.481 84.358,-3446.6357 81.2781,-3456.773 88.272,-3456.481"/>
 </g>
-<!-- Node426 -->
-<g id="node435" class="node">
-<title>Node426</title>
-<g id="a_node435"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html" target="_top" xlink:title="The builder&#39;s output, containing the artifact path or error message if any. ">
+<!-- Node428 -->
+<g id="node437" class="node">
+<title>Node428</title>
+<g id="a_node437"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html" target="_top" xlink:title="The builder&#39;s output, containing the artifact path or error message if any. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-4059 247,-4089 363,-4089 363,-4059 247,-4059"/>
 <text text-anchor="start" x="255" y="-4077" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4066" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderResultNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node426 -->
-<g id="edge430" class="edge">
-<title>Node0&#45;&gt;Node426</title>
+<!-- Node0&#45;&gt;Node428 -->
+<g id="edge432" class="edge">
+<title>Node0&#45;&gt;Node428</title>
 <path fill="none" stroke="#191970" d="M85.0952,-3456.8197C90.7495,-3551.9158 119.6999,-3960.4623 204,-4049 215.2106,-4060.7741 231.0219,-4067.3595 246.8136,-4070.9491"/>
 <polygon fill="#191970" stroke="#191970" points="88.5886,-3456.6011 84.519,-3446.819 81.6001,-3457.0038 88.5886,-3456.6011"/>
 </g>
-<!-- Node427 -->
-<g id="node436" class="node">
-<title>Node427</title>
-<g id="a_node436"><a xlink:href="classtvm_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model. ">
+<!-- Node429 -->
+<g id="node438" class="node">
+<title>Node429</title>
+<g id="a_node438"><a xlink:href="classtvm_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-4010 247,-4040 363,-4040 363,-4010 247,-4010"/>
 <text text-anchor="start" x="255" y="-4028" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4017" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node427 -->
-<g id="edge431" class="edge">
-<title>Node0&#45;&gt;Node427</title>
+<!-- Node0&#45;&gt;Node429 -->
+<g id="edge433" class="edge">
+<title>Node0&#45;&gt;Node429</title>
 <path fill="none" stroke="#191970" d="M85.469,-3456.9314C92.5436,-3547.5132 126.0152,-3919.4268 204,-4000 215.3066,-4011.6819 231.1465,-4018.2399 246.9347,-4021.8328"/>
 <polygon fill="#191970" stroke="#191970" points="88.9542,-3456.6028 84.7047,-3446.8975 81.9744,-3457.1345 88.9542,-3456.6028"/>
 </g>
-<!-- Node429 -->
-<g id="node438" class="node">
-<title>Node429</title>
-<g id="a_node438"><a xlink:href="classtvm_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title="tvm::meta_schedule\l::DatabaseNode">
+<!-- Node431 -->
+<g id="node440" class="node">
+<title>Node431</title>
+<g id="a_node440"><a xlink:href="classtvm_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title="tvm::meta_schedule\l::DatabaseNode">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3961 247,-3991 363,-3991 363,-3961 247,-3961"/>
 <text text-anchor="start" x="255" y="-3979" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3968" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DatabaseNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node429 -->
-<g id="edge433" class="edge">
-<title>Node0&#45;&gt;Node429</title>
+<!-- Node0&#45;&gt;Node431 -->
+<g id="edge435" class="edge">
+<title>Node0&#45;&gt;Node431</title>
 <path fill="none" stroke="#191970" d="M85.918,-3457.0715C94.5224,-3542.9456 132.3109,-3878.3516 204,-3951 215.3557,-3962.5077 231.1162,-3969.0246 246.8136,-3972.6339"/>
 <polygon fill="#191970" stroke="#191970" points="89.3761,-3456.4716 84.916,-3446.8613 82.4095,-3457.1553 89.3761,-3456.4716"/>
 </g>
-<!-- Node431 -->
-<g id="node440" class="node">
-<title>Node431</title>
-<g id="a_node440"><a xlink:href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high&#45;level IR. ">
+<!-- Node433 -->
+<g id="node442" class="node">
+<title>Node433</title>
+<g id="a_node442"><a xlink:href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high&#45;level IR. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3912 247,-3942 363,-3942 363,-3912 247,-3912"/>
 <text text-anchor="start" x="255" y="-3930" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ExtractedTaskNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node431 -->
-<g id="edge435" class="edge">
-<title>Node0&#45;&gt;Node431</title>
+<!-- Node0&#45;&gt;Node433 -->
+<g id="edge437" class="edge">
+<title>Node0&#45;&gt;Node433</title>
 <path fill="none" stroke="#191970" d="M86.4274,-3456.9271C96.6211,-3537.3933 138.4966,-3837.1423 204,-3902 215.4884,-3913.3752 231.2888,-3919.8523 246.982,-3923.4658"/>
 <polygon fill="#191970" stroke="#191970" points="89.8629,-3456.1912 85.1542,-3446.7002 82.9165,-3457.056 89.8629,-3456.1912"/>
 </g>
-<!-- Node432 -->
-<g id="node441" class="node">
-<title>Node432</title>
-<g id="a_node441"><a xlink:href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html" target="_top" xlink:title="Extractor for features from measure candidates for use in cost model. ">
+<!-- Node434 -->
+<g id="node443" class="node">
+<title>Node434</title>
+<g id="a_node443"><a xlink:href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html" target="_top" xlink:title="Extractor for features from measure candidates for use in cost model. ">
 <polygon fill="#ffffff" stroke="#000000" points="241,-3863 241,-3893 369,-3893 369,-3863 241,-3863"/>
 <text text-anchor="start" x="249" y="-3881" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3870" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FeatureExtractorNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node432 -->
-<g id="edge436" class="edge">
-<title>Node0&#45;&gt;Node432</title>
+<!-- Node0&#45;&gt;Node434 -->
+<g id="edge438" class="edge">
+<title>Node0&#45;&gt;Node434</title>
 <path fill="none" stroke="#191970" d="M87.0392,-3456.7295C98.9369,-3531.4699 144.6325,-3795.8576 204,-3853 214.0864,-3862.7083 227.3222,-3868.8298 240.8762,-3872.6463"/>
 <polygon fill="#191970" stroke="#191970" points="90.4848,-3456.1087 85.4769,-3446.7722 83.5694,-3457.1939 90.4848,-3456.1087"/>
 </g>
-<!-- Node434 -->
-<g id="node443" class="node">
-<title>Node434</title>
-<g id="a_node443"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available. ">
+<!-- Node436 -->
+<g id="node445" class="node">
+<title>Node436</title>
+<g id="a_node445"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available. ">
 <polygon fill="#ffffff" stroke="#000000" points="239.5,-3814 239.5,-3844 370.5,-3844 370.5,-3814 239.5,-3814"/>
 <text text-anchor="start" x="247.5" y="-3832" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3821" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node434 -->
-<g id="edge438" class="edge">
-<title>Node0&#45;&gt;Node434</title>
-<path fill="none" stroke="#191970" d="M87.8113,-3456.5828C101.5778,-3525.3789 150.7372,-3754.5084 204,-3804 213.7924,-3813.0991 226.3629,-3819.0267 239.2871,-3822.856"/>
+<!-- Node0&#45;&gt;Node436 -->
+<g id="edge440" class="edge">
+<title>Node0&#45;&gt;Node436</title>
+<path fill="none" stroke="#191970" d="M87.8113,-3456.5828C101.5778,-3525.3789 150.7372,-3754.5084 204,-3804 213.7924,-3813.0991 226.3629,-3819.0267 239.2871,-3822.856"/>
 <polygon fill="#191970" stroke="#191970" points="91.2192,-3455.774 85.8466,-3446.6425 84.352,-3457.1314 91.2192,-3455.774"/>
 </g>
-<!-- Node436 -->
-<g id="node445" class="node">
-<title>Node436</title>
-<g id="a_node445"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured. ">
+<!-- Node438 -->
+<g id="node447" class="node">
+<title>Node438</title>
+<g id="a_node447"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured. ">
 <polygon fill="#ffffff" stroke="#000000" points="235.5,-3765 235.5,-3795 374.5,-3795 374.5,-3765 235.5,-3765"/>
 <text text-anchor="start" x="243.5" y="-3783" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3772" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCandidateNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node436 -->
-<g id="edge440" class="edge">
-<title>Node0&#45;&gt;Node436</title>
+<!-- Node0&#45;&gt;Node438 -->
+<g id="edge442" class="edge">
+<title>Node0&#45;&gt;Node438</title>
 <path fill="none" stroke="#191970" d="M85.3169,-3456.8379C90.1357,-3512.7815 111.741,-3673.0479 204,-3755 212.9134,-3762.9176 223.9441,-3768.4144 235.4078,-3772.2124"/>
 <polygon fill="#191970" stroke="#191970" points="88.7821,-3456.2508 84.524,-3446.5493 81.8028,-3456.7887 88.7821,-3456.2508"/>
 </g>
-<!-- Node437 -->
-<g id="node446" class="node">
-<title>Node437</title>
-<g id="a_node446"><a xlink:href="classtvm_1_1meta__schedule_1_1MutatorNode.html" target="_top" xlink:title="Mutator is designed to mutate the trace to explore the design space. ">
+<!-- Node439 -->
+<g id="node448" class="node">
+<title>Node439</title>
+<g id="a_node448"><a xlink:href="classtvm_1_1meta__schedule_1_1MutatorNode.html" target="_top" xlink:title="Mutator is designed to mutate the trace to explore the design space. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3716 247,-3746 363,-3746 363,-3716 247,-3716"/>
 <text text-anchor="start" x="255" y="-3734" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3723" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MutatorNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node437 -->
-<g id="edge441" class="edge">
-<title>Node0&#45;&gt;Node437</title>
+<!-- Node0&#45;&gt;Node439 -->
+<g id="edge443" class="edge">
+<title>Node0&#45;&gt;Node439</title>
 <path fill="none" stroke="#191970" d="M86.8153,-3456.7416C95.0124,-3506.656 123.601,-3638.703 204,-3706 216.0511,-3716.0872 231.576,-3722.2056 246.8219,-3725.8877"/>
 <polygon fill="#191970" stroke="#191970" points="90.241,-3455.9908 85.2562,-3446.6419 83.3229,-3457.0588 90.241,-3455.9908"/>
 </g>
-<!-- Node439 -->
-<g id="node448" class="node">
-<title>Node439</title>
-<g id="a_node448"><a xlink:href="classtvm_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule. ">
+<!-- Node441 -->
+<g id="node450" class="node">
+<title>Node441</title>
+<g id="a_node450"><a xlink:href="classtvm_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3667 247,-3697 363,-3697 363,-3667 247,-3667"/>
 <text text-anchor="start" x="255" y="-3685" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3674" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PostprocNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node439 -->
-<g id="edge443" class="edge">
-<title>Node0&#45;&gt;Node439</title>
+<!-- Node0&#45;&gt;Node441 -->
+<g id="edge445" class="edge">
+<title>Node0&#45;&gt;Node441</title>
 <path fill="none" stroke="#191970" d="M88.8907,-3456.5914C100.7454,-3499.8644 135.2326,-3603.9537 204,-3657 216.3006,-3666.4885 231.7349,-3672.4232 246.8094,-3676.1211"/>
 <polygon fill="#191970" stroke="#191970" points="92.2302,-3455.528 86.3018,-3446.7471 85.4604,-3457.3085 92.2302,-3455.528"/>
 </g>
-<!-- Node441 -->
-<g id="node450" class="node">
-<title>Node441</title>
-<g id="a_node450"><a xlink:href="classtvm_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler. ">
+<!-- Node443 -->
+<g id="node452" class="node">
+<title>Node443</title>
+<g id="a_node452"><a xlink:href="classtvm_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3618 247,-3648 363,-3648 363,-3618 247,-3618"/>
 <text text-anchor="start" x="255" y="-3636" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3625" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProfilerNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node441 -->
-<g id="edge445" class="edge">
-<title>Node0&#45;&gt;Node441</title>
+<!-- Node0&#45;&gt;Node443 -->
+<g id="edge447" class="edge">
+<title>Node0&#45;&gt;Node443</title>
 <path fill="none" stroke="#191970" d="M91.7461,-3455.8082C107.3946,-3491.3705 146.2731,-3568.4416 204,-3608 216.6658,-3616.6795 232.0554,-3622.3513 246.9637,-3626.056"/>
 <polygon fill="#191970" stroke="#191970" points="94.9444,-3454.3855 87.7953,-3446.5662 88.5078,-3457.1371 94.9444,-3454.3855"/>
 </g>
-<!-- Node442 -->
-<g id="node451" class="node">
-<title>Node442</title>
-<g id="a_node451"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner&#39;s output. ">
+<!-- Node444 -->
+<g id="node453" class="node">
+<title>Node444</title>
+<g id="a_node453"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner&#39;s output. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3569 247,-3599 363,-3599 363,-3569 247,-3569"/>
 <text text-anchor="start" x="255" y="-3587" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3576" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerFutureNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node442 -->
-<g id="edge446" class="edge">
-<title>Node0&#45;&gt;Node442</title>
+<!-- Node0&#45;&gt;Node444 -->
+<g id="edge448" class="edge">
+<title>Node0&#45;&gt;Node444</title>
 <path fill="none" stroke="#191970" d="M96.6423,-3455.1576C116.3758,-3482.0819 157.1326,-3532.2802 204,-3559 217.025,-3566.4257 232.221,-3571.6643 246.811,-3575.3533"/>
 <polygon fill="#191970" stroke="#191970" points="99.2356,-3452.7679 90.5636,-3446.6814 93.5472,-3456.8474 99.2356,-3452.7679"/>
 </g>
-<!-- Node443 -->
-<g id="node452" class="node">
-<title>Node443</title>
-<g id="a_node452"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html" target="_top" xlink:title="Runner&#39;s input containing path of artifact, type of device and argument info. ">
+<!-- Node445 -->
+<g id="node454" class="node">
+<title>Node445</title>
+<g id="a_node454"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html" target="_top" xlink:title="Runner&#39;s input containing path of artifact, type of device and argument info. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3520 247,-3550 363,-3550 363,-3520 247,-3520"/>
 <text text-anchor="start" x="255" y="-3538" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3527" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerInputNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node443 -->
-<g id="edge447" class="edge">
-<title>Node0&#45;&gt;Node443</title>
+<!-- Node0&#45;&gt;Node445 -->
+<g id="edge449" class="edge">
+<title>Node0&#45;&gt;Node445</title>
 <path fill="none" stroke="#191970" d="M105.3395,-3452.7558C128.5386,-3469.203 167.2341,-3494.6897 204,-3510 217.5074,-3515.6248 232.5785,-3520.193 246.8716,-3523.8101"/>
 <polygon fill="#191970" stroke="#191970" points="107.1226,-3449.727 96.9608,-3446.7288 103.035,-3455.4096 107.1226,-3449.727"/>
 </g>
-<!-- Node444 -->
-<g id="node453" class="node">
-<title>Node444</title>
-<g id="a_node453"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface. ">
+<!-- Node446 -->
+<g id="node455" class="node">
+<title>Node446</title>
+<g id="a_node455"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3471 247,-3501 363,-3501 363,-3471 247,-3471"/>
 <text text-anchor="start" x="255" y="-3489" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3478" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node444 -->
-<g id="edge448" class="edge">
-<title>Node0&#45;&gt;Node444</title>
+<!-- Node0&#45;&gt;Node446 -->
+<g id="edge450" class="edge">
+<title>Node0&#45;&gt;Node446</title>
 <path fill="none" stroke="#191970" d="M136.8245,-3448.7122C169.949,-3456.0566 212.6813,-3465.5311 246.7813,-3473.0918"/>
 <polygon fill="#191970" stroke="#191970" points="137.3936,-3445.2535 126.8731,-3446.5058 135.8783,-3452.0875 137.3936,-3445.2535"/>
 </g>
-<!-- Node446 -->
-<g id="node455" class="node">
-<title>Node446</title>
-<g id="a_node455"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html" target="_top" xlink:title="Runner&#39;s output containing measurement result of MeasureCandidate or error msg if any...">
+<!-- Node448 -->
+<g id="node457" class="node">
+<title>Node448</title>
+<g id="a_node457"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html" target="_top" xlink:title="Runner&#39;s output containing measurement result of MeasureCandidate or error msg if any...">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3422 247,-3452 363,-3452 363,-3422 247,-3422"/>
 <text text-anchor="start" x="255" y="-3440" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3429" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerResultNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node446 -->
-<g id="edge450" class="edge">
-<title>Node0&#45;&gt;Node446</title>
+<!-- Node0&#45;&gt;Node448 -->
+<g id="edge452" class="edge">
+<title>Node0&#45;&gt;Node448</title>
 <path fill="none" stroke="#191970" d="M153.6079,-3437C183.5653,-3437 218.191,-3437 246.761,-3437"/>
 <polygon fill="#191970" stroke="#191970" points="153.224,-3433.5001 143.2239,-3437 153.2239,-3440.5001 153.224,-3433.5001"/>
 </g>
-<!-- Node447 -->
-<g id="node456" class="node">
-<title>Node447</title>
-<g id="a_node456"><a xlink:href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule. ">
+<!-- Node449 -->
+<g id="node458" class="node">
+<title>Node449</title>
+<g id="a_node458"><a xlink:href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3373 247,-3403 363,-3403 363,-3373 247,-3373"/>
 <text text-anchor="start" x="255" y="-3391" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3380" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ScheduleRuleNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node447 -->
-<g id="edge451" class="edge">
-<title>Node0&#45;&gt;Node447</title>
+<!-- Node0&#45;&gt;Node449 -->
+<g id="edge453" class="edge">
+<title>Node0&#45;&gt;Node449</title>
 <path fill="none" stroke="#191970" d="M136.8245,-3425.2878C169.949,-3417.9434 212.6813,-3408.4689 246.7813,-3400.9082"/>
 <polygon fill="#191970" stroke="#191970" points="135.8783,-3421.9125 126.8731,-3427.4942 137.3936,-3428.7465 135.8783,-3421.9125"/>
 </g>
-<!-- Node449 -->
-<g id="node458" class="node">
-<title>Node449</title>
-<g id="a_node458"><a xlink:href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation. ">
+<!-- Node451 -->
+<g id="node460" class="node">
+<title>Node451</title>
+<g id="a_node460"><a xlink:href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation. ">
 <polygon fill="#ffffff" stroke="#000000" points="244,-3324 244,-3354 366,-3354 366,-3324 244,-3324"/>
 <text text-anchor="start" x="252" y="-3342" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3331" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchStrategyNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node449 -->
-<g id="edge453" class="edge">
-<title>Node0&#45;&gt;Node449</title>
+<!-- Node0&#45;&gt;Node451 -->
+<g id="edge455" class="edge">
+<title>Node0&#45;&gt;Node451</title>
 <path fill="none" stroke="#191970" d="M104.9018,-3421.2151C128.0034,-3404.4815 166.8725,-3378.3892 204,-3363 216.5703,-3357.7897 230.5109,-3353.5651 243.9203,-3350.1981"/>
 <polygon fill="#191970" stroke="#191970" points="102.5592,-3418.5933 96.5765,-3427.3373 106.7063,-3424.2327 102.5592,-3418.5933"/>
 </g>
-<!-- Node451 -->
-<g id="node460" class="node">
-<title>Node451</title>
-<g id="a_node460"><a xlink:href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation. ">
+<!-- Node453 -->
+<g id="node462" class="node">
+<title>Node453</title>
+<g id="a_node462"><a xlink:href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation. ">
 <polygon fill="#ffffff" stroke="#000000" points="242,-3275 242,-3305 368,-3305 368,-3275 242,-3275"/>
 <text text-anchor="start" x="250" y="-3293" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3282" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SpaceGeneratorNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node451 -->
-<g id="edge455" class="edge">
-<title>Node0&#45;&gt;Node451</title>
+<!-- Node0&#45;&gt;Node453 -->
+<g id="edge457" class="edge">
+<title>Node0&#45;&gt;Node453</title>
 <path fill="none" stroke="#191970" d="M96.3187,-3418.9901C115.8662,-3391.8573 156.6605,-3340.8239 204,-3314 215.5253,-3307.4695 228.7581,-3302.7105 241.768,-3299.2442"/>
 <polygon fill="#191970" stroke="#191970" points="93.4278,-3417.0164 90.5253,-3427.206 99.1486,-3421.0505 93.4278,-3417.0164"/>
 </g>
-<!-- Node453 -->
-<g id="node462" class="node">
-<title>Node453</title>
-<g id="a_node462"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers. ">
+<!-- Node455 -->
+<g id="node464" class="node">
+<title>Node455</title>
+<g id="a_node464"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers. ">
 <polygon fill="#ffffff" stroke="#000000" points="246,-3226 246,-3256 364,-3256 364,-3226 246,-3226"/>
 <text text-anchor="start" x="254" y="-3244" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3233" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TaskSchedulerNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node453 -->
-<g id="edge457" class="edge">
-<title>Node0&#45;&gt;Node453</title>
+<!-- Node0&#45;&gt;Node455 -->
+<g id="edge459" class="edge">
+<title>Node0&#45;&gt;Node455</title>
 <path fill="none" stroke="#191970" d="M91.6811,-3418.0331C107.2186,-3382.1796 145.9157,-3304.5218 204,-3265 216.3676,-3256.5848 231.3325,-3251.1035 245.9105,-3247.5382"/>
 <polygon fill="#191970" stroke="#191970" points="88.4124,-3416.777 87.7605,-3427.3517 94.8646,-3419.4916 88.4124,-3416.777"/>
 </g>
-<!-- Node455 -->
-<g id="node464" class="node">
-<title>Node455</title>
-<g id="a_node464"><a xlink:href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context. ">
+<!-- Node457 -->
+<g id="node466" class="node">
+<title>Node457</title>
+<g id="a_node466"><a xlink:href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3177 247,-3207 363,-3207 363,-3177 247,-3177"/>
 <text text-anchor="start" x="255" y="-3195" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3184" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuneContextNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node455 -->
-<g id="edge459" class="edge">
-<title>Node0&#45;&gt;Node455</title>
+<!-- Node0&#45;&gt;Node457 -->
+<g id="edge461" class="edge">
+<title>Node0&#45;&gt;Node457</title>
 <path fill="none" stroke="#191970" d="M88.8269,-3417.2741C100.5521,-3373.7122 134.7939,-3268.9749 204,-3216 216.3078,-3206.5788 231.7446,-3200.7789 246.8191,-3197.2306"/>
 <polygon fill="#191970" stroke="#191970" points="85.3791,-3416.6275 86.2686,-3427.185 92.157,-3418.3772 85.3791,-3416.6275"/>
 </g>
-<!-- Node456 -->
-<g id="node465" class="node">
-<title>Node456</title>
-<g id="a_node465"><a xlink:href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records. ">
+<!-- Node458 -->
+<g id="node467" class="node">
+<title>Node458</title>
+<g id="a_node467"><a xlink:href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3128 247,-3158 363,-3158 363,-3128 247,-3128"/>
 <text text-anchor="start" x="255" y="-3146" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3135" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningRecordNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node456 -->
-<g id="edge460" class="edge">
-<title>Node0&#45;&gt;Node456</title>
+<!-- Node0&#45;&gt;Node458 -->
+<g id="edge462" class="edge">
+<title>Node0&#45;&gt;Node458</title>
 <path fill="none" stroke="#191970" d="M86.7538,-3417.1418C94.8062,-3366.9403 123.0832,-3234.1837 204,-3167 216.0638,-3156.9837 231.5928,-3151.0035 246.8386,-3147.4729"/>
 <polygon fill="#191970" stroke="#191970" points="83.2522,-3416.8908 85.2249,-3427.3003 90.1742,-3417.9326 83.2522,-3416.8908"/>
 </g>
-<!-- Node457 -->
-<g id="node466" class="node">
-<title>Node457</title>
-<g id="a_node466"><a xlink:href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash. ">
+<!-- Node459 -->
+<g id="node468" class="node">
+<title>Node459</title>
+<g id="a_node468"><a xlink:href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3079 247,-3109 363,-3109 363,-3079 247,-3079"/>
 <text text-anchor="start" x="255" y="-3097" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3086" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::WorkloadNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node457 -->
-<g id="edge461" class="edge">
-<title>Node0&#45;&gt;Node457</title>
+<!-- Node0&#45;&gt;Node459 -->
+<g id="edge463" class="edge">
+<title>Node0&#45;&gt;Node459</title>
 <path fill="none" stroke="#191970" d="M85.228,-3417.4093C89.8294,-3361.5014 110.9519,-3199.9635 204,-3118 215.9013,-3107.5164 231.5551,-3101.4044 246.9751,-3097.8972"/>
 <polygon fill="#191970" stroke="#191970" points="81.7362,-3417.1701 84.4941,-3427.3997 88.7174,-3417.683 81.7362,-3417.1701"/>
 </g>
-<!-- Node458 -->
-<g id="node467" class="node">
-<title>Node458</title>
-<g id="a_node467"><a xlink:href="classtvm_1_1ObjectPathNode.html" target="_top" xlink:title="Path to an object from some root object. ">
+<!-- Node460 -->
+<g id="node469" class="node">
+<title>Node460</title>
+<g id="a_node469"><a xlink:href="classtvm_1_1ObjectPathNode.html" target="_top" xlink:title="Path to an object from some root object. ">
 <polygon fill="#ffffff" stroke="#000000" points="245,-3040.5 245,-3059.5 365,-3059.5 365,-3040.5 245,-3040.5"/>
 <text text-anchor="middle" x="305" y="-3047.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ObjectPathNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node458 -->
-<g id="edge462" class="edge">
-<title>Node0&#45;&gt;Node458</title>
+<!-- Node0&#45;&gt;Node460 -->
+<g id="edge464" class="edge">
+<title>Node0&#45;&gt;Node460</title>
 <path fill="none" stroke="#191970" d="M87.7066,-3417.2573C101.1208,-3347.9148 149.2404,-3117.1019 204,-3069 215.3272,-3059.05 230.1808,-3053.5984 244.9987,-3050.7598"/>
 <polygon fill="#191970" stroke="#191970" points="84.2311,-3416.7986 85.7938,-3427.2775 91.1069,-3418.1112 84.2311,-3416.7986"/>
 </g>
-<!-- Node466 -->
-<g id="node475" class="node">
-<title>Node466</title>
-<g id="a_node475"><a xlink:href="classtvm_1_1ObjectPathPairNode.html" target="_top" xlink:title="Pair of ObjectPaths, one for each object being tested for structural equality. ">
+<!-- Node468 -->
+<g id="node477" class="node">
+<title>Node468</title>
+<g id="a_node477"><a xlink:href="classtvm_1_1ObjectPathPairNode.html" target="_top" xlink:title="Pair of ObjectPaths, one for each object being tested for structural equality. ">
 <polygon fill="#ffffff" stroke="#000000" points="236,-3002.5 236,-3021.5 374,-3021.5 374,-3002.5 236,-3002.5"/>
 <text text-anchor="middle" x="305" y="-3009.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ObjectPathPairNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node466 -->
-<g id="edge470" class="edge">
-<title>Node0&#45;&gt;Node466</title>
+<!-- Node0&#45;&gt;Node468 -->
+<g id="edge472" class="edge">
+<title>Node0&#45;&gt;Node468</title>
 <path fill="none" stroke="#191970" d="M87.0863,-3417.182C99.0023,-3343.2326 144.3338,-3084.9012 204,-3031 212.9369,-3022.9266 224.1827,-3017.7898 235.8987,-3014.6021"/>
 <polygon fill="#191970" stroke="#191970" points="83.5742,-3416.9828 85.4637,-3427.4078 90.4877,-3418.0799 83.5742,-3416.9828"/>
 </g>
-<!-- Node467 -->
-<g id="node476" class="node">
-<title>Node467</title>
-<g id="a_node476"><a xlink:href="classtvm_1_1parser_1_1SourceMapNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node. ">
+<!-- Node469 -->
+<g id="node478" class="node">
+<title>Node469</title>
+<g id="a_node478"><a xlink:href="classtvm_1_1parser_1_1SourceMapNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node. ">
 <polygon fill="#ffffff" stroke="#000000" points="226,-2964.5 226,-2983.5 384,-2983.5 384,-2964.5 226,-2964.5"/>
 <text text-anchor="middle" x="305" y="-2971.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::parser::SourceMapNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node467 -->
-<g id="edge471" class="edge">
-<title>Node0&#45;&gt;Node467</title>
+<!-- Node0&#45;&gt;Node469 -->
+<g id="edge473" class="edge">
+<title>Node0&#45;&gt;Node469</title>
 <path fill="none" stroke="#191970" d="M86.5332,-3417.3598C96.9921,-3339.3609 139.3271,-3052.8143 204,-2993 210.2874,-2987.1849 217.7679,-2982.8825 225.7729,-2979.73"/>
 <polygon fill="#191970" stroke="#191970" points="83.0595,-3416.9312 85.2225,-3427.3028 89.9994,-3417.846 83.0595,-3416.9312"/>
 </g>
-<!-- Node468 -->
-<g id="node477" class="node">
-<title>Node468</title>
-<g id="a_node477"><a xlink:href="classtvm_1_1parser_1_1SourceNode.html" target="_top" xlink:title="tvm::parser::SourceNode">
+<!-- Node470 -->
+<g id="node479" class="node">
+<title>Node470</title>
+<g id="a_node479"><a xlink:href="classtvm_1_1parser_1_1SourceNode.html" target="_top" xlink:title="tvm::parser::SourceNode">
 <polygon fill="#ffffff" stroke="#000000" points="236.5,-2926.5 236.5,-2945.5 373.5,-2945.5 373.5,-2926.5 236.5,-2926.5"/>
 <text text-anchor="middle" x="305" y="-2933.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::parser::SourceNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node468 -->
-<g id="edge472" class="edge">
-<title>Node0&#45;&gt;Node468</title>
+<!-- Node0&#45;&gt;Node470 -->
+<g id="edge474" class="edge">
+<title>Node0&#45;&gt;Node470</title>
 <path fill="none" stroke="#191970" d="M86.0968,-3417.2903C95.2457,-3335.0778 134.3618,-3020.7083 204,-2955 212.9543,-2946.551 224.4191,-2941.2763 236.3904,-2938.0784"/>
 <polygon fill="#191970" stroke="#191970" points="82.61,-3416.9793 85.0047,-3427.3 89.5688,-3417.7386 82.61,-3416.9793"/>
 </g>
-<!-- Node469 -->
-<g id="node478" class="node">
-<title>Node469</title>
-<g id="a_node478"><a xlink:href="structtvm_1_1PoolInfoNode.html" target="_top" xlink:title="Describes a pool of memory accessible by one or more targets. ">
+<!-- Node471 -->
+<g id="node480" class="node">
+<title>Node471</title>
+<g id="a_node480"><a xlink:href="structtvm_1_1PoolInfoNode.html" target="_top" xlink:title="Describes a pool of memory accessible by one or more targets. ">
 <polygon fill="#ffffff" stroke="#000000" points="251.5,-2888.5 251.5,-2907.5 358.5,-2907.5 358.5,-2888.5 251.5,-2888.5"/>
 <text text-anchor="middle" x="305" y="-2895.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node469 -->
-<g id="edge473" class="edge">
-<title>Node0&#45;&gt;Node469</title>
+<!-- Node0&#45;&gt;Node471 -->
+<g id="edge475" class="edge">
+<title>Node0&#45;&gt;Node471</title>
 <path fill="none" stroke="#191970" d="M85.7032,-3417.4138C93.5806,-3331.4531 129.3194,-2988.6903 204,-2917 216.614,-2904.891 234.3715,-2899.2686 251.486,-2896.941"/>
 <polygon fill="#191970" stroke="#191970" points="82.2156,-3417.1191 84.8096,-3427.3914 89.1877,-3417.7435 82.2156,-3417.1191"/>
 </g>
-<!-- Node472 -->
-<g id="node481" class="node">
-<title>Node472</title>
-<g id="a_node481"><a xlink:href="structtvm_1_1PoolInfoPropertiesNode.html" target="_top" xlink:title="Describes a pool of memory properties. ">
+<!-- Node474 -->
+<g id="node483" class="node">
+<title>Node474</title>
+<g id="a_node483"><a xlink:href="structtvm_1_1PoolInfoPropertiesNode.html" target="_top" xlink:title="Describes a pool of memory properties. ">
 <polygon fill="#ffffff" stroke="#000000" points="226.5,-2850.5 226.5,-2869.5 383.5,-2869.5 383.5,-2850.5 226.5,-2850.5"/>
 <text text-anchor="middle" x="305" y="-2857.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoPropertiesNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node472 -->
-<g id="edge476" class="edge">
-<title>Node0&#45;&gt;Node472</title>
+<!-- Node0&#45;&gt;Node474 -->
+<g id="edge478" class="edge">
+<title>Node0&#45;&gt;Node474</title>
 <path fill="none" stroke="#191970" d="M85.3939,-3417.1421C92.1382,-3326.909 124.3732,-2956.5922 204,-2879 210.3893,-2872.774 218.1356,-2868.2552 226.4652,-2865.0142"/>
 <polygon fill="#191970" stroke="#191970" points="81.9016,-3416.9104 84.6667,-3427.138 88.8832,-3417.4184 81.9016,-3416.9104"/>
 </g>
-<!-- Node473 -->
-<g id="node482" class="node">
-<title>Node473</title>
-<g id="a_node482"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension ">
+<!-- Node475 -->
+<g id="node484" class="node">
+<title>Node475</title>
+<g id="a_node484"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension ">
 <polygon fill="#ffffff" stroke="#000000" points="256,-2812.5 256,-2831.5 354,-2831.5 354,-2812.5 256,-2812.5"/>
 <text text-anchor="middle" x="305" y="-2819.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::RangeNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node473 -->
-<g id="edge477" class="edge">
-<title>Node0&#45;&gt;Node473</title>
+<!-- Node0&#45;&gt;Node475 -->
+<g id="edge479" class="edge">
+<title>Node0&#45;&gt;Node475</title>
 <path fill="none" stroke="#191970" d="M85.0912,-3417.3098C90.6887,-3323.6888 119.2815,-2924.646 204,-2841 217.5853,-2827.5867 237.4586,-2822.0668 255.9902,-2820.1852"/>
 <polygon fill="#191970" stroke="#191970" points="81.5918,-3417.1999 84.5084,-3427.3853 88.5801,-3417.6042 81.5918,-3417.1999"/>
 </g>
-<!-- Node474 -->
-<g id="node483" class="node">
-<title>Node474</title>
-<g id="a_node483"><a xlink:href="classtvm_1_1relay_1_1ClauseNode.html" target="_top" xlink:title="Clause container node. ">
+<!-- Node476 -->
+<g id="node485" class="node">
+<title>Node476</title>
+<g id="a_node485"><a xlink:href="classtvm_1_1relay_1_1ClauseNode.html" target="_top" xlink:title="Clause container node. ">
 <polygon fill="#ffffff" stroke="#000000" points="239.5,-2774.5 239.5,-2793.5 370.5,-2793.5 370.5,-2774.5 239.5,-2774.5"/>
 <text text-anchor="middle" x="305" y="-2781.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ClauseNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node474 -->
-<g id="edge478" class="edge">
-<title>Node0&#45;&gt;Node474</title>
+<!-- Node0&#45;&gt;Node476 -->
+<g id="edge480" class="edge">
+<title>Node0&#45;&gt;Node476</title>
 <path fill="none" stroke="#191970" d="M84.8495,-3416.9979C89.42,-3319.2137 114.3205,-2892.5795 204,-2803 213.5307,-2793.4799 226.2246,-2787.9226 239.387,-2784.8187"/>
 <polygon fill="#191970" stroke="#191970" points="81.3415,-3417.1011 84.3899,-3427.2479 88.3344,-3417.4147 81.3415,-3417.1011"/>
 </g>
-<!-- Node475 -->
-<g id="node484" class="node">
-<title>Node475</title>
-<g id="a_node484"><a xlink:href="structtvm_1_1relay_1_1ConstructorValueObj.html" target="_top" xlink:title="tvm::relay::ConstructorValueObj">
+<!-- Node477 -->
+<g id="node486" class="node">
+<title>Node477</title>
+<g id="a_node486"><a xlink:href="structtvm_1_1relay_1_1ConstructorValueObj.html" target="_top" xlink:title="tvm::relay::ConstructorValueObj">
 <polygon fill="#ffffff" stroke="#000000" points="219,-2736.5 219,-2755.5 391,-2755.5 391,-2736.5 219,-2736.5"/>
 <text text-anchor="middle" x="305" y="-2743.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ConstructorValueObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node475 -->
-<g id="edge479" class="edge">
-<title>Node0&#45;&gt;Node475</title>
+<!-- Node0&#45;&gt;Node477 -->
+<g id="edge481" class="edge">
+<title>Node0&#45;&gt;Node477</title>
 <path fill="none" stroke="#191970" d="M84.6148,-3417.0862C88.1531,-3315.9922 109.2254,-2860.6541 204,-2765 208.3953,-2760.5639 213.4767,-2756.9857 218.9743,-2754.1136"/>
 <polygon fill="#191970" stroke="#191970" points="81.1143,-3417.0445 84.2806,-3427.1552 88.1105,-3417.2768 81.1143,-3417.0445"/>
 </g>
-<!-- Node476 -->
-<g id="node485" class="node">
-<title>Node476</title>
-<g id="a_node485"><a xlink:href="classtvm_1_1relay_1_1DFPatternCallbackNode.html" target="_top" xlink:title="Base type of all dataflow pattern callbacks. ">
+<!-- Node478 -->
+<g id="node487" class="node">
+<title>Node478</title>
+<g id="a_node487"><a xlink:href="classtvm_1_1relay_1_1DFPatternCallbackNode.html" target="_top" xlink:title="Base type of all dataflow pattern callbacks. ">
 <polygon fill="#ffffff" stroke="#000000" points="211.5,-2698.5 211.5,-2717.5 398.5,-2717.5 398.5,-2698.5 211.5,-2698.5"/>
 <text text-anchor="middle" x="305" y="-2705.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternCallbackNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node476 -->
-<g id="edge480" class="edge">
-<title>Node0&#45;&gt;Node476</title>
+<!-- Node0&#45;&gt;Node478 -->
+<g id="edge482" class="edge">
+<title>Node0&#45;&gt;Node478</title>
 <path fill="none" stroke="#191970" d="M84.4112,-3416.9644C86.9823,-3312.2356 104.1846,-2828.6807 204,-2727 207.6247,-2723.3075 211.7243,-2720.2078 216.1447,-2717.6139"/>
 <polygon fill="#191970" stroke="#191970" points="80.9089,-3417.0281 84.1801,-3427.1052 87.9071,-3417.1876 80.9089,-3417.0281"/>
 </g>
-<!-- Node477 -->
-<g id="node486" class="node">
-<title>Node477</title>
-<g id="a_node486"><a xlink:href="classtvm_1_1relay_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns. ">
+<!-- Node479 -->
+<g id="node488" class="node">
+<title>Node479</title>
+<g id="a_node488"><a xlink:href="classtvm_1_1relay_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns. ">
 <polygon fill="#ffffff" stroke="#000000" points="232.5,-2660.5 232.5,-2679.5 377.5,-2679.5 377.5,-2660.5 232.5,-2660.5"/>
 <text text-anchor="middle" x="305" y="-2667.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node477 -->
-<g id="edge481" class="edge">
-<title>Node0&#45;&gt;Node477</title>
+<!-- Node0&#45;&gt;Node479 -->
+<g id="edge483" class="edge">
+<title>Node0&#45;&gt;Node479</title>
 <path fill="none" stroke="#191970" d="M84.2194,-3417.2669C85.8303,-3309.8935 98.9972,-2796.8632 204,-2689 211.7786,-2681.0095 221.7791,-2675.7881 232.453,-2672.46"/>
 <polygon fill="#191970" stroke="#191970" points="80.7187,-3417.3035 84.0855,-3427.3491 87.7181,-3417.3966 80.7187,-3417.3035"/>
 </g>
-<!-- Node494 -->
-<g id="node503" class="node">
-<title>Node494</title>
-<g id="a_node503"><a xlink:href="classtvm_1_1relay_1_1ExecutorNode.html" target="_top" xlink:title="Executor information. ">
+<!-- Node496 -->
+<g id="node505" class="node">
+<title>Node496</title>
+<g id="a_node505"><a xlink:href="classtvm_1_1relay_1_1ExecutorNode.html" target="_top" xlink:title="Executor information. ">
 <polygon fill="#ffffff" stroke="#000000" points="235,-2622.5 235,-2641.5 375,-2641.5 375,-2622.5 235,-2622.5"/>
 <text text-anchor="middle" x="305" y="-2629.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ExecutorNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node494 -->
-<g id="edge498" class="edge">
-<title>Node0&#45;&gt;Node494</title>
+<!-- Node0&#45;&gt;Node496 -->
+<g id="edge500" class="edge">
+<title>Node0&#45;&gt;Node496</title>
 <path fill="none" stroke="#191970" d="M85.6489,-3417.3368C95.5603,-3301.2216 148.6547,-2708.2852 204,-2651 212.3682,-2642.3385 223.3452,-2636.9237 234.9736,-2633.6456"/>
 <polygon fill="#191970" stroke="#191970" points="82.1604,-3417.0533 84.8039,-3427.313 89.1355,-3417.6441 82.1604,-3417.0533"/>
 </g>
-<!-- Node495 -->
-<g id="node504" class="node">
-<title>Node495</title>
-<g id="a_node504"><a xlink:href="classtvm_1_1relay_1_1IdNode.html" target="_top" xlink:title="The unique identifier of variables. ">
+<!-- Node497 -->
+<g id="node506" class="node">
+<title>Node497</title>
+<g id="a_node506"><a xlink:href="classtvm_1_1relay_1_1IdNode.html" target="_top" xlink:title="The unique identifier of variables. ">
 <polygon fill="#ffffff" stroke="#000000" points="251.5,-2584.5 251.5,-2603.5 358.5,-2603.5 358.5,-2584.5 251.5,-2584.5"/>
 <text text-anchor="middle" x="305" y="-2591.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::IdNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node495 -->
-<g id="edge499" class="edge">
-<title>Node0&#45;&gt;Node495</title>
+<!-- Node0&#45;&gt;Node497 -->
+<g id="edge501" class="edge">
+<title>Node0&#45;&gt;Node497</title>
 <path fill="none" stroke="#191970" d="M85.5197,-3417.149C94.8718,-3297.2927 146.1244,-2673.3185 204,-2613 216.2295,-2600.2543 234.1049,-2594.5252 251.4306,-2592.2918"/>
 <polygon fill="#191970" stroke="#191970" points="82.008,-3417.1659 84.7261,-3427.4061 88.9871,-3417.706 82.008,-3417.1659"/>
 </g>
-<!-- Node496 -->
-<g id="node505" class="node">
-<title>Node496</title>
-<g id="a_node505"><a xlink:href="classtvm_1_1relay_1_1OpImplementationNode.html" target="_top" xlink:title="Operator implementation that includes compute and schedule function. ">
+<!-- Node498 -->
+<g id="node507" class="node">
+<title>Node498</title>
+<g id="a_node507"><a xlink:href="classtvm_1_1relay_1_1OpImplementationNode.html" target="_top" xlink:title="Operator implementation that includes compute and schedule function. ">
 <polygon fill="#ffffff" stroke="#000000" points="210.5,-2546.5 210.5,-2565.5 399.5,-2565.5 399.5,-2546.5 210.5,-2546.5"/>
 <text text-anchor="middle" x="305" y="-2553.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpImplementationNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node496 -->
-<g id="edge500" class="edge">
-<title>Node0&#45;&gt;Node496</title>
+<!-- Node0&#45;&gt;Node498 -->
+<g id="edge502" class="edge">
+<title>Node0&#45;&gt;Node498</title>
 <path fill="none" stroke="#191970" d="M85.3975,-3417.0039C94.2028,-3293.562 143.5843,-2638.3637 204,-2575 207.4475,-2571.3843 211.3491,-2568.3322 215.5642,-2565.7638"/>
 <polygon fill="#191970" stroke="#191970" points="81.887,-3417.0302 84.673,-3427.2522 88.8695,-3417.5239 81.887,-3417.0302"/>
 </g>
-<!-- Node497 -->
-<g id="node506" class="node">
-<title>Node497</title>
-<g id="a_node506"><a xlink:href="classtvm_1_1relay_1_1OpSpecializationNode.html" target="_top" xlink:title="Specialized implementations for operators under certain conditions. ">
+<!-- Node499 -->
+<g id="node508" class="node">
+<title>Node499</title>
+<g id="a_node508"><a xlink:href="classtvm_1_1relay_1_1OpSpecializationNode.html" target="_top" xlink:title="Specialized implementations for operators under certain conditions. ">
 <polygon fill="#ffffff" stroke="#000000" points="215.5,-2470.5 215.5,-2489.5 394.5,-2489.5 394.5,-2470.5 215.5,-2470.5"/>
 <text text-anchor="middle" x="305" y="-2477.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpSpecializationNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node497 -->
-<g id="edge501" class="edge">
-<title>Node0&#45;&gt;Node497</title>
+<!-- Node0&#45;&gt;Node499 -->
+<g id="edge503" class="edge">
+<title>Node0&#45;&gt;Node499</title>
 <path fill="none" stroke="#191970" d="M85.1462,-3417.2792C92.8172,-3288.3336 138.4008,-2568.5679 204,-2499 207.4274,-2495.3653 211.3133,-2492.2983 215.5164,-2489.7185"/>
 <polygon fill="#191970" stroke="#191970" points="81.6497,-3417.1172 84.5557,-3427.3057 88.6376,-3417.5288 81.6497,-3417.1172"/>
 </g>
-<!-- Node498 -->
-<g id="node507" class="node">
-<title>Node498</title>
-<g id="a_node507"><a xlink:href="classtvm_1_1relay_1_1OpStrategyNode.html" target="_top" xlink:title="Operator strategy to choose implementation. ">
+<!-- Node500 -->
+<g id="node509" class="node">
+<title>Node500</title>
+<g id="a_node509"><a xlink:href="classtvm_1_1relay_1_1OpStrategyNode.html" target="_top" xlink:title="Operator strategy to choose implementation. ">
 <polygon fill="#ffffff" stroke="#000000" points="229,-2382.5 229,-2401.5 381,-2401.5 381,-2382.5 229,-2382.5"/>
 <text text-anchor="middle" x="305" y="-2389.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpStrategyNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node498 -->
-<g id="edge502" class="edge">
-<title>Node0&#45;&gt;Node498</title>
+<!-- Node0&#45;&gt;Node500 -->
+<g id="edge504" class="edge">
+<title>Node0&#45;&gt;Node500</title>
 <path fill="none" stroke="#191970" d="M84.9266,-3417.1515C91.4629,-3280.9574 132.4586,-2487.6958 204,-2411 210.8154,-2403.6936 219.4821,-2398.6745 228.8639,-2395.2917"/>
 <polygon fill="#191970" stroke="#191970" points="81.4206,-3417.1968 84.443,-3427.3514 88.4127,-3417.5284 81.4206,-3417.1968"/>
 </g>
-<!-- Node499 -->
-<g id="node508" class="node">
-<title>Node499</title>
-<g id="a_node508"><a xlink:href="classtvm_1_1relay_1_1RecClosureObj.html" target="_top" xlink:title="The container type of RecClosure. ">
+<!-- Node501 -->
+<g id="node510" class="node">
+<title>Node501</title>
+<g id="a_node510"><a xlink:href="classtvm_1_1relay_1_1RecClosureObj.html" target="_top" xlink:title="The container type of RecClosure. ">
 <polygon fill="#ffffff" stroke="#000000" points="233.5,-2344.5 233.5,-2363.5 376.5,-2363.5 376.5,-2344.5 233.5,-2344.5"/>
 <text text-anchor="middle" x="305" y="-2351.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RecClosureObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node499 -->
-<g id="edge503" class="edge">
-<title>Node0&#45;&gt;Node499</title>
+<!-- Node0&#45;&gt;Node501 -->
+<g id="edge505" class="edge">
+<title>Node0&#45;&gt;Node501</title>
 <path fill="none" stroke="#191970" d="M84.8345,-3417.2765C90.8812,-3278.5644 129.8568,-2452.8143 204,-2373 211.8932,-2364.503 222.2895,-2359.096 233.4088,-2355.7576"/>
 <polygon fill="#191970" stroke="#191970" points="81.3358,-3417.1731 84.4026,-3427.3144 88.3293,-3417.4741 81.3358,-3417.1731"/>
 </g>
-<!-- Node500 -->
-<g id="node509" class="node">
-<title>Node500</title>
-<g id="a_node509"><a xlink:href="structtvm_1_1relay_1_1RefValueObj.html" target="_top" xlink:title="tvm::relay::RefValueObj">
+<!-- Node502 -->
+<g id="node511" class="node">
+<title>Node502</title>
+<g id="a_node511"><a xlink:href="structtvm_1_1relay_1_1RefValueObj.html" target="_top" xlink:title="tvm::relay::RefValueObj">
 <polygon fill="#ffffff" stroke="#000000" points="239.5,-2306.5 239.5,-2325.5 370.5,-2325.5 370.5,-2306.5 239.5,-2306.5"/>
 <text text-anchor="middle" x="305" y="-2313.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RefValueObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node500 -->
-<g id="edge504" class="edge">
-<title>Node0&#45;&gt;Node500</title>
+<!-- Node0&#45;&gt;Node502 -->
+<g id="edge506" class="edge">
+<title>Node0&#45;&gt;Node502</title>
 <path fill="none" stroke="#191970" d="M84.7645,-3417.0193C90.3903,-3274.6999 127.321,-2417.8628 204,-2335 213.2705,-2324.9819 226.0196,-2319.2545 239.3403,-2316.148"/>
 <polygon fill="#191970" stroke="#191970" points="81.2562,-3417.1662 84.3641,-3427.295 88.2509,-3417.4389 81.2562,-3417.1662"/>
 </g>
-<!-- Node501 -->
-<g id="node510" class="node">
-<title>Node501</title>
-<g id="a_node510"><a xlink:href="classtvm_1_1relay_1_1RelayNode.html" target="_top" xlink:title="This is the base node container of all relay structures. ">
+<!-- Node503 -->
+<g id="node512" class="node">
+<title>Node503</title>
+<g id="a_node512"><a xlink:href="classtvm_1_1relay_1_1RelayNode.html" target="_top" xlink:title="This is the base node container of all relay structures. ">
 <polygon fill="#ffffff" stroke="#000000" points="242.5,-2508.5 242.5,-2527.5 367.5,-2527.5 367.5,-2508.5 242.5,-2508.5"/>
 <text text-anchor="middle" x="305" y="-2515.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RelayNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node501 -->
-<g id="edge505" class="edge">
-<title>Node0&#45;&gt;Node501</title>
+<!-- Node0&#45;&gt;Node503 -->
+<g id="edge507" class="edge">
+<title>Node0&#45;&gt;Node503</title>
 <path fill="none" stroke="#191970" d="M85.2553,-3417.3083C93.4504,-3291.5099 140.9667,-2603.492 204,-2537 214.0656,-2526.3821 228.0455,-2520.6169 242.3995,-2517.685"/>
 <polygon fill="#191970" stroke="#191970" points="81.7547,-3417.2055 84.6034,-3427.4102 88.7402,-3417.6563 81.7547,-3417.2055"/>
 </g>
-<!-- Node507 -->
-<g id="node516" class="node">
-<title>Node507</title>
-<g id="a_node516"><a xlink:href="classtvm_1_1relay_1_1RuntimeNode.html" target="_top" xlink:title="Runtime information. ">
+<!-- Node509 -->
+<g id="node518" class="node">
+<title>Node509</title>
+<g id="a_node518"><a xlink:href="classtvm_1_1relay_1_1RuntimeNode.html" target="_top" xlink:title="Runtime information. ">
 <polygon fill="#ffffff" stroke="#000000" points="236,-2268.5 236,-2287.5 374,-2287.5 374,-2268.5 236,-2268.5"/>
 <text text-anchor="middle" x="305" y="-2275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RuntimeNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node507 -->
-<g id="edge511" class="edge">
-<title>Node0&#45;&gt;Node507</title>
+<!-- Node0&#45;&gt;Node509 -->
+<g id="edge513" class="edge">
+<title>Node0&#45;&gt;Node509</title>
 <path fill="none" stroke="#191970" d="M84.6813,-3417.2248C89.8379,-3272.7433 124.6997,-2383.0045 204,-2297 212.4663,-2287.8179 223.8542,-2282.2367 235.9329,-2278.9736"/>
 <polygon fill="#191970" stroke="#191970" points="81.181,-3417.1758 84.3274,-3427.2926 88.1766,-3417.4217 81.181,-3417.1758"/>
 </g>
-<!-- Node510 -->
-<g id="node517" class="node">
-<title>Node510</title>
-<g id="a_node517"><a xlink:href="classtvm_1_1runtime_1_1ClosureObj.html" target="_top" xlink:title="An object representing a closure. This object is used by both the Relay VM and interpreter. ">
+<!-- Node512 -->
+<g id="node519" class="node">
+<title>Node512</title>
+<g id="a_node519"><a xlink:href="classtvm_1_1runtime_1_1ClosureObj.html" target="_top" xlink:title="An object representing a closure. This object is used by both the Relay VM and interpreter. ">
 <polygon fill="#ffffff" stroke="#000000" points="235,-2192.5 235,-2211.5 375,-2211.5 375,-2192.5 235,-2192.5"/>
 <text text-anchor="middle" x="305" y="-2199.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ClosureObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node510 -->
-<g id="edge514" class="edge">
-<title>Node0&#45;&gt;Node510</title>
+<!-- Node0&#45;&gt;Node512 -->
+<g id="edge516" class="edge">
+<title>Node0&#45;&gt;Node512</title>
 <path fill="none" stroke="#191970" d="M84.5427,-3417.3098C88.8453,-3267.6723 119.509,-2313.2348 204,-2221 212.1954,-2212.0535 223.1632,-2206.5193 234.8523,-2203.2157"/>
 <polygon fill="#191970" stroke="#191970" points="81.0433,-3417.2419 84.2596,-3427.3367 88.0405,-3417.4395 81.0433,-3417.2419"/>
 </g>
-<!-- Node513 -->
-<g id="node520" class="node">
-<title>Node513</title>
-<g id="a_node520"><a xlink:href="classtvm_1_1runtime_1_1MapNode.html" target="_top" xlink:title="Shared content of all specializations of hash map. ">
+<!-- Node515 -->
+<g id="node522" class="node">
+<title>Node515</title>
+<g id="a_node522"><a xlink:href="classtvm_1_1runtime_1_1MapNode.html" target="_top" xlink:title="Shared content of all specializations of hash map. ">
 <polygon fill="#ffffff" stroke="#000000" points="239,-2230.5 239,-2249.5 371,-2249.5 371,-2230.5 239,-2230.5"/>
 <text text-anchor="middle" x="305" y="-2237.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::MapNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node513 -->
-<g id="edge517" class="edge">
-<title>Node0&#45;&gt;Node513</title>
+<!-- Node0&#45;&gt;Node515 -->
+<g id="edge519" class="edge">
+<title>Node0&#45;&gt;Node515</title>
 <path fill="none" stroke="#191970" d="M84.6173,-3417.0289C89.3681,-3269.1897 122.1495,-2348.07 204,-2259 213.1149,-2249.0811 225.6383,-2243.3602 238.7669,-2240.2239"/>
 <polygon fill="#191970" stroke="#191970" points="81.1102,-3417.2011 84.2926,-3427.3067 88.1067,-3417.4222 81.1102,-3417.2011"/>
 </g>
-<!-- Node516 -->
-<g id="node522" class="node">
-<title>Node516</title>
-<g id="a_node522"><a xlink:href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" target="_top" xlink:title="Common base class for all Metadata. ">
+<!-- Node518 -->
+<g id="node524" class="node">
+<title>Node518</title>
+<g id="a_node524"><a xlink:href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" target="_top" xlink:title="Common base class for all Metadata. ">
 <polygon fill="#ffffff" stroke="#000000" points="238,-2143 238,-2173 372,-2173 372,-2143 238,-2143"/>
 <text text-anchor="start" x="246" y="-2161" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::metadata</text>
 <text text-anchor="middle" x="305" y="-2150" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MetadataBaseNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node516 -->
-<g id="edge520" class="edge">
-<title>Node0&#45;&gt;Node516</title>
+<!-- Node0&#45;&gt;Node518 -->
+<g id="edge522" class="edge">
+<title>Node0&#45;&gt;Node518</title>
 <path fill="none" stroke="#191970" d="M84.5341,-3417.2159C88.8225,-3264.8089 119.6818,-2280.7465 204,-2183 212.7902,-2172.8099 225.018,-2166.4334 237.938,-2162.5141"/>
 <polygon fill="#191970" stroke="#191970" points="81.0303,-3417.3108 84.2526,-3427.4037 88.0276,-3417.5043 81.0303,-3417.3108"/>
 </g>
-<!-- Node521 -->
-<g id="node527" class="node">
-<title>Node521</title>
-<g id="a_node527"><a xlink:href="classtvm_1_1runtime_1_1ModuleNode.html" target="_top" xlink:title="Base container of module. ">
+<!-- Node523 -->
+<g id="node529" class="node">
+<title>Node523</title>
+<g id="a_node529"><a xlink:href="classtvm_1_1runtime_1_1ModuleNode.html" target="_top" xlink:title="Base container of module. ">
 <polygon fill="#ffffff" stroke="#000000" points="231.5,-2104.5 231.5,-2123.5 378.5,-2123.5 378.5,-2104.5 231.5,-2104.5"/>
 <text text-anchor="middle" x="305" y="-2111.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ModuleNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node521 -->
-<g id="edge525" class="edge">
-<title>Node0&#45;&gt;Node521</title>
+<!-- Node0&#45;&gt;Node523 -->
+<g id="edge527" class="edge">
+<title>Node0&#45;&gt;Node523</title>
 <path fill="none" stroke="#191970" d="M84.4046,-3417.3424C87.7854,-3261.7477 113.5012,-2232.4501 204,-2133 211.3852,-2124.8843 221.0511,-2119.5714 231.4755,-2116.183"/>
 <polygon fill="#191970" stroke="#191970" points="80.9051,-3417.2819 84.192,-3427.354 87.9036,-3417.4305 80.9051,-3417.2819"/>
 </g>
-<!-- Node525 -->
-<g id="node530" class="node">
-<title>Node525</title>
-<g id="a_node530"><a xlink:href="classtvm_1_1runtime_1_1PackedFuncObj.html" target="_top" xlink:title="Object container class that backs PackedFunc. ">
+<!-- Node527 -->
+<g id="node532" class="node">
+<title>Node527</title>
+<g id="a_node532"><a xlink:href="classtvm_1_1runtime_1_1PackedFuncObj.html" target="_top" xlink:title="Object container class that backs PackedFunc. ">
 <polygon fill="#ffffff" stroke="#000000" points="225.5,-2066.5 225.5,-2085.5 384.5,-2085.5 384.5,-2066.5 225.5,-2066.5"/>
 <text text-anchor="middle" x="305" y="-2073.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::PackedFuncObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node525 -->
-<g id="edge529" class="edge">
-<title>Node0&#45;&gt;Node525</title>
+<!-- Node0&#45;&gt;Node527 -->
+<g id="edge531" class="edge">
+<title>Node0&#45;&gt;Node527</title>
 <path fill="none" stroke="#191970" d="M84.3523,-3417.2636C87.36,-3258.8402 110.9222,-2197.5501 204,-2095 209.8758,-2088.5262 217.2026,-2083.8346 225.2096,-2080.4801"/>
 <polygon fill="#191970" stroke="#191970" points="80.8499,-3417.3688 84.1644,-3427.4318 87.8487,-3417.4982 80.8499,-3417.3688"/>
 </g>
-<!-- Node527 -->
-<g id="node532" class="node">
-<title>Node527</title>
-<g id="a_node532"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::CountNode">
+<!-- Node529 -->
+<g id="node534" class="node">
+<title>Node529</title>
+<g id="a_node534"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::CountNode">
 <polygon fill="#ffffff" stroke="#000000" points="242,-2017 242,-2047 368,-2047 368,-2017 242,-2017"/>
 <text text-anchor="start" x="250" y="-2035" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-2024" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CountNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node527 -->
-<g id="edge531" class="edge">
-<title>Node0&#45;&gt;Node527</title>
+<!-- Node0&#45;&gt;Node529 -->
+<g id="edge533" class="edge">
+<title>Node0&#45;&gt;Node529</title>
 <path fill="none" stroke="#191970" d="M84.3615,-3416.7512C87.4416,-3254.2091 111.4665,-2165.2145 204,-2057 213.6265,-2045.7422 227.4486,-2039.1314 241.7909,-2035.3457"/>
 <polygon fill="#191970" stroke="#191970" points="80.8542,-3417.1207 84.1689,-3427.1836 87.853,-3417.2499 80.8542,-3417.1207"/>
 </g>
-<!-- Node528 -->
-<g id="node533" class="node">
-<title>Node528</title>
-<g id="a_node533"><a xlink:href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_top" xlink:title="Wrapper for Device because Device is not passable across the PackedFunc interface. ">
+<!-- Node530 -->
+<g id="node535" class="node">
+<title>Node530</title>
+<g id="a_node535"><a xlink:href="structtvm_1_1runtime_1_1profiling_1_1DeviceWrapperNode.html" target="_top" xlink:title="Wrapper for Device because Device is not passable across the PackedFunc interface. ">
 <polygon fill="#ffffff" stroke="#000000" points="242,-1968 242,-1998 368,-1998 368,-1968 242,-1968"/>
 <text text-anchor="start" x="250" y="-1986" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-1975" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DeviceWrapperNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node528 -->
-<g id="edge532" class="edge">
-<title>Node0&#45;&gt;Node528</title>
+<!-- Node0&#45;&gt;Node530 -->
+<g id="edge534" class="edge">
+<title>Node0&#45;&gt;Node530</title>
 <path fill="none" stroke="#191970" d="M84.2839,-3417.027C86.8053,-3252.1274 107.5886,-2119.0295 204,-2007 213.6402,-1995.7982 227.4672,-1989.3101 241.8098,-1985.6654"/>
 <polygon fill="#191970" stroke="#191970" points="80.7818,-3417.1484 84.1332,-3427.1992 87.7811,-3417.2522 80.7818,-3417.1484"/>
 </g>
-<!-- Node529 -->
-<g id="node534" class="node">
-<title>Node529</title>
-<g id="a_node534"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::DurationNode">
+<!-- Node531 -->
+<g id="node536" class="node">
+<title>Node531</title>
+<g id="a_node536"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::DurationNode">
 <polygon fill="#ffffff" stroke="#000000" points="242,-1919 242,-1949 368,-1949 368,-1919 242,-1919"/>
 <text text-anchor="start" x="250" y="-1937" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-1926" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DurationNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node529 -->
-<g id="edge533" class="edge">
-<title>Node0&#45;&gt;Node529</title>
+<!-- Node0&#45;&gt;Node531 -->
+<g id="edge535" class="edge">
+<title>Node0&#45;&gt;Node531</title>
 <path fill="none" stroke="#191970" d="M84.2275,-3416.8676C86.3123,-3248.2212 104.3654,-2074.0987 204,-1958 213.6247,-1946.7849 227.4462,-1940.292 241.7884,-1936.6469"/>
 <polygon fill="#191970" stroke="#191970" points="80.7234,-3417.2032 84.1041,-3427.2441 87.7229,-3417.2865 80.7234,-3417.2032"/>
 </g>
-<!-- Node530 -->
-<g id="node535" class="node">
-<title>Node530</title>
-<g id="a_node535"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_top" xlink:title="Interface for user defined profiling metric collection. ">
+<!-- Node532 -->
+<g id="node537" class="node">
+<title>Node532</title>
+<g id="a_node537"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_top" xlink:title="Interface for user defined profiling metric collection. ">
 <polygon fill="#ffffff" stroke="#000000" points="242,-1870 242,-1900 368,-1900 368,-1870 242,-1870"/>
 <text text-anchor="start" x="250" y="-1888" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-1877" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MetricCollectorNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node530 -->
-<g id="edge534" class="edge">
-<title>Node0&#45;&gt;Node530</title>
+<!-- Node0&#45;&gt;Node532 -->
+<g id="edge536" class="edge">
+<title>Node0&#45;&gt;Node532</title>
 <path fill="none" stroke="#191970" d="M84.1688,-3417.2498C85.7998,-3246.9085 101.0323,-2029.2969 204,-1909 213.6102,-1897.7724 227.4265,-1891.2751 241.7683,-1887.6297"/>
 <polygon fill="#191970" stroke="#191970" points="80.6685,-3417.2753 84.077,-3427.3069 87.6682,-3417.3393 80.6685,-3417.2753"/>
 </g>
-<!-- Node531 -->
-<g id="node536" class="node">
-<title>Node531</title>
-<g id="a_node536"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::PercentNode">
+<!-- Node533 -->
+<g id="node538" class="node">
+<title>Node533</title>
+<g id="a_node538"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::PercentNode">
 <polygon fill="#ffffff" stroke="#000000" points="242,-1821 242,-1851 368,-1851 368,-1821 242,-1821"/>
 <text text-anchor="start" x="250" y="-1839" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-1828" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PercentNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node531 -->
-<g id="edge535" class="edge">
-<title>Node0&#45;&gt;Node531</title>
+<!-- Node0&#45;&gt;Node533 -->
+<g id="edge537" class="edge">
+<title>Node0&#45;&gt;Node533</title>
 <path fill="none" stroke="#191970" d="M84.1187,-3417.156C85.3346,-3243.4088 97.7919,-1984.3876 204,-1860 213.5966,-1848.7608 227.4079,-1842.2593 241.7494,-1838.6136"/>
 <polygon fill="#191970" stroke="#191970" points="80.6173,-3417.364 84.0517,-3427.3868 87.6172,-3417.4099 80.6173,-3417.364"/>
 </g>
-<!-- Node532 -->
-<g id="node537" class="node">
-<title>Node532</title>
-<g id="a_node537"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::RatioNode">
+<!-- Node534 -->
+<g id="node539" class="node">
+<title>Node534</title>
+<g id="a_node539"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::RatioNode">
 <polygon fill="#ffffff" stroke="#000000" points="242,-1772 242,-1802 368,-1802 368,-1772 242,-1772"/>
 <text text-anchor="start" x="250" y="-1790" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-1779" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RatioNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node532 -->
-<g id="edge536" class="edge">
-<title>Node0&#45;&gt;Node532</title>
+<!-- Node0&#45;&gt;Node534 -->
+<g id="edge538" class="edge">
+<title>Node0&#45;&gt;Node534</title>
 <path fill="none" stroke="#191970" d="M84.0699,-3417.353C84.8709,-3241.3713 94.49,-1939.5512 204,-1811 213.6422,-1799.6813 227.5591,-1793.1653 241.994,-1789.532"/>
 <polygon fill="#191970" stroke="#191970" points="80.5695,-3417.4688 84.0282,-3427.4831 87.5694,-3417.4976 80.5695,-3417.4688"/>
 </g>
-<!-- Node533 -->
-<g id="node538" class="node">
-<title>Node533</title>
-<g id="a_node538"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_top" xlink:title="Data collected from a profiling run. Includes per&#45;call metrics and per&#45;device metrics. ">
+<!-- Node535 -->
+<g id="node540" class="node">
+<title>Node535</title>
+<g id="a_node540"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1ReportNode.html" target="_top" xlink:title="Data collected from a profiling run. Includes per&#45;call metrics and per&#45;device metrics. ">
 <polygon fill="#ffffff" stroke="#000000" points="242,-1723 242,-1753 368,-1753 368,-1723 242,-1723"/>
 <text text-anchor="start" x="250" y="-1741" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-1730" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ReportNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node533 -->
-<g id="edge537" class="edge">
-<title>Node0&#45;&gt;Node533</title>
+<!-- Node0&#45;&gt;Node535 -->
+<g id="edge539" class="edge">
+<title>Node0&#45;&gt;Node535</title>
 <path fill="none" stroke="#191970" d="M84.7601,-3416.9829C91.8596,-3232.1679 147.5609,-1828.3969 204,-1762 213.63,-1750.6709 227.5426,-1744.1512 241.9773,-1740.5178"/>
 <polygon fill="#191970" stroke="#191970" points="81.2554,-3417.0401 84.3708,-3427.1665 88.2503,-3417.3076 81.2554,-3417.0401"/>
 </g>
-<!-- Node534 -->
-<g id="node539" class="node">
-<title>Node534</title>
-<g id="a_node539"><a xlink:href="classtvm_1_1runtime_1_1ShapeTupleObj.html" target="_top" xlink:title="An object representing a shape tuple. ">
+<!-- Node536 -->
+<g id="node541" class="node">
+<title>Node536</title>
+<g id="a_node541"><a xlink:href="classtvm_1_1runtime_1_1ShapeTupleObj.html" target="_top" xlink:title="An object representing a shape tuple. ">
 <polygon fill="#ffffff" stroke="#000000" points="226,-1684.5 226,-1703.5 384,-1703.5 384,-1684.5 226,-1684.5"/>
 <text text-anchor="middle" x="305" y="-1691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ShapeTupleObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node534 -->
-<g id="edge538" class="edge">
-<title>Node0&#45;&gt;Node534</title>
+<!-- Node0&#45;&gt;Node536 -->
+<g id="edge540" class="edge">
+<title>Node0&#45;&gt;Node536</title>
 <path fill="none" stroke="#191970" d="M84.6883,-3417.2408C91.2796,-3230.4058 144.2939,-1780.0978 204,-1713 209.9304,-1706.3354 217.3971,-1701.5494 225.5737,-1698.1623"/>
 <polygon fill="#191970" stroke="#191970" points="81.1886,-3417.1737 84.3357,-3427.2903 88.1843,-3417.4192 81.1886,-3417.1737"/>
 </g>
-<!-- Node536 -->
-<g id="node541" class="node">
-<title>Node536</title>
-<g id="a_node541"><a xlink:href="classtvm_1_1runtime_1_1StringObj.html" target="_top" xlink:title="An object representing string. It&#39;s POD type. ">
+<!-- Node538 -->
+<g id="node543" class="node">
+<title>Node538</title>
+<g id="a_node543"><a xlink:href="classtvm_1_1runtime_1_1StringObj.html" target="_top" xlink:title="An object representing string. It&#39;s POD type. ">
 <polygon fill="#ffffff" stroke="#000000" points="239.5,-1646.5 239.5,-1665.5 370.5,-1665.5 370.5,-1646.5 239.5,-1646.5"/>
 <text text-anchor="middle" x="305" y="-1653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::StringObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node536 -->
-<g id="edge540" class="edge">
-<title>Node0&#45;&gt;Node536</title>
+<!-- Node0&#45;&gt;Node538 -->
+<g id="edge542" class="edge">
+<title>Node0&#45;&gt;Node538</title>
 <path fill="none" stroke="#191970" d="M84.6529,-3417.3874C91.011,-3228.8897 142.973,-1743.6854 204,-1675 213.1252,-1664.7297 225.8984,-1658.9187 239.2996,-1655.8136"/>
 <polygon fill="#191970" stroke="#191970" points="81.1511,-3417.3853 84.3139,-3427.4971 88.1472,-3417.62 81.1511,-3417.3853"/>
 </g>
-<!-- Node538 -->
-<g id="node543" class="node">
-<title>Node538</title>
-<g id="a_node543"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all implementations. ">
+<!-- Node540 -->
+<g id="node545" class="node">
+<title>Node540</title>
+<g id="a_node545"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all implementations. ">
 <polygon fill="#ffffff" stroke="#000000" points="235,-1608.5 235,-1627.5 375,-1627.5 375,-1608.5 235,-1608.5"/>
 <text text-anchor="middle" x="305" y="-1615.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::TimerNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node538 -->
-<g id="edge542" class="edge">
-<title>Node0&#45;&gt;Node538</title>
+<!-- Node0&#45;&gt;Node540 -->
+<g id="edge544" class="edge">
+<title>Node0&#45;&gt;Node540</title>
 <path fill="none" stroke="#191970" d="M84.6284,-3417.2519C90.8002,-3225.9194 141.6821,-1707.2395 204,-1637 212.1113,-1627.8576 223.1132,-1622.2475 234.878,-1618.9338"/>
 <polygon fill="#191970" stroke="#191970" points="81.1289,-3417.1853 84.3064,-3427.2923 88.1253,-3417.4097 81.1289,-3417.1853"/>
 </g>
-<!-- Node539 -->
-<g id="node544" class="node">
-<title>Node539</title>
-<g id="a_node544"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation. ">
+<!-- Node541 -->
+<g id="node546" class="node">
+<title>Node541</title>
+<g id="a_node546"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation. ">
 <polygon fill="#ffffff" stroke="#000000" points="224,-1570.5 224,-1589.5 386,-1589.5 386,-1570.5 224,-1570.5"/>
 <text text-anchor="middle" x="305" y="-1577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::vm::StorageObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node539 -->
-<g id="edge543" class="edge">
-<title>Node0&#45;&gt;Node539</title>
+<!-- Node0&#45;&gt;Node541 -->
+<g id="edge545" class="edge">
+<title>Node0&#45;&gt;Node541</title>
 <path fill="none" stroke="#191970" d="M84.6134,-3416.8354C90.6411,-3221.4679 140.4215,-1670.7595 204,-1599 209.4428,-1592.8569 216.1906,-1588.3079 223.5988,-1584.9787"/>
 <polygon fill="#191970" stroke="#191970" points="81.1072,-3416.985 84.299,-3427.0876 88.1039,-3417.1996 81.1072,-3416.985"/>
 </g>
-<!-- Node540 -->
-<g id="node545" class="node">
-<title>Node540</title>
-<g id="a_node545"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc. ">
+<!-- Node542 -->
+<g id="node547" class="node">
+<title>Node542</title>
+<g id="a_node547"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc. ">
 <polygon fill="#ffffff" stroke="#000000" points="251.5,-1521 251.5,-1551 358.5,-1551 358.5,-1521 251.5,-1521"/>
 <text text-anchor="start" x="259.5" y="-1539" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
 <text text-anchor="middle" x="305" y="-1528" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DocNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node540 -->
-<g id="edge544" class="edge">
-<title>Node0&#45;&gt;Node540</title>
+<!-- Node0&#45;&gt;Node542 -->
+<g id="edge546" class="edge">
+<title>Node0&#45;&gt;Node542</title>
 <path fill="none" stroke="#191970" d="M84.6048,-3417.0466C90.6443,-3220.4763 141.2,-1636.1648 204,-1561 215.6398,-1547.0684 233.7064,-1540.2223 251.3599,-1537.0457"/>
 <polygon fill="#191970" stroke="#191970" points="81.0977,-3417.2292 84.2907,-3427.3314 88.0944,-3417.443 81.0977,-3417.2292"/>
 </g>
-<!-- Node565 -->
-<g id="node570" class="node">
-<title>Node565</title>
-<g id="a_node570"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment. ">
+<!-- Node567 -->
+<g id="node572" class="node">
+<title>Node567</title>
+<g id="a_node572"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment. ">
 <polygon fill="#ffffff" stroke="#000000" points="240,-1482.5 240,-1501.5 370,-1501.5 370,-1482.5 240,-1482.5"/>
 <text text-anchor="middle" x="305" y="-1489.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SourceNameNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node565 -->
-<g id="edge569" class="edge">
-<title>Node0&#45;&gt;Node565</title>
+<!-- Node0&#45;&gt;Node567 -->
+<g id="edge571" class="edge">
+<title>Node0&#45;&gt;Node567</title>
 <path fill="none" stroke="#191970" d="M84.5528,-3416.7948C90.1292,-3216.1032 137.4007,-1586.3943 204,-1511 213.2136,-1500.5697 226.189,-1494.7315 239.7784,-1491.6553"/>
 <polygon fill="#191970" stroke="#191970" points="81.0467,-3416.9707 84.2694,-3427.0635 88.0441,-3417.1639 81.0467,-3416.9707"/>
 </g>
-<!-- Node566 -->
-<g id="node571" class="node">
-<title>Node566</title>
-<g id="a_node571"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node. ">
+<!-- Node568 -->
+<g id="node573" class="node">
+<title>Node568</title>
+<g id="a_node573"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node. ">
 <polygon fill="#ffffff" stroke="#000000" points="259,-1444.5 259,-1463.5 351,-1463.5 351,-1444.5 259,-1444.5"/>
 <text text-anchor="middle" x="305" y="-1451.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::SpanNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node566 -->
-<g id="edge570" class="edge">
-<title>Node0&#45;&gt;Node566</title>
+<!-- Node0&#45;&gt;Node568 -->
+<g id="edge572" class="edge">
+<title>Node0&#45;&gt;Node568</title>
 <path fill="none" stroke="#191970" d="M84.5139,-3417.319C89.8333,-3216.8013 136.0349,-1550.0337 204,-1473 217.5159,-1457.6807 239.1461,-1452.2641 258.9283,-1450.9565"/>
 <polygon fill="#191970" stroke="#191970" points="81.0152,-3417.2279 84.2505,-3427.3167 88.0128,-3417.4123 81.0152,-3417.2279"/>
 </g>
-<!-- Node567 -->
-<g id="node572" class="node">
-<title>Node567</title>
-<g id="a_node572"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target. ">
+<!-- Node569 -->
+<g id="node574" class="node">
+<title>Node569</title>
+<g id="a_node574"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target. ">
 <polygon fill="#ffffff" stroke="#000000" points="245.5,-1406.5 245.5,-1425.5 364.5,-1425.5 364.5,-1406.5 245.5,-1406.5"/>
 <text text-anchor="middle" x="305" y="-1413.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetKindNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node567 -->
-<g id="edge571" class="edge">
-<title>Node0&#45;&gt;Node567</title>
+<!-- Node0&#45;&gt;Node569 -->
+<g id="edge573" class="edge">
+<title>Node0&#45;&gt;Node569</title>
 <path fill="none" stroke="#191970" d="M84.5002,-3416.9385C89.6809,-3212.545 134.7701,-1513.5587 204,-1435 214.4399,-1423.1533 229.7322,-1417.2267 245.2742,-1414.543"/>
 <polygon fill="#191970" stroke="#191970" points="80.9965,-3417.0446 84.2437,-3427.1295 87.9943,-3417.2207 80.9965,-3417.0446"/>
 </g>
-<!-- Node568 -->
-<g id="node573" class="node">
-<title>Node568</title>
-<g id="a_node573"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target. ">
+<!-- Node570 -->
+<g id="node575" class="node">
+<title>Node570</title>
+<g id="a_node575"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target. ">
 <polygon fill="#ffffff" stroke="#000000" points="256,-1368.5 256,-1387.5 354,-1387.5 354,-1368.5 256,-1368.5"/>
 <text text-anchor="middle" x="305" y="-1375.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node568 -->
-<g id="edge572" class="edge">
-<title>Node0&#45;&gt;Node568</title>
+<!-- Node0&#45;&gt;Node570 -->
+<g id="edge574" class="edge">
+<title>Node0&#45;&gt;Node570</title>
 <path fill="none" stroke="#191970" d="M84.4711,-3417.1903C89.4389,-3211.8199 133.4334,-1477.1654 204,-1397 216.7912,-1382.4689 236.8825,-1376.8422 255.7883,-1375.1823"/>
 <polygon fill="#191970" stroke="#191970" points="80.9671,-3417.3172 84.226,-3427.3984 87.9651,-3417.4853 80.9671,-3417.3172"/>
 </g>
-<!-- Node569 -->
-<g id="node574" class="node">
-<title>Node569</title>
-<g id="a_node574"><a xlink:href="classtvm_1_1TargetTagNode.html" target="_top" xlink:title="A target tag. ">
+<!-- Node571 -->
+<g id="node576" class="node">
+<title>Node571</title>
+<g id="a_node576"><a xlink:href="classtvm_1_1TargetTagNode.html" target="_top" xlink:title="A target tag. ">
 <polygon fill="#ffffff" stroke="#000000" points="248,-1330.5 248,-1349.5 362,-1349.5 362,-1330.5 248,-1330.5"/>
 <text text-anchor="middle" x="305" y="-1337.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TargetTagNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node569 -->
-<g id="edge573" class="edge">
-<title>Node0&#45;&gt;Node569</title>
+<!-- Node0&#45;&gt;Node571 -->
+<g id="edge575" class="edge">
+<title>Node0&#45;&gt;Node571</title>
 <path fill="none" stroke="#191970" d="M84.4506,-3417.1328C89.2461,-3209.3887 132.1314,-1440.7327 204,-1359 215.0161,-1346.4719 231.4583,-1340.5607 247.8935,-1338.1041"/>
 <polygon fill="#191970" stroke="#191970" points="80.9495,-3417.1421 84.2195,-3427.2197 87.9477,-3417.3025 80.9495,-3417.1421"/>
 </g>
-<!-- Node570 -->
-<g id="node575" class="node">
-<title>Node570</title>
-<g id="a_node575"><a xlink:href="classtvm_1_1te_1_1IterVarAttrNode.html" target="_top" xlink:title="node container for IterVar attr ">
+<!-- Node572 -->
+<g id="node577" class="node">
+<title>Node572</title>
+<g id="a_node577"><a xlink:href="classtvm_1_1te_1_1IterVarAttrNode.html" target="_top" xlink:title="node container for IterVar attr ">
 <polygon fill="#ffffff" stroke="#000000" points="238,-1292.5 238,-1311.5 372,-1311.5 372,-1292.5 238,-1292.5"/>
 <text text-anchor="middle" x="305" y="-1299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::IterVarAttrNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node570 -->
-<g id="edge574" class="edge">
-<title>Node0&#45;&gt;Node570</title>
+<!-- Node0&#45;&gt;Node572 -->
+<g id="edge576" class="edge">
+<title>Node0&#45;&gt;Node572</title>
 <path fill="none" stroke="#191970" d="M84.4374,-3416.7699C89.0971,-3205.2303 130.8645,-1404.2602 204,-1321 212.7724,-1311.0132 224.9926,-1305.2299 237.9111,-1302.0494"/>
 <polygon fill="#191970" stroke="#191970" points="80.9324,-3416.9669 84.213,-3427.041 87.9307,-3417.1199 80.9324,-3416.9669"/>
 </g>
-<!-- Node571 -->
-<g id="node576" class="node">
-<title>Node571</title>
-<g id="a_node576"><a xlink:href="classtvm_1_1te_1_1IterVarRelationNode.html" target="_top" xlink:title="base node of iteration var ">
+<!-- Node573 -->
+<g id="node578" class="node">
+<title>Node573</title>
+<g id="a_node578"><a xlink:href="classtvm_1_1te_1_1IterVarRelationNode.html" target="_top" xlink:title="base node of iteration var ">
 <polygon fill="#ffffff" stroke="#000000" points="227.5,-1254.5 227.5,-1273.5 382.5,-1273.5 382.5,-1254.5 227.5,-1254.5"/>
 <text text-anchor="middle" x="305" y="-1261.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::IterVarRelationNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node571 -->
-<g id="edge575" class="edge">
-<title>Node0&#45;&gt;Node571</title>
+<!-- Node0&#45;&gt;Node573 -->
+<g id="edge577" class="edge">
+<title>Node0&#45;&gt;Node573</title>
 <path fill="none" stroke="#191970" d="M84.4106,-3417.0597C88.8653,-3204.8075 129.5218,-1367.8742 204,-1283 210.3549,-1275.7581 218.5228,-1270.7259 227.456,-1267.2936"/>
 <polygon fill="#191970" stroke="#191970" points="80.9057,-3417.2623 84.1968,-3427.333 87.9042,-3417.4081 80.9057,-3417.2623"/>
 </g>
-<!-- Node577 -->
-<g id="node582" class="node">
-<title>Node577</title>
-<g id="a_node582"><a xlink:href="classtvm_1_1te_1_1OperationNode.html" target="_top" xlink:title="Base class of all operation nodes. ">
+<!-- Node579 -->
+<g id="node584" class="node">
+<title>Node579</title>
+<g id="a_node584"><a xlink:href="classtvm_1_1te_1_1OperationNode.html" target="_top" xlink:title="Base class of all operation nodes. ">
 <polygon fill="#ffffff" stroke="#000000" points="239.5,-1216.5 239.5,-1235.5 370.5,-1235.5 370.5,-1216.5 239.5,-1216.5"/>
 <text text-anchor="middle" x="305" y="-1223.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::OperationNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node577 -->
-<g id="edge581" class="edge">
-<title>Node0&#45;&gt;Node577</title>
+<!-- Node0&#45;&gt;Node579 -->
+<g id="edge583" class="edge">
+<title>Node0&#45;&gt;Node579</title>
 <path fill="none" stroke="#191970" d="M84.3914,-3417.0294C88.6793,-3202.5754 128.2158,-1331.4463 204,-1245 213.1154,-1234.6021 225.9682,-1228.7585 239.4601,-1225.6646"/>
 <polygon fill="#191970" stroke="#191970" points="80.8895,-3417.0952 84.1905,-3427.1626 87.8882,-3417.234 80.8895,-3417.0952"/>
 </g>
-<!-- Node585 -->
-<g id="node590" class="node">
-<title>Node585</title>
-<g id="a_node590"><a xlink:href="classtvm_1_1te_1_1ScheduleNode.html" target="_top" xlink:title="node container for schedule ">
-<polygon fill="#ffffff" stroke="#000000" points="241,-1178.5 241,-1197.5 369,-1197.5 369,-1178.5 241,-1178.5"/>
-<text text-anchor="middle" x="305" y="-1185.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::ScheduleNode</text>
-</a>
-</g>
-</g>
-<!-- Node0&#45;&gt;Node585 -->
-<g id="edge589" class="edge">
-<title>Node0&#45;&gt;Node585</title>
-<path fill="none" stroke="#191970" d="M84.3663,-3417.3441C88.4555,-3202.3899 126.8684,-1295.0659 204,-1207 213.4045,-1196.2623 226.7945,-1190.3802 240.7606,-1187.3676"/>
-<polygon fill="#191970" stroke="#191970" points="80.8647,-3417.404 84.1754,-3427.4683 87.8634,-3417.536 80.8647,-3417.404"/>
-</g>
-<!-- Node586 -->
-<g id="node591" class="node">
-<title>Node586</title>
-<g id="a_node591"><a xlink:href="classtvm_1_1te_1_1SpecializedConditionNode.html" target="_top" xlink:title="Container for specialization conditions. ">
-<polygon fill="#ffffff" stroke="#000000" points="212.5,-1140.5 212.5,-1159.5 397.5,-1159.5 397.5,-1140.5 212.5,-1140.5"/>
-<text text-anchor="middle" x="305" y="-1147.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::SpecializedConditionNode</text>
-</a>
-</g>
-</g>
-<!-- Node0&#45;&gt;Node586 -->
-<g id="edge590" class="edge">
-<title>Node0&#45;&gt;Node586</title>
-<path fill="none" stroke="#191970" d="M84.3542,-3417.0095C88.3122,-3198.3955 125.5981,-1258.5975 204,-1169 207.1724,-1165.3746 210.7991,-1162.3026 214.749,-1159.7076"/>
-<polygon fill="#191970" stroke="#191970" points="80.8495,-3417.2448 84.1695,-3427.306 87.8484,-3417.3704 80.8495,-3417.2448"/>
-</g>
 <!-- Node587 -->
 <g id="node592" class="node">
 <title>Node587</title>
-<g id="a_node592"><a xlink:href="classtvm_1_1te_1_1StageNode.html" target="_top" xlink:title="represents a stage. ">
-<polygon fill="#ffffff" stroke="#000000" points="249.5,-1102.5 249.5,-1121.5 360.5,-1121.5 360.5,-1102.5 249.5,-1102.5"/>
-<text text-anchor="middle" x="305" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::StageNode</text>
+<g id="a_node592"><a xlink:href="classtvm_1_1te_1_1ScheduleNode.html" target="_top" xlink:title="node container for schedule ">
+<polygon fill="#ffffff" stroke="#000000" points="241,-1178.5 241,-1197.5 369,-1197.5 369,-1178.5 241,-1178.5"/>
+<text text-anchor="middle" x="305" y="-1185.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::ScheduleNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node587 -->
 <g id="edge591" class="edge">
 <title>Node0&#45;&gt;Node587</title>
-<path fill="none" stroke="#191970" d="M84.3364,-3417.0051C88.1329,-3196.3631 124.2881,-1222.1745 204,-1131 215.3327,-1118.0376 232.4731,-1112.1479 249.4324,-1109.8406"/>
-<polygon fill="#191970" stroke="#191970" points="80.8346,-3417.0855 84.1636,-3427.1437 87.8336,-3417.2048 80.8346,-3417.0855"/>
+<path fill="none" stroke="#191970" d="M84.3663,-3417.3441C88.4555,-3202.3899 126.8684,-1295.0659 204,-1207 213.4045,-1196.2623 226.7945,-1190.3802 240.7606,-1187.3676"/>
+<polygon fill="#191970" stroke="#191970" points="80.8647,-3417.404 84.1754,-3427.4683 87.8634,-3417.536 80.8647,-3417.404"/>
 </g>
 <!-- Node588 -->
 <g id="node593" class="node">
 <title>Node588</title>
-<g id="a_node593"><a xlink:href="classtvm_1_1te_1_1TensorIntrinCallNode.html" target="_top" xlink:title="tvm::te::TensorIntrinCallNode">
-<polygon fill="#ffffff" stroke="#000000" points="225.5,-1064.5 225.5,-1083.5 384.5,-1083.5 384.5,-1064.5 225.5,-1064.5"/>
-<text text-anchor="middle" x="305" y="-1071.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::TensorIntrinCallNode</text>
+<g id="a_node593"><a xlink:href="classtvm_1_1te_1_1SpecializedConditionNode.html" target="_top" xlink:title="Container for specialization conditions. ">
+<polygon fill="#ffffff" stroke="#000000" points="212.5,-1140.5 212.5,-1159.5 397.5,-1159.5 397.5,-1140.5 212.5,-1140.5"/>
+<text text-anchor="middle" x="305" y="-1147.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::SpecializedConditionNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node588 -->
 <g id="edge592" class="edge">
 <title>Node0&#45;&gt;Node588</title>
-<path fill="none" stroke="#191970" d="M84.3133,-3417.3541C87.9195,-3196.4817 122.9348,-1185.8012 204,-1093 209.869,-1086.2813 217.2983,-1081.4623 225.4545,-1078.0572"/>
-<polygon fill="#191970" stroke="#191970" points="80.812,-3417.4146 84.1499,-3427.4699 87.8111,-3417.5278 80.812,-3417.4146"/>
+<path fill="none" stroke="#191970" d="M84.3542,-3417.0095C88.3122,-3198.3955 125.5981,-1258.5975 204,-1169 207.1724,-1165.3746 210.7991,-1162.3026 214.749,-1159.7076"/>
+<polygon fill="#191970" stroke="#191970" points="80.8495,-3417.2448 84.1695,-3427.306 87.8484,-3417.3704 80.8495,-3417.2448"/>
 </g>
 <!-- Node589 -->
 <g id="node594" class="node">
 <title>Node589</title>
-<g id="a_node594"><a xlink:href="classtvm_1_1te_1_1TensorIntrinNode.html" target="_top" xlink:title="Node to represent a Tensor intrinsic operator. ">
-<polygon fill="#ffffff" stroke="#000000" points="235,-1026.5 235,-1045.5 375,-1045.5 375,-1026.5 235,-1026.5"/>
-<text text-anchor="middle" x="305" y="-1033.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::TensorIntrinNode</text>
+<g id="a_node594"><a xlink:href="classtvm_1_1te_1_1StageNode.html" target="_top" xlink:title="represents a stage. ">
+<polygon fill="#ffffff" stroke="#000000" points="249.5,-1102.5 249.5,-1121.5 360.5,-1121.5 360.5,-1102.5 249.5,-1102.5"/>
+<text text-anchor="middle" x="305" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::StageNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node589 -->
 <g id="edge593" class="edge">
 <title>Node0&#45;&gt;Node589</title>
-<path fill="none" stroke="#191970" d="M84.3018,-3417.0359C87.7795,-3192.5858 121.6624,-1149.3353 204,-1055 212.0368,-1045.7921 223.0041,-1040.1515 234.7582,-1036.8284"/>
-<polygon fill="#191970" stroke="#191970" points="80.798,-3417.263 84.1442,-3427.3155 87.7972,-3417.3703 80.798,-3417.263"/>
+<path fill="none" stroke="#191970" d="M84.3364,-3417.0051C88.1329,-3196.3631 124.2881,-1222.1745 204,-1131 215.3327,-1118.0376 232.4731,-1112.1479 249.4324,-1109.8406"/>
+<polygon fill="#191970" stroke="#191970" points="80.8346,-3417.0855 84.1636,-3427.1437 87.8336,-3417.2048 80.8346,-3417.0855"/>
 </g>
 <!-- Node590 -->
 <g id="node595" class="node">
 <title>Node590</title>
-<g id="a_node595"><a xlink:href="classtvm_1_1tir_1_1BijectiveLayoutNode.html" target="_top" xlink:title="tvm::tir::BijectiveLayoutNode">
-<polygon fill="#ffffff" stroke="#000000" points="225,-988.5 225,-1007.5 385,-1007.5 385,-988.5 225,-988.5"/>
-<text text-anchor="middle" x="305" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BijectiveLayoutNode</text>
+<g id="a_node595"><a xlink:href="classtvm_1_1te_1_1TensorIntrinCallNode.html" target="_top" xlink:title="tvm::te::TensorIntrinCallNode">
+<polygon fill="#ffffff" stroke="#000000" points="225.5,-1064.5 225.5,-1083.5 384.5,-1083.5 384.5,-1064.5 225.5,-1064.5"/>
+<text text-anchor="middle" x="305" y="-1071.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::TensorIntrinCallNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node590 -->
 <g id="edge594" class="edge">
 <title>Node0&#45;&gt;Node590</title>
-<path fill="none" stroke="#191970" d="M84.2853,-3417.0563C87.607,-3190.7538 120.3485,-1112.9171 204,-1017 209.7464,-1010.411 216.9932,-1005.6483 224.9557,-1002.2542"/>
-<polygon fill="#191970" stroke="#191970" points="80.7842,-3417.1113 84.1386,-3427.1611 87.7835,-3417.213 80.7842,-3417.1113"/>
+<path fill="none" stroke="#191970" d="M84.3133,-3417.3541C87.9195,-3196.4817 122.9348,-1185.8012 204,-1093 209.869,-1086.2813 217.2983,-1081.4623 225.4545,-1078.0572"/>
+<polygon fill="#191970" stroke="#191970" points="80.812,-3417.4146 84.1499,-3427.4699 87.8111,-3417.5278 80.812,-3417.4146"/>
 </g>
 <!-- Node591 -->
 <g id="node596" class="node">
 <title>Node591</title>
-<g id="a_node596"><a xlink:href="classtvm_1_1tir_1_1BlockRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR block. ">
-<polygon fill="#ffffff" stroke="#000000" points="243,-950.5 243,-969.5 367,-969.5 367,-950.5 243,-950.5"/>
-<text text-anchor="middle" x="305" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BlockRVNode</text>
+<g id="a_node596"><a xlink:href="classtvm_1_1te_1_1TensorIntrinNode.html" target="_top" xlink:title="Node to represent a Tensor intrinsic operator. ">
+<polygon fill="#ffffff" stroke="#000000" points="235,-1026.5 235,-1045.5 375,-1045.5 375,-1026.5 235,-1026.5"/>
+<text text-anchor="middle" x="305" y="-1033.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::te::TensorIntrinNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node591 -->
 <g id="edge595" class="edge">
 <title>Node0&#45;&gt;Node591</title>
-<path fill="none" stroke="#191970" d="M84.2739,-3416.7434C87.4682,-3186.8903 119.0754,-1076.452 204,-979 213.8466,-967.7009 228.1057,-961.7712 242.8213,-958.9037"/>
-<polygon fill="#191970" stroke="#191970" points="80.7707,-3416.9596 84.133,-3427.0068 87.7701,-3417.0558 80.7707,-3416.9596"/>
+<path fill="none" stroke="#191970" d="M84.3018,-3417.0359C87.7795,-3192.5858 121.6624,-1149.3353 204,-1055 212.0368,-1045.7921 223.0041,-1040.1515 234.7582,-1036.8284"/>
+<polygon fill="#191970" stroke="#191970" points="80.798,-3417.263 84.1442,-3427.3155 87.7972,-3417.3703 80.798,-3417.263"/>
 </g>
 <!-- Node592 -->
 <g id="node597" class="node">
 <title>Node592</title>
-<g id="a_node597"><a xlink:href="classtvm_1_1tir_1_1BlockScopeNode.html" target="_top" xlink:title="An object with 1&#45;to&#45;1 correspondence with each block reference in the sref tree. This data structure ...">
-<polygon fill="#ffffff" stroke="#000000" points="235,-912.5 235,-931.5 375,-931.5 375,-912.5 235,-912.5"/>
-<text text-anchor="middle" x="305" y="-919.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BlockScopeNode</text>
+<g id="a_node597"><a xlink:href="classtvm_1_1tir_1_1BijectiveLayoutNode.html" target="_top" xlink:title="tvm::tir::BijectiveLayoutNode">
+<polygon fill="#ffffff" stroke="#000000" points="225,-988.5 225,-1007.5 385,-1007.5 385,-988.5 225,-988.5"/>
+<text text-anchor="middle" x="305" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BijectiveLayoutNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node592 -->
 <g id="edge596" class="edge">
 <title>Node0&#45;&gt;Node592</title>
-<path fill="none" stroke="#191970" d="M84.2533,-3417.1355C87.2676,-3187.3802 117.7148,-1040.0875 204,-941 212.0849,-931.7156 223.1488,-926.0558 234.9986,-922.7411"/>
-<polygon fill="#191970" stroke="#191970" points="80.7508,-3417.3153 84.1208,-3427.3598 87.7502,-3417.406 80.7508,-3417.3153"/>
+<path fill="none" stroke="#191970" d="M84.2853,-3417.0563C87.607,-3190.7538 120.3485,-1112.9171 204,-1017 209.7464,-1010.411 216.9932,-1005.6483 224.9557,-1002.2542"/>
+<polygon fill="#191970" stroke="#191970" points="80.7842,-3417.1113 84.1386,-3427.1611 87.7835,-3417.213 80.7842,-3417.1113"/>
 </g>
 <!-- Node593 -->
 <g id="node598" class="node">
 <title>Node593</title>
-<g id="a_node598"><a xlink:href="classtvm_1_1tir_1_1BufferNode.html" target="_top" xlink:title="Node to represent a buffer. ">
-<polygon fill="#ffffff" stroke="#000000" points="248.5,-874.5 248.5,-893.5 361.5,-893.5 361.5,-874.5 248.5,-874.5"/>
-<text text-anchor="middle" x="305" y="-881.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BufferNode</text>
+<g id="a_node598"><a xlink:href="classtvm_1_1tir_1_1BlockRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR block. ">
+<polygon fill="#ffffff" stroke="#000000" points="243,-950.5 243,-969.5 367,-969.5 367,-950.5 243,-950.5"/>
+<text text-anchor="middle" x="305" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BlockRVNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node593 -->
 <g id="edge597" class="edge">
 <title>Node0&#45;&gt;Node593</title>
-<path fill="none" stroke="#191970" d="M84.238,-3417.1866C87.1013,-3185.7943 116.3959,-1003.6751 204,-903 215.0682,-890.2804 231.7276,-884.3624 248.3423,-881.9578"/>
-<polygon fill="#191970" stroke="#191970" points="80.7349,-3417.4239 84.1124,-3427.4659 87.7344,-3417.5094 80.7349,-3417.4239"/>
+<path fill="none" stroke="#191970" d="M84.2739,-3416.7434C87.4682,-3186.8903 119.0754,-1076.452 204,-979 213.8466,-967.7009 228.1057,-961.7712 242.8213,-958.9037"/>
+<polygon fill="#191970" stroke="#191970" points="80.7707,-3416.9596 84.133,-3427.0068 87.7701,-3417.0558 80.7707,-3416.9596"/>
 </g>
 <!-- Node594 -->
 <g id="node599" class="node">
 <title>Node594</title>
-<g id="a_node599"><a xlink:href="classtvm_1_1tir_1_1BufferRegionNode.html" target="_top" xlink:title="Representing the region of multi&#45;dimensional buffer access. ">
-<polygon fill="#ffffff" stroke="#000000" points="232,-836.5 232,-855.5 378,-855.5 378,-836.5 232,-836.5"/>
-<text text-anchor="middle" x="305" y="-843.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BufferRegionNode</text>
+<g id="a_node599"><a xlink:href="classtvm_1_1tir_1_1BlockScopeNode.html" target="_top" xlink:title="An object with 1&#45;to&#45;1 correspondence with each block reference in the sref tree. This data structure ...">
+<polygon fill="#ffffff" stroke="#000000" points="235,-912.5 235,-931.5 375,-931.5 375,-912.5 235,-912.5"/>
+<text text-anchor="middle" x="305" y="-919.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BlockScopeNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node594 -->
 <g id="edge598" class="edge">
 <title>Node0&#45;&gt;Node594</title>
-<path fill="none" stroke="#191970" d="M84.2231,-3417.2383C86.938,-3184.2312 115.0766,-967.2633 204,-865 211.3758,-856.5177 221.2381,-851.0596 231.9164,-847.6509"/>
-<polygon fill="#191970" stroke="#191970" points="80.7225,-3417.2835 84.1072,-3427.3231 87.722,-3417.364 80.7225,-3417.2835"/>
+<path fill="none" stroke="#191970" d="M84.2533,-3417.1355C87.2676,-3187.3802 117.7148,-1040.0875 204,-941 212.0849,-931.7156 223.1488,-926.0558 234.9986,-922.7411"/>
+<polygon fill="#191970" stroke="#191970" points="80.7508,-3417.3153 84.1208,-3427.3598 87.7502,-3417.406 80.7508,-3417.3153"/>
 </g>
 <!-- Node595 -->
 <g id="node600" class="node">
 <title>Node595</title>
-<g id="a_node600"><a xlink:href="classtvm_1_1tir_1_1CommReducerNode.html" target="_top" xlink:title="A commutative reducer node to represent a commutative binary operator with identity element...">
-<polygon fill="#ffffff" stroke="#000000" points="227.5,-798.5 227.5,-817.5 382.5,-817.5 382.5,-798.5 227.5,-798.5"/>
-<text text-anchor="middle" x="305" y="-805.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::CommReducerNode</text>
+<g id="a_node600"><a xlink:href="classtvm_1_1tir_1_1BufferNode.html" target="_top" xlink:title="Node to represent a buffer. ">
+<polygon fill="#ffffff" stroke="#000000" points="248.5,-874.5 248.5,-893.5 361.5,-893.5 361.5,-874.5 248.5,-874.5"/>
+<text text-anchor="middle" x="305" y="-881.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BufferNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node595 -->
 <g id="edge599" class="edge">
 <title>Node0&#45;&gt;Node595</title>
-<path fill="none" stroke="#191970" d="M84.2086,-3417.3045C86.7764,-3182.7806 113.7551,-930.8541 204,-827 210.3197,-819.7273 218.4672,-814.6774 227.3902,-811.2361"/>
-<polygon fill="#191970" stroke="#191970" points="80.7075,-3417.4 84.0993,-3427.4372 87.7071,-3417.4756 80.7075,-3417.4"/>
+<path fill="none" stroke="#191970" d="M84.238,-3417.1866C87.1013,-3185.7943 116.3959,-1003.6751 204,-903 215.0682,-890.2804 231.7276,-884.3624 248.3423,-881.9578"/>
+<polygon fill="#191970" stroke="#191970" points="80.7349,-3417.4239 84.1124,-3427.4659 87.7344,-3417.5094 80.7349,-3417.4239"/>
 </g>
 <!-- Node596 -->
 <g id="node601" class="node">
 <title>Node596</title>
-<g id="a_node601"><a xlink:href="classtvm_1_1tir_1_1DataProducerNode.html" target="_top" xlink:title="Base node for data producers. ">
-<polygon fill="#ffffff" stroke="#000000" points="230,-760.5 230,-779.5 380,-779.5 380,-760.5 230,-760.5"/>
-<text text-anchor="middle" x="305" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::DataProducerNode</text>
+<g id="a_node601"><a xlink:href="classtvm_1_1tir_1_1BufferRegionNode.html" target="_top" xlink:title="Representing the region of multi&#45;dimensional buffer access. ">
+<polygon fill="#ffffff" stroke="#000000" points="232,-836.5 232,-855.5 378,-855.5 378,-836.5 232,-836.5"/>
+<text text-anchor="middle" x="305" y="-843.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::BufferRegionNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node596 -->
 <g id="edge600" class="edge">
 <title>Node0&#45;&gt;Node596</title>
-<path fill="none" stroke="#191970" d="M84.1982,-3417.018C86.6433,-3179.0821 112.4787,-894.3932 204,-789 210.9022,-781.0516 219.9876,-775.7578 229.8833,-772.317"/>
-<polygon fill="#191970" stroke="#191970" points="80.6956,-3417.2631 84.0942,-3427.2981 87.6953,-3417.334 80.6956,-3417.2631"/>
+<path fill="none" stroke="#191970" d="M84.2231,-3417.2383C86.938,-3184.2312 115.0766,-967.2633 204,-865 211.3758,-856.5177 221.2381,-851.0596 231.9164,-847.6509"/>
+<polygon fill="#191970" stroke="#191970" points="80.7225,-3417.2835 84.1072,-3427.3231 87.722,-3417.364 80.7225,-3417.2835"/>
+</g>
+<!-- Node597 -->
+<g id="node602" class="node">
+<title>Node597</title>
+<g id="a_node602"><a xlink:href="classtvm_1_1tir_1_1CommReducerNode.html" target="_top" xlink:title="A commutative reducer node to represent a commutative binary operator with identity element...">
+<polygon fill="#ffffff" stroke="#000000" points="227.5,-798.5 227.5,-817.5 382.5,-817.5 382.5,-798.5 227.5,-798.5"/>
+<text text-anchor="middle" x="305" y="-805.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::CommReducerNode</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node597 -->
+<g id="edge601" class="edge">
+<title>Node0&#45;&gt;Node597</title>
+<path fill="none" stroke="#191970" d="M84.2086,-3417.3045C86.7764,-3182.7806 113.7551,-930.8541 204,-827 210.3197,-819.7273 218.4672,-814.6774 227.3902,-811.2361"/>
+<polygon fill="#191970" stroke="#191970" points="80.7075,-3417.4 84.0993,-3427.4372 87.7071,-3417.4756 80.7075,-3417.4"/>
 </g>
 <!-- Node598 -->
 <g id="node603" class="node">
 <title>Node598</title>
-<g id="a_node603"><a xlink:href="classtvm_1_1tir_1_1DependencyNode.html" target="_top" xlink:title="A tuple (src, dst, kind) representing certain types of dependency. For example, (A, B, kRAW) means block B depends on block A, and the dependency kind is read&#45;after&#45;write, which means block B reads the result written by block A. ">
-<polygon fill="#ffffff" stroke="#000000" points="232.5,-722.5 232.5,-741.5 377.5,-741.5 377.5,-722.5 232.5,-722.5"/>
-<text text-anchor="middle" x="305" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::DependencyNode</text>
+<g id="a_node603"><a xlink:href="classtvm_1_1tir_1_1DataProducerNode.html" target="_top" xlink:title="Base node for data producers. ">
+<polygon fill="#ffffff" stroke="#000000" points="230,-760.5 230,-779.5 380,-779.5 380,-760.5 230,-760.5"/>
+<text text-anchor="middle" x="305" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::DataProducerNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node598 -->
 <g id="edge602" class="edge">
 <title>Node0&#45;&gt;Node598</title>
-<path fill="none" stroke="#191970" d="M84.1843,-3417.0966C86.4852,-3177.7322 111.1552,-857.9864 204,-751 211.4844,-742.3757 221.5391,-736.876 232.4111,-733.4777"/>
-<polygon fill="#191970" stroke="#191970" points="80.6815,-3417.3873 84.0867,-3427.42 87.6812,-3417.4536 80.6815,-3417.3873"/>
-</g>
-<!-- Node599 -->
-<g id="node604" class="node">
-<title>Node599</title>
-<g id="a_node604"><a xlink:href="classtvm_1_1tir_1_1IndexMapNode.html" target="_top" xlink:title="Defines a mapping between two representations of indices into a buffer. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-684.5 239.5,-703.5 370.5,-703.5 370.5,-684.5 239.5,-684.5"/>
-<text text-anchor="middle" x="305" y="-691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::IndexMapNode</text>
-</a>
-</g>
-</g>
-<!-- Node0&#45;&gt;Node599 -->
-<g id="edge603" class="edge">
-<title>Node0&#45;&gt;Node599</title>
-<path fill="none" stroke="#191970" d="M84.1708,-3417.1753C86.3299,-3176.4037 109.8312,-821.5801 204,-713 213.0599,-702.5536 225.8907,-696.6909 239.379,-693.594"/>
-<polygon fill="#191970" stroke="#191970" points="80.6701,-3417.2541 84.0817,-3427.2846 87.6698,-3417.3159 80.6701,-3417.2541"/>
+<path fill="none" stroke="#191970" d="M84.1982,-3417.018C86.6433,-3179.0821 112.4787,-894.3932 204,-789 210.9022,-781.0516 219.9876,-775.7578 229.8833,-772.317"/>
+<polygon fill="#191970" stroke="#191970" points="80.6956,-3417.2631 84.0942,-3427.2981 87.6953,-3417.334 80.6956,-3417.2631"/>
 </g>
 <!-- Node600 -->
 <g id="node605" class="node">
 <title>Node600</title>
-<g id="a_node605"><a xlink:href="classtvm_1_1tir_1_1InstructionKindNode.html" target="_top" xlink:title="Kind of an instruction, e.g. Split, Reorder, etc. Besides the name, every kind of instruction has its...">
-<polygon fill="#ffffff" stroke="#000000" points="226,-646.5 226,-665.5 384,-665.5 384,-646.5 226,-646.5"/>
-<text text-anchor="middle" x="305" y="-653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::InstructionKindNode</text>
+<g id="a_node605"><a xlink:href="classtvm_1_1tir_1_1DependencyNode.html" target="_top" xlink:title="A tuple (src, dst, kind) representing certain types of dependency. For example, (A, B, kRAW) means block B depends on block A, and the dependency kind is read&#45;after&#45;write, which means block B reads the result written by block A. ">
+<polygon fill="#ffffff" stroke="#000000" points="232.5,-722.5 232.5,-741.5 377.5,-741.5 377.5,-722.5 232.5,-722.5"/>
+<text text-anchor="middle" x="305" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::DependencyNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node600 -->
 <g id="edge604" class="edge">
 <title>Node0&#45;&gt;Node600</title>
-<path fill="none" stroke="#191970" d="M84.1577,-3417.2681C86.1765,-3175.1895 108.5051,-785.1766 204,-675 209.9599,-668.1238 217.5536,-663.2333 225.8937,-659.8102"/>
-<polygon fill="#191970" stroke="#191970" points="80.6567,-3417.3857 84.0746,-3427.4141 87.6565,-3417.4431 80.6567,-3417.3857"/>
+<path fill="none" stroke="#191970" d="M84.1843,-3417.0966C86.4852,-3177.7322 111.1552,-857.9864 204,-751 211.4844,-742.3757 221.5391,-736.876 232.4111,-733.4777"/>
+<polygon fill="#191970" stroke="#191970" points="80.6815,-3417.3873 84.0867,-3427.42 87.6812,-3417.4536 80.6815,-3417.3873"/>
 </g>
 <!-- Node601 -->
 <g id="node606" class="node">
 <title>Node601</title>
-<g id="a_node606"><a xlink:href="classtvm_1_1tir_1_1InstructionNode.html" target="_top" xlink:title="Schedule instructions each corresponds to a schedule primitive. ">
-<polygon fill="#ffffff" stroke="#000000" points="237,-608.5 237,-627.5 373,-627.5 373,-608.5 237,-608.5"/>
-<text text-anchor="middle" x="305" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::InstructionNode</text>
+<g id="a_node606"><a xlink:href="classtvm_1_1tir_1_1IndexMapNode.html" target="_top" xlink:title="Defines a mapping between two representations of indices into a buffer. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-684.5 239.5,-703.5 370.5,-703.5 370.5,-684.5 239.5,-684.5"/>
+<text text-anchor="middle" x="305" y="-691.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::IndexMapNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node601 -->
 <g id="edge605" class="edge">
 <title>Node0&#45;&gt;Node601</title>
-<path fill="none" stroke="#191970" d="M84.1478,-3416.9968C86.0468,-3171.5901 107.2266,-748.718 204,-637 212.4695,-627.2225 224.2424,-621.4592 236.7684,-618.2206"/>
-<polygon fill="#191970" stroke="#191970" points="80.6459,-3417.256 84.0698,-3427.2823 87.6457,-3417.3091 80.6459,-3417.256"/>
+<path fill="none" stroke="#191970" d="M84.1708,-3417.1753C86.3299,-3176.4037 109.8312,-821.5801 204,-713 213.0599,-702.5536 225.8907,-696.6909 239.379,-693.594"/>
+<polygon fill="#191970" stroke="#191970" points="80.6701,-3417.2541 84.0817,-3427.2846 87.6698,-3417.3159 80.6701,-3417.2541"/>
 </g>
 <!-- Node602 -->
 <g id="node607" class="node">
 <title>Node602</title>
-<g id="a_node607"><a xlink:href="classtvm_1_1tir_1_1IterVarNode.html" target="_top" xlink:title="An iteration variable representing an iteration over a one dimensional interval. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-570.5 247,-589.5 363,-589.5 363,-570.5 247,-570.5"/>
-<text text-anchor="middle" x="305" y="-577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::IterVarNode</text>
+<g id="a_node607"><a xlink:href="classtvm_1_1tir_1_1InstructionKindNode.html" target="_top" xlink:title="Kind of an instruction, e.g. Split, Reorder, etc. Besides the name, every kind of instruction has its...">
+<polygon fill="#ffffff" stroke="#000000" points="226,-646.5 226,-665.5 384,-665.5 384,-646.5 226,-646.5"/>
+<text text-anchor="middle" x="305" y="-653.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::InstructionKindNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node602 -->
 <g id="edge606" class="edge">
 <title>Node0&#45;&gt;Node602</title>
-<path fill="none" stroke="#191970" d="M84.1353,-3417.1015C85.8969,-3170.4768 105.8984,-712.3168 204,-599 214.744,-586.5897 230.8099,-580.6454 246.985,-578.1225"/>
-<polygon fill="#191970" stroke="#191970" points="80.6333,-3417.3948 84.0632,-3427.4191 87.6331,-3417.4438 80.6333,-3417.3948"/>
+<path fill="none" stroke="#191970" d="M84.1577,-3417.2681C86.1765,-3175.1895 108.5051,-785.1766 204,-675 209.9599,-668.1238 217.5536,-663.2333 225.8937,-659.8102"/>
+<polygon fill="#191970" stroke="#191970" points="80.6567,-3417.3857 84.0746,-3427.4141 87.6565,-3417.4431 80.6567,-3417.3857"/>
 </g>
 <!-- Node603 -->
 <g id="node608" class="node">
 <title>Node603</title>
-<g id="a_node608"><a xlink:href="classtvm_1_1tir_1_1LayoutNode.html" target="_top" xlink:title="Layout is to describe how data is organized within an N&#45;dimention tensor. It is composed of upper cas...">
-<polygon fill="#ffffff" stroke="#000000" points="246.5,-532.5 246.5,-551.5 363.5,-551.5 363.5,-532.5 246.5,-532.5"/>
-<text text-anchor="middle" x="305" y="-539.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::LayoutNode</text>
+<g id="a_node608"><a xlink:href="classtvm_1_1tir_1_1InstructionNode.html" target="_top" xlink:title="Schedule instructions each corresponds to a schedule primitive. ">
+<polygon fill="#ffffff" stroke="#000000" points="237,-608.5 237,-627.5 373,-627.5 373,-608.5 237,-608.5"/>
+<text text-anchor="middle" x="305" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::InstructionNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node603 -->
 <g id="edge607" class="edge">
 <title>Node0&#45;&gt;Node603</title>
-<path fill="none" stroke="#191970" d="M84.1232,-3417.2057C85.7497,-3169.3837 104.5699,-675.9162 204,-561 214.6238,-548.7216 230.4569,-542.7716 246.4534,-540.2023"/>
-<polygon fill="#191970" stroke="#191970" points="80.6228,-3417.2686 84.0585,-3427.2909 87.6227,-3417.3136 80.6228,-3417.2686"/>
+<path fill="none" stroke="#191970" d="M84.1478,-3416.9968C86.0468,-3171.5901 107.2266,-748.718 204,-637 212.4695,-627.2225 224.2424,-621.4592 236.7684,-618.2206"/>
+<polygon fill="#191970" stroke="#191970" points="80.6459,-3417.256 84.0698,-3427.2823 87.6457,-3417.3091 80.6459,-3417.256"/>
 </g>
 <!-- Node604 -->
 <g id="node609" class="node">
 <title>Node604</title>
-<g id="a_node609"><a xlink:href="classtvm_1_1tir_1_1LoopRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR for loop. ">
-<polygon fill="#ffffff" stroke="#000000" points="245,-494.5 245,-513.5 365,-513.5 365,-494.5 245,-494.5"/>
-<text text-anchor="middle" x="305" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::LoopRVNode</text>
+<g id="a_node609"><a xlink:href="classtvm_1_1tir_1_1IterVarNode.html" target="_top" xlink:title="An iteration variable representing an iteration over a one dimensional interval. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-570.5 247,-589.5 363,-589.5 363,-570.5 247,-570.5"/>
+<text text-anchor="middle" x="305" y="-577.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::IterVarNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node604 -->
 <g id="edge608" class="edge">
 <title>Node0&#45;&gt;Node604</title>
-<path fill="none" stroke="#191970" d="M84.1114,-3417.3236C85.6045,-3168.4066 103.2391,-639.5182 204,-523 214.2703,-511.1236 229.4143,-505.1671 244.8678,-502.4639"/>
-<polygon fill="#191970" stroke="#191970" points="80.6109,-3417.4144 84.0522,-3427.4347 87.6108,-3417.4554 80.6109,-3417.4144"/>
+<path fill="none" stroke="#191970" d="M84.1353,-3417.1015C85.8969,-3170.4768 105.8984,-712.3168 204,-599 214.744,-586.5897 230.8099,-580.6454 246.985,-578.1225"/>
+<polygon fill="#191970" stroke="#191970" points="80.6333,-3417.3948 84.0632,-3427.4191 87.6331,-3417.4438 80.6333,-3417.3948"/>
 </g>
 <!-- Node605 -->
 <g id="node610" class="node">
 <title>Node605</title>
-<g id="a_node610"><a xlink:href="classtvm_1_1tir_1_1MatchBufferRegionNode.html" target="_top" xlink:title="Match introduces a constraint that the source buffer region can be remapped to the data layout specif...">
-<polygon fill="#ffffff" stroke="#000000" points="217,-456.5 217,-475.5 393,-475.5 393,-456.5 217,-456.5"/>
-<text text-anchor="middle" x="305" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::MatchBufferRegionNode</text>
+<g id="a_node610"><a xlink:href="classtvm_1_1tir_1_1LayoutNode.html" target="_top" xlink:title="Layout is to describe how data is organized within an N&#45;dimention tensor. It is composed of upper cas...">
+<polygon fill="#ffffff" stroke="#000000" points="246.5,-532.5 246.5,-551.5 363.5,-551.5 363.5,-532.5 246.5,-532.5"/>
+<text text-anchor="middle" x="305" y="-539.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::LayoutNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node605 -->
 <g id="edge609" class="edge">
 <title>Node0&#45;&gt;Node605</title>
-<path fill="none" stroke="#191970" d="M84.1021,-3417.0672C85.4784,-3164.9064 101.9586,-603.0621 204,-485 207.7335,-480.6803 212.1118,-477.1437 216.9153,-474.2618"/>
-<polygon fill="#191970" stroke="#191970" points="80.6009,-3417.2916 84.0477,-3427.3101 87.6008,-3417.3288 80.6009,-3417.2916"/>
+<path fill="none" stroke="#191970" d="M84.1232,-3417.2057C85.7497,-3169.3837 104.5699,-675.9162 204,-561 214.6238,-548.7216 230.4569,-542.7716 246.4534,-540.2023"/>
+<polygon fill="#191970" stroke="#191970" points="80.6228,-3417.2686 84.0585,-3427.2909 87.6227,-3417.3136 80.6228,-3417.2686"/>
 </g>
 <!-- Node606 -->
 <g id="node611" class="node">
 <title>Node606</title>
-<g id="a_node611"><a xlink:href="classtvm_1_1tir_1_1ScheduleNode.html" target="_top" xlink:title="The user&#45;facing schedule class. ">
-<polygon fill="#ffffff" stroke="#000000" points="241,-418.5 241,-437.5 369,-437.5 369,-418.5 241,-418.5"/>
-<text text-anchor="middle" x="305" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::ScheduleNode</text>
+<g id="a_node611"><a xlink:href="classtvm_1_1tir_1_1LoopRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR for loop. ">
+<polygon fill="#ffffff" stroke="#000000" points="245,-494.5 245,-513.5 365,-513.5 365,-494.5 245,-494.5"/>
+<text text-anchor="middle" x="305" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::LoopRVNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node606 -->
 <g id="edge610" class="edge">
 <title>Node0&#45;&gt;Node606</title>
-<path fill="none" stroke="#191970" d="M84.0909,-3417.1964C85.3367,-3164.0306 100.6258,-566.6665 204,-447 213.3893,-436.1309 226.8606,-430.2187 240.9182,-427.2207"/>
-<polygon fill="#191970" stroke="#191970" points="80.5897,-3417.4441 84.0419,-3427.4607 87.5897,-3417.4776 80.5897,-3417.4441"/>
+<path fill="none" stroke="#191970" d="M84.1114,-3417.3236C85.6045,-3168.4066 103.2391,-639.5182 204,-523 214.2703,-511.1236 229.4143,-505.1671 244.8678,-502.4639"/>
+<polygon fill="#191970" stroke="#191970" points="80.6109,-3417.4144 84.0522,-3427.4347 87.6108,-3417.4554 80.6109,-3417.4144"/>
 </g>
 <!-- Node607 -->
 <g id="node612" class="node">
 <title>Node607</title>
-<g id="a_node612"><a xlink:href="classtvm_1_1tir_1_1ScheduleStateNode.html" target="_top" xlink:title="The state of scheduling, which exposes a Replace method as the primary interface for all the scheduli...">
-<polygon fill="#ffffff" stroke="#000000" points="228,-380.5 228,-399.5 382,-399.5 382,-380.5 228,-380.5"/>
-<text text-anchor="middle" x="305" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::ScheduleStateNode</text>
+<g id="a_node612"><a xlink:href="classtvm_1_1tir_1_1MatchBufferRegionNode.html" target="_top" xlink:title="Match introduces a constraint that the source buffer region can be remapped to the data layout specif...">
+<polygon fill="#ffffff" stroke="#000000" points="217,-456.5 217,-475.5 393,-475.5 393,-456.5 217,-456.5"/>
+<text text-anchor="middle" x="305" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::MatchBufferRegionNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node607 -->
 <g id="edge611" class="edge">
 <title>Node0&#45;&gt;Node607</title>
-<path fill="none" stroke="#191970" d="M84.08,-3417.3246C85.1977,-3163.1738 99.2927,-530.2713 204,-409 210.4132,-401.5723 218.7327,-396.4592 227.8433,-393.0089"/>
-<polygon fill="#191970" stroke="#191970" points="80.5801,-3417.3247 84.0374,-3427.3396 87.58,-3417.3546 80.5801,-3417.3247"/>
+<path fill="none" stroke="#191970" d="M84.1021,-3417.0672C85.4784,-3164.9064 101.9586,-603.0621 204,-485 207.7335,-480.6803 212.1118,-477.1437 216.9153,-474.2618"/>
+<polygon fill="#191970" stroke="#191970" points="80.6009,-3417.2916 84.0477,-3427.3101 87.6008,-3417.3288 80.6009,-3417.2916"/>
 </g>
 <!-- Node608 -->
 <g id="node613" class="node">
 <title>Node608</title>
-<g id="a_node613"><a xlink:href="classtvm_1_1tir_1_1StmtNode.html" target="_top" xlink:title="Base node of all statements. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-342.5 251.5,-361.5 358.5,-361.5 358.5,-342.5 251.5,-342.5"/>
-<text text-anchor="middle" x="305" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::StmtNode</text>
+<g id="a_node613"><a xlink:href="classtvm_1_1tir_1_1ScheduleNode.html" target="_top" xlink:title="The user&#45;facing schedule class. ">
+<polygon fill="#ffffff" stroke="#000000" points="241,-418.5 241,-437.5 369,-437.5 369,-418.5 241,-418.5"/>
+<text text-anchor="middle" x="305" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::ScheduleNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node608 -->
 <g id="edge612" class="edge">
 <title>Node0&#45;&gt;Node608</title>
-<path fill="none" stroke="#191970" d="M84.0695,-3417.4661C85.0607,-3162.4346 97.9573,-493.8789 204,-371 215.7153,-357.4247 233.7982,-351.5798 251.4435,-349.4881"/>
-<polygon fill="#191970" stroke="#191970" points="80.5696,-3417.4837 84.032,-3427.4968 87.5695,-3417.51 80.5696,-3417.4837"/>
+<path fill="none" stroke="#191970" d="M84.0909,-3417.1964C85.3367,-3164.0306 100.6258,-566.6665 204,-447 213.3893,-436.1309 226.8606,-430.2187 240.9182,-427.2207"/>
+<polygon fill="#191970" stroke="#191970" points="80.5897,-3417.4441 84.0419,-3427.4607 87.5897,-3417.4776 80.5897,-3417.4441"/>
 </g>
-<!-- Node628 -->
-<g id="node633" class="node">
-<title>Node628</title>
-<g id="a_node633"><a xlink:href="classtvm_1_1tir_1_1StmtSRefNode.html" target="_top" xlink:title="An object that refers to schedulable elements (block/for&#45;loop) in TensorIR, aka &quot;sref&quot;. ">
-<polygon fill="#ffffff" stroke="#000000" points="240.5,-304.5 240.5,-323.5 369.5,-323.5 369.5,-304.5 240.5,-304.5"/>
-<text text-anchor="middle" x="305" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::StmtSRefNode</text>
+<!-- Node609 -->
+<g id="node614" class="node">
+<title>Node609</title>
+<g id="a_node614"><a xlink:href="classtvm_1_1tir_1_1ScheduleStateNode.html" target="_top" xlink:title="The state of scheduling, which exposes a Replace method as the primary interface for all the scheduli...">
+<polygon fill="#ffffff" stroke="#000000" points="228,-380.5 228,-399.5 382,-399.5 382,-380.5 228,-380.5"/>
+<text text-anchor="middle" x="305" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::ScheduleStateNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node628 -->
-<g id="edge632" class="edge">
-<title>Node0&#45;&gt;Node628</title>
-<path fill="none" stroke="#191970" d="M84.0607,-3417.2242C84.938,-3159.0338 96.6747,-457.4252 204,-333 213.2648,-322.2591 226.5156,-316.3569 240.3834,-313.3241"/>
-<polygon fill="#191970" stroke="#191970" points="80.5604,-3417.3677 84.0277,-3427.3791 87.5603,-3417.3906 80.5604,-3417.3677"/>
+<!-- Node0&#45;&gt;Node609 -->
+<g id="edge613" class="edge">
+<title>Node0&#45;&gt;Node609</title>
+<path fill="none" stroke="#191970" d="M84.08,-3417.3246C85.1977,-3163.1738 99.2927,-530.2713 204,-409 210.4132,-401.5723 218.7327,-396.4592 227.8433,-393.0089"/>
+<polygon fill="#191970" stroke="#191970" points="80.5801,-3417.3247 84.0374,-3427.3396 87.58,-3417.3546 80.5801,-3417.3247"/>
 </g>
-<!-- Node629 -->
-<g id="node634" class="node">
-<title>Node629</title>
-<g id="a_node634"><a xlink:href="classtvm_1_1tir_1_1TensorIntrinNode.html" target="_top" xlink:title="Tensor intrinsics for tensorization. ">
-<polygon fill="#ffffff" stroke="#000000" points="234.5,-10327.5 234.5,-10346.5 375.5,-10346.5 375.5,-10327.5 234.5,-10327.5"/>
-<text text-anchor="middle" x="305" y="-10334.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::TensorIntrinNode</text>
+<!-- Node610 -->
+<g id="node615" class="node">
+<title>Node610</title>
+<g id="a_node615"><a xlink:href="classtvm_1_1tir_1_1StmtNode.html" target="_top" xlink:title="Base node of all statements. ">
+<polygon fill="#ffffff" stroke="#000000" points="251.5,-342.5 251.5,-361.5 358.5,-361.5 358.5,-342.5 251.5,-342.5"/>
+<text text-anchor="middle" x="305" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::StmtNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node629 -->
-<g id="edge633" class="edge">
-<title>Node0&#45;&gt;Node629</title>
-<path fill="none" stroke="#191970" d="M84.1722,-3456.8719C87.6815,-3859.5317 144.2833,-10247.2662 204,-10318 211.8267,-10327.2707 222.6218,-10332.9569 234.2559,-10336.3088"/>
-<polygon fill="#191970" stroke="#191970" points="87.6708,-3456.6861 84.0839,-3446.7169 80.6711,-3456.747 87.6708,-3456.6861"/>
+<!-- Node0&#45;&gt;Node610 -->
+<g id="edge614" class="edge">
+<title>Node0&#45;&gt;Node610</title>
+<path fill="none" stroke="#191970" d="M84.0695,-3417.4661C85.0607,-3162.4346 97.9573,-493.8789 204,-371 215.7153,-357.4247 233.7982,-351.5798 251.4435,-349.4881"/>
+<polygon fill="#191970" stroke="#191970" points="80.5696,-3417.4837 84.032,-3427.4968 87.5695,-3417.51 80.5696,-3417.4837"/>
 </g>
 <!-- Node630 -->
 <g id="node635" class="node">
 <title>Node630</title>
-<g id="a_node635"><a xlink:href="classtvm_1_1tir_1_1TraceNode.html" target="_top" xlink:title="An execution trace of a scheduling program. ">
-<polygon fill="#ffffff" stroke="#000000" points="250,-10289.5 250,-10308.5 360,-10308.5 360,-10289.5 250,-10289.5"/>
-<text text-anchor="middle" x="305" y="-10296.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::TraceNode</text>
+<g id="a_node635"><a xlink:href="classtvm_1_1tir_1_1StmtSRefNode.html" target="_top" xlink:title="An object that refers to schedulable elements (block/for&#45;loop) in TensorIR, aka &quot;sref&quot;. ">
+<polygon fill="#ffffff" stroke="#000000" points="240.5,-304.5 240.5,-323.5 369.5,-323.5 369.5,-304.5 240.5,-304.5"/>
+<text text-anchor="middle" x="305" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::StmtSRefNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node630 -->
 <g id="edge634" class="edge">
 <title>Node0&#45;&gt;Node630</title>
-<path fill="none" stroke="#191970" d="M84.1742,-3456.7584C87.7238,-3857.1192 144.9545,-10208.3873 204,-10279 215.2372,-10292.4386 232.672,-10298.5191 249.9126,-10300.9058"/>
-<polygon fill="#191970" stroke="#191970" points="87.6733,-3456.6301 84.0849,-3446.6615 80.6736,-3456.6921 87.6733,-3456.6301"/>
+<path fill="none" stroke="#191970" d="M84.0607,-3417.2242C84.938,-3159.0338 96.6747,-457.4252 204,-333 213.2648,-322.2591 226.5156,-316.3569 240.3834,-313.3241"/>
+<polygon fill="#191970" stroke="#191970" points="80.5604,-3417.3677 84.0277,-3427.3791 87.5603,-3417.3906 80.5604,-3417.3677"/>
 </g>
 <!-- Node631 -->
 <g id="node636" class="node">
 <title>Node631</title>
-<g id="a_node636"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html" target="_top" xlink:title="This object contains information post&#45;allocation for PoolInfo objects. ">
-<polygon fill="#ffffff" stroke="#000000" points="236.5,-10240 236.5,-10270 373.5,-10270 373.5,-10240 236.5,-10240"/>
-<text text-anchor="start" x="244.5" y="-10258" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::Allocated</text>
-<text text-anchor="middle" x="305" y="-10247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">PoolInfoNode</text>
+<g id="a_node636"><a xlink:href="classtvm_1_1tir_1_1TensorIntrinNode.html" target="_top" xlink:title="Tensor intrinsics for tensorization. ">
+<polygon fill="#ffffff" stroke="#000000" points="234.5,-10431.5 234.5,-10450.5 375.5,-10450.5 375.5,-10431.5 234.5,-10431.5"/>
+<text text-anchor="middle" x="305" y="-10438.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::TensorIntrinNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node631 -->
 <g id="edge635" class="edge">
 <title>Node0&#45;&gt;Node631</title>
-<path fill="none" stroke="#191970" d="M84.011,-3456.993C84.2701,-3855.7457 90.1406,-10087.1391 204,-10230 212.1624,-10240.2415 223.8022,-10246.6873 236.2951,-10250.6658"/>
-<polygon fill="#191970" stroke="#191970" points="87.511,-3456.9066 84.0049,-3446.9088 80.5111,-3456.9109 87.511,-3456.9066"/>
+<path fill="none" stroke="#191970" d="M84.167,-3456.871C87.5977,-3862.7196 143.3754,-10350.1719 204,-10422 211.8255,-10431.2717 222.62,-10436.9584 234.254,-10440.3104"/>
+<polygon fill="#191970" stroke="#191970" points="87.6669,-3456.8339 84.0826,-3446.8638 80.6672,-3456.893 87.6669,-3456.8339"/>
 </g>
 <!-- Node632 -->
 <g id="node637" class="node">
 <title>Node632</title>
-<g id="a_node637"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html" target="_top" xlink:title="This is a composite node that is produced by extract_buffer_info analysis pass that contains useful g...">
-<polygon fill="#ffffff" stroke="#000000" points="235,-10191 235,-10221 375,-10221 375,-10191 235,-10191"/>
-<text text-anchor="start" x="243" y="-10209" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfo</text>
-<text text-anchor="middle" x="305" y="-10198" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">AnalysisNode</text>
+<g id="a_node637"><a xlink:href="classtvm_1_1tir_1_1TraceNode.html" target="_top" xlink:title="An execution trace of a scheduling program. ">
+<polygon fill="#ffffff" stroke="#000000" points="250,-10393.5 250,-10412.5 360,-10412.5 360,-10393.5 250,-10393.5"/>
+<text text-anchor="middle" x="305" y="-10400.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::TraceNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node632 -->
 <g id="edge636" class="edge">
 <title>Node0&#45;&gt;Node632</title>
-<path fill="none" stroke="#191970" d="M84.0135,-3456.8488C84.3221,-3852.7256 90.9525,-10039.1765 204,-10181 211.8253,-10190.8172 222.8458,-10197.1466 234.7498,-10201.1583"/>
-<polygon fill="#191970" stroke="#191970" points="87.5136,-3456.8347 84.0061,-3446.8373 80.5136,-3456.8399 87.5136,-3456.8347"/>
+<path fill="none" stroke="#191970" d="M84.1716,-3457.0587C87.6678,-3863.5047 144.0666,-10311.3065 204,-10383 215.2354,-10396.44 232.6698,-10402.521 249.9106,-10404.9075"/>
+<polygon fill="#191970" stroke="#191970" points="87.6694,-3456.7779 84.0836,-3446.8083 80.6696,-3456.838 87.6694,-3456.7779"/>
 </g>
 <!-- Node633 -->
 <g id="node638" class="node">
 <title>Node633</title>
-<g id="a_node638"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html" target="_top" xlink:title="Describes an abstract memory buffer that will get allocated inside a pool. The actual memory buffer i...">
-<polygon fill="#ffffff" stroke="#000000" points="222.5,-10152.5 222.5,-10171.5 387.5,-10171.5 387.5,-10152.5 222.5,-10152.5"/>
-<text text-anchor="middle" x="305" y="-10159.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfoNode</text>
+<g id="a_node638"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html" target="_top" xlink:title="This object contains information post&#45;allocation for PoolInfo objects. ">
+<polygon fill="#ffffff" stroke="#000000" points="236.5,-10344 236.5,-10374 373.5,-10374 373.5,-10344 236.5,-10344"/>
+<text text-anchor="start" x="244.5" y="-10362" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::Allocated</text>
+<text text-anchor="middle" x="305" y="-10351" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">PoolInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node633 -->
 <g id="edge637" class="edge">
 <title>Node0&#45;&gt;Node633</title>
-<path fill="none" stroke="#191970" d="M84.1821,-3456.9586C87.8341,-3855.0009 145.8149,-10074.1122 204,-10143 209.0657,-10148.9975 215.3738,-10153.4947 222.3474,-10156.8301"/>
-<polygon fill="#191970" stroke="#191970" points="87.6815,-3456.8596 84.09,-3446.8921 80.6817,-3456.9238 87.6815,-3456.8596"/>
+<path fill="none" stroke="#191970" d="M84.0055,-3456.6968C84.1556,-3855.8337 88.3595,-10188.8647 204,-10334 212.1611,-10344.2426 223.8003,-10350.6888 236.293,-10354.6675"/>
+<polygon fill="#191970" stroke="#191970" points="87.5056,-3456.6297 84.0021,-3446.6309 80.5056,-3456.6322 87.5056,-3456.6297"/>
 </g>
 <!-- Node634 -->
 <g id="node639" class="node">
 <title>Node634</title>
-<g id="a_node639"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html" target="_top" xlink:title="The pool allocation produced after the USMP algorithm. ">
-<polygon fill="#ffffff" stroke="#000000" points="211.5,-10114.5 211.5,-10133.5 398.5,-10133.5 398.5,-10114.5 211.5,-10114.5"/>
-<text text-anchor="middle" x="305" y="-10121.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::PoolAllocationNode</text>
+<g id="a_node639"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1BufferInfoAnalysisNode.html" target="_top" xlink:title="This is a composite node that is produced by extract_buffer_info analysis pass that contains useful g...">
+<polygon fill="#ffffff" stroke="#000000" points="235,-10295 235,-10325 375,-10325 375,-10295 235,-10295"/>
+<text text-anchor="start" x="243" y="-10313" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfo</text>
+<text text-anchor="middle" x="305" y="-10302" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">AnalysisNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node634 -->
 <g id="edge638" class="edge">
 <title>Node0&#45;&gt;Node634</title>
-<path fill="none" stroke="#191970" d="M84.0054,-3456.9257C84.1532,-3851.2651 88.3106,-9968.0446 204,-10105 207.1087,-10108.6801 210.6852,-10111.7954 214.5961,-10114.4239"/>
-<polygon fill="#191970" stroke="#191970" points="87.5054,-3456.7302 84.002,-3446.7314 80.5054,-3456.7326 87.5054,-3456.7302"/>
+<path fill="none" stroke="#191970" d="M84.008,-3456.851C84.2093,-3855.9588 89.2002,-10140.9382 204,-10285 211.824,-10294.8183 222.8439,-10301.1481 234.7477,-10305.16"/>
+<polygon fill="#191970" stroke="#191970" points="87.508,-3456.5609 84.0033,-3446.5625 80.508,-3456.5642 87.508,-3456.5609"/>
 </g>
 <!-- Node635 -->
 <g id="node640" class="node">
 <title>Node635</title>
-<g id="a_node640"><a xlink:href="classtvm_1_1transform_1_1PassContextNode.html" target="_top" xlink:title="PassContextNode contains the information that a pass can rely on, such as analysis results...">
-<polygon fill="#ffffff" stroke="#000000" points="214,-10076.5 214,-10095.5 396,-10095.5 396,-10076.5 214,-10076.5"/>
-<text text-anchor="middle" x="305" y="-10083.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassContextNode</text>
+<g id="a_node640"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1BufferInfoNode.html" target="_top" xlink:title="Describes an abstract memory buffer that will get allocated inside a pool. The actual memory buffer i...">
+<polygon fill="#ffffff" stroke="#000000" points="222.5,-10256.5 222.5,-10275.5 387.5,-10275.5 387.5,-10256.5 222.5,-10256.5"/>
+<text text-anchor="middle" x="305" y="-10263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::BufferInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node635 -->
 <g id="edge639" class="edge">
 <title>Node0&#45;&gt;Node635</title>
-<path fill="none" stroke="#191970" d="M84.0074,-3456.8122C84.1953,-3848.9047 88.9627,-9930.8308 204,-10067 207.1089,-10070.68 210.6855,-10073.7951 214.5966,-10076.4235"/>
-<polygon fill="#191970" stroke="#191970" points="87.5075,-3456.6744 84.003,-3446.676 80.5075,-3456.6775 87.5075,-3456.6744"/>
+<path fill="none" stroke="#191970" d="M84.174,-3456.6668C87.7199,-3855.1722 144.8929,-10177.0012 204,-10247 209.0649,-10252.9982 215.3724,-10257.4958 222.3457,-10260.8315"/>
+<polygon fill="#191970" stroke="#191970" points="87.6735,-3456.5852 84.0848,-3446.6167 80.6738,-3456.6474 87.6735,-3456.5852"/>
 </g>
 <!-- Node636 -->
 <g id="node641" class="node">
 <title>Node636</title>
-<g id="a_node641"><a xlink:href="classtvm_1_1transform_1_1PassInfoNode.html" target="_top" xlink:title="Meta data that will be used to help optimization and analysis. ">
-<polygon fill="#ffffff" stroke="#000000" points="224,-10038.5 224,-10057.5 386,-10057.5 386,-10038.5 224,-10038.5"/>
-<text text-anchor="middle" x="305" y="-10045.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassInfoNode</text>
+<g id="a_node641"><a xlink:href="structtvm_1_1tir_1_1usmp_1_1PoolAllocationNode.html" target="_top" xlink:title="The pool allocation produced after the USMP algorithm. ">
+<polygon fill="#ffffff" stroke="#000000" points="211.5,-10218.5 211.5,-10237.5 398.5,-10237.5 398.5,-10218.5 211.5,-10218.5"/>
+<text text-anchor="middle" x="305" y="-10225.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::usmp::PoolAllocationNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node636 -->
 <g id="edge640" class="edge">
 <title>Node0&#45;&gt;Node636</title>
-<path fill="none" stroke="#191970" d="M84.0095,-3456.6987C84.2373,-3846.5442 89.6147,-9893.6169 204,-10029 209.4121,-10035.4056 216.2413,-10040.0996 223.7849,-10043.4945"/>
-<polygon fill="#191970" stroke="#191970" points="87.5095,-3456.6186 84.004,-3446.6205 80.5095,-3456.6224 87.5095,-3456.6186"/>
+<path fill="none" stroke="#191970" d="M84.1776,-3456.8513C87.7688,-3855.9385 145.2337,-10139.4117 204,-10209 207.1082,-10212.6806 210.6842,-10215.7961 214.5949,-10218.4249"/>
+<polygon fill="#191970" stroke="#191970" points="87.675,-3456.5312 84.0853,-3446.563 80.6753,-3456.5941 87.675,-3456.5312"/>
 </g>
 <!-- Node637 -->
 <g id="node642" class="node">
 <title>Node637</title>
-<g id="a_node642"><a xlink:href="classtvm_1_1transform_1_1PassNode.html" target="_top" xlink:title="PassNode is the base type of differnt types of optimization passes. It is designed as a pure class an...">
-<polygon fill="#ffffff" stroke="#000000" points="233.5,-10000.5 233.5,-10019.5 376.5,-10019.5 376.5,-10000.5 233.5,-10000.5"/>
-<text text-anchor="middle" x="305" y="-10007.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassNode</text>
+<g id="a_node642"><a xlink:href="classtvm_1_1transform_1_1PassContextNode.html" target="_top" xlink:title="PassContextNode contains the information that a pass can rely on, such as analysis results...">
+<polygon fill="#ffffff" stroke="#000000" points="214,-10180.5 214,-10199.5 396,-10199.5 396,-10180.5 214,-10180.5"/>
+<text text-anchor="middle" x="305" y="-10187.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassContextNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node637 -->
 <g id="edge641" class="edge">
 <title>Node0&#45;&gt;Node637</title>
-<path fill="none" stroke="#191970" d="M84.0115,-3456.5851C84.2794,-3844.1837 90.2668,-9856.4031 204,-9991 211.658,-10000.0629 222.1528,-10005.6994 233.4937,-10009.0781"/>
-<polygon fill="#191970" stroke="#191970" points="87.5116,-3456.5628 84.005,-3446.5651 80.5116,-3456.5673 87.5116,-3456.5628"/>
+<path fill="none" stroke="#191970" d="M84.1786,-3456.7399C87.7895,-3853.5879 145.5599,-10101.805 204,-10171 207.1084,-10174.6804 210.6846,-10177.7959 214.5953,-10180.4245"/>
+<polygon fill="#191970" stroke="#191970" points="87.6765,-3456.4772 84.0858,-3446.5094 80.6768,-3456.5408 87.6765,-3456.4772"/>
+</g>
+<!-- Node638 -->
+<g id="node643" class="node">
+<title>Node638</title>
+<g id="a_node643"><a xlink:href="classtvm_1_1transform_1_1PassInfoNode.html" target="_top" xlink:title="Meta data that will be used to help optimization and analysis. ">
+<polygon fill="#ffffff" stroke="#000000" points="224,-10142.5 224,-10161.5 386,-10161.5 386,-10142.5 224,-10142.5"/>
+<text text-anchor="middle" x="305" y="-10149.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassInfoNode</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node638 -->
+<g id="edge642" class="edge">
+<title>Node0&#45;&gt;Node638</title>
+<path fill="none" stroke="#191970" d="M84.1824,-3456.9289C87.8396,-3854.3777 145.9007,-10064.2157 204,-10133 209.4112,-10139.4064 216.2399,-10144.1009 223.7831,-10147.4961"/>
+<polygon fill="#191970" stroke="#191970" points="87.6818,-3456.8448 84.0901,-3446.8774 80.6821,-3456.9091 87.6818,-3456.8448"/>
 </g>
 <!-- Node639 -->
 <g id="node644" class="node">
 <title>Node639</title>
-<g id="a_node644"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types. ">
-<polygon fill="#ffffff" stroke="#000000" points="260,-9962.5 260,-9981.5 350,-9981.5 350,-9962.5 260,-9962.5"/>
-<text text-anchor="middle" x="305" y="-9969.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TypeNode</text>
+<g id="a_node644"><a xlink:href="classtvm_1_1transform_1_1PassNode.html" target="_top" xlink:title="PassNode is the base type of differnt types of optimization passes. It is designed as a pure class an...">
+<polygon fill="#ffffff" stroke="#000000" points="233.5,-10104.5 233.5,-10123.5 376.5,-10123.5 376.5,-10104.5 233.5,-10104.5"/>
+<text text-anchor="middle" x="305" y="-10111.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::transform::PassNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node639 -->
 <g id="edge643" class="edge">
 <title>Node0&#45;&gt;Node639</title>
-<path fill="none" stroke="#191970" d="M84.1412,-3456.9698C86.0071,-3711.2773 107.3241,-6344.3404 204,-8469 232.5303,-9096.0136 296.3358,-9868.3728 304.2001,-9962.4684"/>
-<polygon fill="#191970" stroke="#191970" points="87.639,-3456.6439 84.0668,-3446.6695 80.6392,-3456.6945 87.639,-3456.6439"/>
+<path fill="none" stroke="#191970" d="M84.0059,-3456.8958C84.1643,-3850.6439 88.4822,-9958.2515 204,-10095 211.6567,-10104.064 222.1509,-10109.701 233.4916,-10113.0799"/>
+<polygon fill="#191970" stroke="#191970" points="87.506,-3456.7155 84.0023,-3446.7168 80.506,-3456.7181 87.506,-3456.7155"/>
 </g>
-<!-- Node654 -->
-<g id="node659" class="node">
-<title>Node654</title>
-<g id="a_node659"><a xlink:href="classtvm_1_1TypeReporterNode.html" target="_top" xlink:title="reporter that reports back to the type resolution information. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-8440.5 239.5,-8459.5 370.5,-8459.5 370.5,-8440.5 239.5,-8440.5"/>
-<text text-anchor="middle" x="305" y="-8447.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TypeReporterNode</text>
+<!-- Node641 -->
+<g id="node646" class="node">
+<title>Node641</title>
+<g id="a_node646"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types. ">
+<polygon fill="#ffffff" stroke="#000000" points="260,-10066.5 260,-10085.5 350,-10085.5 350,-10066.5 260,-10066.5"/>
+<text text-anchor="middle" x="305" y="-10073.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TypeNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node654 -->
-<g id="edge658" class="edge">
-<title>Node0&#45;&gt;Node654</title>
-<path fill="none" stroke="#191970" d="M84.1273,-3456.8952C86.3309,-3794.9579 117.4882,-8329.2098 204,-8431 213.0127,-8441.6044 225.9096,-8447.5106 239.487,-8450.5971"/>
-<polygon fill="#191970" stroke="#191970" points="87.6257,-3456.6308 84.0611,-3446.6537 80.6259,-3456.6761 87.6257,-3456.6308"/>
+<!-- Node0&#45;&gt;Node641 -->
+<g id="edge645" class="edge">
+<title>Node0&#45;&gt;Node641</title>
+<path fill="none" stroke="#191970" d="M84.1375,-3456.9047C85.9738,-3713.0365 107.1553,-6390.5797 204,-8551 232.5175,-9187.1699 296.3342,-9970.8533 304.1999,-10066.3287"/>
+<polygon fill="#191970" stroke="#191970" points="87.635,-3456.525 84.0644,-3446.55 80.6352,-3456.5745 87.635,-3456.525"/>
 </g>
-<!-- Node655 -->
-<g id="node660" class="node">
-<title>Node655</title>
-<g id="a_node660"><a xlink:href="structtvm_1_1WorkspaceMemoryPoolsNode.html" target="_top" xlink:title="tvm::WorkspaceMemoryPoolsNode">
-<polygon fill="#ffffff" stroke="#000000" points="211.5,-8402.5 211.5,-8421.5 398.5,-8421.5 398.5,-8402.5 211.5,-8402.5"/>
-<text text-anchor="middle" x="305" y="-8409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::WorkspaceMemoryPoolsNode</text>
+<!-- Node656 -->
+<g id="node661" class="node">
+<title>Node656</title>
+<g id="a_node661"><a xlink:href="classtvm_1_1TypeReporterNode.html" target="_top" xlink:title="reporter that reports back to the type resolution information. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-8522.5 239.5,-8541.5 370.5,-8541.5 370.5,-8522.5 239.5,-8522.5"/>
+<text text-anchor="middle" x="305" y="-8529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TypeReporterNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node655 -->
-<g id="edge659" class="edge">
-<title>Node0&#45;&gt;Node655</title>
-<path fill="none" stroke="#191970" d="M84.13,-3456.7439C86.3793,-3792.2347 118.1368,-8291.9917 204,-8393 207.1201,-8396.6705 210.7056,-8399.778 214.6235,-8402.4006"/>
-<polygon fill="#191970" stroke="#191970" points="87.6289,-3456.5567 84.0624,-3446.5802 80.6291,-3456.6033 87.6289,-3456.5567"/>
+<!-- Node0&#45;&gt;Node656 -->
+<g id="edge660" class="edge">
+<title>Node0&#45;&gt;Node656</title>
+<path fill="none" stroke="#191970" d="M84.1214,-3457.2218C86.2265,-3800.8343 116.0886,-8409.5223 204,-8513 213.0107,-8523.6062 225.9067,-8529.513 239.484,-8532.5997"/>
+<polygon fill="#191970" stroke="#191970" points="87.619,-3456.7907 84.0582,-3446.8121 80.6191,-3456.8333 87.619,-3456.7907"/>
+</g>
+<!-- Node657 -->
+<g id="node662" class="node">
+<title>Node657</title>
+<g id="a_node662"><a xlink:href="structtvm_1_1WorkspaceMemoryPoolsNode.html" target="_top" xlink:title="tvm::WorkspaceMemoryPoolsNode">
+<polygon fill="#ffffff" stroke="#000000" points="211.5,-8484.5 211.5,-8503.5 398.5,-8503.5 398.5,-8484.5 211.5,-8484.5"/>
+<text text-anchor="middle" x="305" y="-8491.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::WorkspaceMemoryPoolsNode</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node657 -->
+<g id="edge661" class="edge">
+<title>Node0&#45;&gt;Node657</title>
+<path fill="none" stroke="#191970" d="M84.1242,-3457.0705C86.2749,-3798.1111 116.7372,-8372.3043 204,-8475 207.1194,-8478.6711 210.7043,-8481.7791 214.6218,-8484.4021"/>
+<polygon fill="#191970" stroke="#191970" points="87.6221,-3456.7166 84.0595,-3446.7387 80.6222,-3456.7604 87.6221,-3456.7166"/>
 </g>
 <!-- Node2 -->
 <g id="node11" class="node">
 <title>Node2</title>
 <g id="a_node11"><a xlink:href="classtvm_1_1TensorAffineTypeNode.html" target="_top" xlink:title="TensorAffineType representation. ">
-<polygon fill="#ffffff" stroke="#000000" points="464.5,-11371.5 464.5,-11390.5 614.5,-11390.5 614.5,-11371.5 464.5,-11371.5"/>
-<text text-anchor="middle" x="539.5" y="-11378.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TensorAffineTypeNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="464.5,-11512.5 464.5,-11531.5 614.5,-11531.5 614.5,-11512.5 464.5,-11512.5"/>
+<text text-anchor="middle" x="539.5" y="-11519.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TensorAffineTypeNode</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge6" class="edge">
 <title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="#191970" d="M374.4354,-8374.2801C386.5787,-8377.5789 397.8972,-8383.3504 406,-8393 512.0415,-8519.2836 336.996,-11233.8524 442,-11361 447.9417,-11368.1947 455.7149,-11373.244 464.2827,-11376.7329"/>
-<polygon fill="#191970" stroke="#191970" points="375.0804,-8370.8386 364.5655,-8372.1378 373.5956,-8377.6793 375.0804,-8370.8386"/>
+<path fill="none" stroke="#191970" d="M374.4372,-8456.2785C386.5804,-8459.5774 397.8983,-8465.3494 406,-8475 460.0847,-8539.4245 388.1254,-11438.3996 442,-11503 447.9644,-11510.1519 455.7509,-11515.132 464.3252,-11518.5382"/>
+<polygon fill="#191970" stroke="#191970" points="375.0823,-8452.8371 364.5674,-8454.1362 373.5974,-8459.6778 375.0823,-8452.8371"/>
 </g>
 <!-- Node3 -->
 <g id="node12" class="node">
 <title>Node3</title>
 <g id="a_node12"><a xlink:href="classtvm_1_1TupleAffineTypeNode.html" target="_top" xlink:title="TupleAffineType representation. ">
-<polygon fill="#ffffff" stroke="#000000" points="467.5,-11409.5 467.5,-11428.5 611.5,-11428.5 611.5,-11409.5 467.5,-11409.5"/>
-<text text-anchor="middle" x="539.5" y="-11416.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TupleAffineTypeNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="467.5,-11474.5 467.5,-11493.5 611.5,-11493.5 611.5,-11474.5 467.5,-11474.5"/>
+<text text-anchor="middle" x="539.5" y="-11481.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::TupleAffineTypeNode</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node3 -->
 <g id="edge7" class="edge">
 <title>Node1&#45;&gt;Node3</title>
-<path fill="none" stroke="#191970" d="M374.4366,-8374.2791C386.5798,-8377.5779 397.8979,-8383.3498 406,-8393 513.4247,-8520.9511 334.9926,-11271.6996 442,-11400 448.6275,-11407.9463 457.5042,-11413.2114 467.2117,-11416.6157"/>
-<polygon fill="#191970" stroke="#191970" points="375.0816,-8370.8376 364.5668,-8372.1367 373.5968,-8377.6783 375.0816,-8370.8376"/>
+<path fill="none" stroke="#191970" d="M374.436,-8456.2795C386.5793,-8459.5784 397.8976,-8465.3501 406,-8475 512.7863,-8602.1815 336.2586,-11335.9484 442,-11464 448.6015,-11471.9944 457.4644,-11477.34 467.166,-11480.8393"/>
+<polygon fill="#191970" stroke="#191970" points="375.0811,-8452.8381 364.5662,-8454.1372 373.5962,-8459.6788 375.0811,-8452.8381"/>
 </g>
 <!-- Node18 -->
 <g id="node27" class="node">
 <title>Node18</title>
 <g id="a_node27"><a xlink:href="classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html" target="_top" xlink:title="A wrapper for cost model defined by python code This class will call functions defined in the python...">
-<polygon fill="#ffffff" stroke="#000000" points="469,-11273 469,-11303 610,-11303 610,-11273 469,-11273"/>
-<text text-anchor="start" x="477" y="-11291" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11280" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PythonBasedModelNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="469,-11425 469,-11455 610,-11455 610,-11425 469,-11425"/>
+<text text-anchor="start" x="477" y="-11443" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11432" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PythonBasedModelNode</text>
 </a>
 </g>
 </g>
 <!-- Node17&#45;&gt;Node18 -->
 <g id="edge22" class="edge">
 <title>Node17&#45;&gt;Node18</title>
-<path fill="none" stroke="#191970" d="M373.0903,-7783.387C385.8193,-7787.2273 397.7092,-7793.6197 406,-7804 465.9669,-7879.0798 382.7001,-11187.3923 442,-11263 448.9019,-11271.8 458.4467,-11277.7625 468.8814,-11281.7563"/>
-<polygon fill="#191970" stroke="#191970" points="373.7888,-7779.954 363.2385,-7780.9239 372.0909,-7786.7449 373.7888,-7779.954"/>
+<path fill="none" stroke="#191970" d="M373.0919,-7865.3857C385.8208,-7869.2261 397.7102,-7875.6188 406,-7886 467.1724,-7962.6053 381.5081,-11337.8561 442,-11415 448.901,-11423.8007 458.4453,-11429.7636 468.8799,-11433.7575"/>
+<polygon fill="#191970" stroke="#191970" points="373.7905,-7861.9527 363.2401,-7862.9226 372.0926,-7868.7436 373.7905,-7861.9527"/>
 </g>
 <!-- Node19 -->
 <g id="node28" class="node">
 <title>Node19</title>
 <g id="a_node28"><a xlink:href="classtvm_1_1auto__scheduler_1_1RandomModelNode.html" target="_top" xlink:title="The cost model returning random value for all predictions. ">
-<polygon fill="#ffffff" stroke="#000000" points="480.5,-11322 480.5,-11352 598.5,-11352 598.5,-11322 480.5,-11322"/>
-<text text-anchor="start" x="488.5" y="-11340" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11329" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RandomModelNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="480.5,-11376 480.5,-11406 598.5,-11406 598.5,-11376 480.5,-11376"/>
+<text text-anchor="start" x="488.5" y="-11394" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11383" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RandomModelNode</text>
 </a>
 </g>
 </g>
 <!-- Node17&#45;&gt;Node19 -->
 <g id="edge23" class="edge">
 <title>Node17&#45;&gt;Node19</title>
-<path fill="none" stroke="#191970" d="M373.0914,-7783.3861C385.8203,-7787.2265 397.7099,-7793.6191 406,-7804 466.8108,-7880.1477 381.8657,-11235.317 442,-11312 451.3815,-11323.9632 465.6471,-11330.6825 480.3937,-11334.3405"/>
-<polygon fill="#191970" stroke="#191970" points="373.79,-7779.953 363.2396,-7780.923 372.0921,-7786.744 373.79,-7779.953"/>
+<path fill="none" stroke="#191970" d="M373.0908,-7865.3866C385.8197,-7869.227 397.7095,-7875.6194 406,-7886 466.3286,-7961.5375 382.3425,-11289.9314 442,-11366 451.382,-11377.9628 465.6478,-11384.682 480.3944,-11388.34"/>
+<polygon fill="#191970" stroke="#191970" points="373.7893,-7861.9536 363.239,-7862.9235 372.0914,-7868.7445 373.7893,-7861.9536"/>
 </g>
 <!-- Node23 -->
 <g id="node32" class="node">
 <title>Node23</title>
 <g id="a_node32"><a xlink:href="classtvm_1_1auto__scheduler_1_1PythonBasedMeasureCallbackNode.html" target="_top" xlink:title="A wrapper for measure callback defined by python code This class will call functions defined in the p...">
-<polygon fill="#ffffff" stroke="#000000" points="442,-11175 442,-11205 637,-11205 637,-11175 442,-11175"/>
-<text text-anchor="start" x="450" y="-11193" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11182" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PythonBasedMeasureCallbackNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="442,-11327 442,-11357 637,-11357 637,-11327 442,-11327"/>
+<text text-anchor="start" x="450" y="-11345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11334" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PythonBasedMeasureCallbackNode</text>
 </a>
 </g>
 </g>
 <!-- Node22&#45;&gt;Node23 -->
 <g id="edge27" class="edge">
 <title>Node22&#45;&gt;Node23</title>
-<path fill="none" stroke="#191970" d="M380.346,-7638.9045C390.2746,-7642.8419 399.3095,-7648.6221 406,-7657 466.8108,-7733.1477 381.8657,-11088.317 442,-11165 445.0193,-11168.8502 448.5445,-11172.1573 452.4289,-11174.9939"/>
-<polygon fill="#191970" stroke="#191970" points="381.194,-7635.4982 370.6005,-7635.6694 378.9886,-7642.1417 381.194,-7635.4982"/>
+<path fill="none" stroke="#191970" d="M380.3475,-7720.9033C390.2759,-7724.8409 399.3103,-7730.6214 406,-7739 468.0163,-7816.6732 380.6738,-11238.7808 442,-11317 445.0189,-11320.8505 448.5439,-11324.1578 452.428,-11326.9947"/>
+<polygon fill="#191970" stroke="#191970" points="381.1956,-7717.4971 370.6021,-7717.6682 378.9901,-7724.1406 381.1956,-7717.4971"/>
 </g>
 <!-- Node24 -->
 <g id="node33" class="node">
 <title>Node24</title>
 <g id="a_node33"><a xlink:href="classtvm_1_1auto__scheduler_1_1RecordToFileNode.html" target="_top" xlink:title="Callback for logging the input and results of measurements to file. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11224 481.5,-11254 597.5,-11254 597.5,-11224 481.5,-11224"/>
-<text text-anchor="start" x="489.5" y="-11242" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11231" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordToFileNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11278 481.5,-11308 597.5,-11308 597.5,-11278 481.5,-11278"/>
+<text text-anchor="start" x="489.5" y="-11296" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11285" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordToFileNode</text>
 </a>
 </g>
 </g>
 <!-- Node22&#45;&gt;Node24 -->
 <g id="edge28" class="edge">
 <title>Node22&#45;&gt;Node24</title>
-<path fill="none" stroke="#191970" d="M380.3471,-7638.9036C390.2755,-7642.8412 399.3101,-7648.6216 406,-7657 467.6546,-7734.2156 381.0313,-11136.2417 442,-11214 451.5963,-11226.2389 466.3044,-11232.9896 481.4103,-11236.5888"/>
-<polygon fill="#191970" stroke="#191970" points="381.1951,-7635.4974 370.6016,-7635.6685 378.9897,-7642.1409 381.1951,-7635.4974"/>
+<path fill="none" stroke="#191970" d="M380.3465,-7720.9041C390.275,-7724.8416 399.3098,-7730.6219 406,-7739 467.1724,-7815.6053 381.5081,-11190.8561 442,-11268 451.5968,-11280.2385 466.3051,-11286.9891 481.4109,-11290.5883"/>
+<polygon fill="#191970" stroke="#191970" points="381.1945,-7717.4979 370.601,-7717.669 378.9891,-7724.1414 381.1945,-7717.4979"/>
 </g>
 <!-- Node28 -->
 <g id="node37" class="node">
 <title>Node28</title>
 <g id="a_node37"><a xlink:href="classtvm_1_1auto__scheduler_1_1LocalBuilderNode.html" target="_top" xlink:title="LocalBuilder use local CPU cores to build programs in parallel. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11126 481.5,-11156 597.5,-11156 597.5,-11126 481.5,-11126"/>
-<text text-anchor="start" x="489.5" y="-11144" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11133" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::LocalBuilderNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11229 481.5,-11259 597.5,-11259 597.5,-11229 481.5,-11229"/>
+<text text-anchor="start" x="489.5" y="-11247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11236" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::LocalBuilderNode</text>
 </a>
 </g>
 </g>
 <!-- Node27&#45;&gt;Node28 -->
 <g id="edge32" class="edge">
 <title>Node27&#45;&gt;Node28</title>
-<path fill="none" stroke="#191970" d="M376.8504,-7490.6027C388.1434,-7494.5311 398.5328,-7500.6468 406,-7510 468.4985,-7588.2834 380.197,-11037.1663 442,-11116 451.5954,-11128.2396 466.3033,-11134.9904 481.4092,-11138.5896"/>
-<polygon fill="#191970" stroke="#191970" points="377.7757,-7487.2268 367.1961,-7487.7942 375.8204,-7493.9482 377.7757,-7487.2268"/>
+<path fill="none" stroke="#191970" d="M376.8509,-7572.6023C388.1438,-7576.5308 398.533,-7582.6466 406,-7592 468.8602,-7670.7411 379.8394,-11139.7055 442,-11219 451.5951,-11231.2398 466.3029,-11237.9908 481.4088,-11241.59"/>
+<polygon fill="#191970" stroke="#191970" points="377.7762,-7569.2265 367.1965,-7569.7938 375.8208,-7575.9478 377.7762,-7569.2265"/>
 </g>
 <!-- Node31 -->
 <g id="node40" class="node">
 <title>Node31</title>
 <g id="a_node40"><a xlink:href="classtvm_1_1auto__scheduler_1_1LocalRunnerNode.html" target="_top" xlink:title="LocalRunner that uses local CPU/GPU to measure the time cost of programs. ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11028 481.5,-11058 597.5,-11058 597.5,-11028 481.5,-11028"/>
-<text text-anchor="start" x="489.5" y="-11046" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11035" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::LocalRunnerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11180 481.5,-11210 597.5,-11210 597.5,-11180 481.5,-11180"/>
+<text text-anchor="start" x="489.5" y="-11198" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11187" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::LocalRunnerNode</text>
 </a>
 </g>
 </g>
 <!-- Node30&#45;&gt;Node31 -->
 <g id="edge35" class="edge">
 <title>Node30&#45;&gt;Node31</title>
-<path fill="none" stroke="#191970" d="M376.4515,-7392.4649C387.8986,-7396.3877 398.4449,-7402.5368 406,-7412 468.4985,-7490.2834 380.197,-10939.1663 442,-11018 451.5954,-11030.2396 466.3033,-11036.9904 481.4092,-11040.5896"/>
-<polygon fill="#191970" stroke="#191970" points="377.2468,-7389.0522 366.67,-7389.6696 375.3233,-7395.7827 377.2468,-7389.0522"/>
+<path fill="none" stroke="#191970" d="M376.4529,-7474.4638C387.8999,-7478.3866 398.4458,-7484.536 406,-7494 469.704,-7573.809 379.005,-11089.6302 442,-11170 451.5943,-11182.2405 466.3018,-11188.9916 481.4078,-11192.5908"/>
+<polygon fill="#191970" stroke="#191970" points="377.2483,-7471.051 366.6715,-7471.6684 375.3248,-7477.7816 377.2483,-7471.051"/>
 </g>
 <!-- Node32 -->
 <g id="node41" class="node">
 <title>Node32</title>
 <g id="a_node41"><a xlink:href="classtvm_1_1auto__scheduler_1_1RPCRunnerNode.html" target="_top" xlink:title="RPCRunner that uses RPC call to measures the time cost of programs on remote devices. Or sometime we may need to use RPC even in local running to insulate the thread environment. (e.g. running CUDA programs) ">
-<polygon fill="#ffffff" stroke="#000000" points="481.5,-11077 481.5,-11107 597.5,-11107 597.5,-11077 481.5,-11077"/>
-<text text-anchor="start" x="489.5" y="-11095" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-11084" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RPCRunnerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="481.5,-11131 481.5,-11161 597.5,-11161 597.5,-11131 481.5,-11131"/>
+<text text-anchor="start" x="489.5" y="-11149" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11138" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RPCRunnerNode</text>
 </a>
 </g>
 </g>
 <!-- Node30&#45;&gt;Node32 -->
 <g id="edge36" class="edge">
 <title>Node30&#45;&gt;Node32</title>
-<path fill="none" stroke="#191970" d="M376.4525,-7392.4641C387.8995,-7396.3869 398.4455,-7402.5363 406,-7412 469.3424,-7491.3513 379.3626,-10987.091 442,-11067 451.5946,-11079.2402 466.3023,-11085.9913 481.4082,-11089.5904"/>
-<polygon fill="#191970" stroke="#191970" points="377.2479,-7389.0513 366.671,-7389.6688 375.3243,-7395.7819 377.2479,-7389.0513"/>
+<path fill="none" stroke="#191970" d="M376.4519,-7474.4646C387.899,-7478.3873 398.4452,-7484.5365 406,-7494 468.8602,-7572.7411 379.8394,-11041.7055 442,-11121 451.5951,-11133.2398 466.3029,-11139.9908 481.4088,-11143.59"/>
+<polygon fill="#191970" stroke="#191970" points="377.2472,-7471.0518 366.6704,-7471.6692 375.3238,-7477.7824 377.2472,-7471.0518"/>
 </g>
 <!-- Node35 -->
 <g id="node44" class="node">
 <title>Node35</title>
 <g id="a_node44"><a xlink:href="classtvm_1_1auto__scheduler_1_1PreloadMeasuredStatesNode.html" target="_top" xlink:title="Preload measured states from a log file. This can resume the state of the search policy. ">
-<polygon fill="#ffffff" stroke="#000000" points="458,-10979 458,-11009 621,-11009 621,-10979 458,-10979"/>
-<text text-anchor="start" x="466" y="-10997" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-10986" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PreloadMeasuredStatesNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="458,-11082 458,-11112 621,-11112 621,-11082 458,-11082"/>
+<text text-anchor="start" x="466" y="-11100" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11089" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PreloadMeasuredStatesNode</text>
 </a>
 </g>
 </g>
 <!-- Node34&#45;&gt;Node35 -->
 <g id="edge39" class="edge">
 <title>Node34&#45;&gt;Node35</title>
-<path fill="none" stroke="#191970" d="M376.4525,-7294.4641C387.8995,-7298.3869 398.4455,-7304.5363 406,-7314 469.3424,-7393.3513 379.3626,-10889.091 442,-10969 446.3122,-10974.5012 451.6572,-10978.8937 457.607,-10982.3895"/>
-<polygon fill="#191970" stroke="#191970" points="377.2479,-7291.0513 366.671,-7291.6688 375.3243,-7297.7819 377.2479,-7291.0513"/>
+<path fill="none" stroke="#191970" d="M376.4529,-7376.4638C387.8999,-7380.3866 398.4458,-7386.536 406,-7396 469.704,-7475.809 379.005,-10991.6302 442,-11072 446.312,-11077.5013 451.6569,-11081.8939 457.6066,-11085.3898"/>
+<polygon fill="#191970" stroke="#191970" points="377.2483,-7373.051 366.6715,-7373.6684 375.3248,-7379.7816 377.2483,-7373.051"/>
 </g>
 <!-- Node41 -->
 <g id="node50" class="node">
 <title>Node41</title>
 <g id="a_node50"><a xlink:href="classtvm_1_1auto__scheduler_1_1AnnotationStepNode.html" target="_top" xlink:title="Annotation step that corresponds to vectorize, parallel, unroll and thread binding. (i.e. te::Stage::vectorize, te::Stage::parallel, te::Stage::vectorize, te::Stage::bind) ">
-<polygon fill="#ffffff" stroke="#000000" points="478,-10489 478,-10519 601,-10519 601,-10489 478,-10489"/>
-<text text-anchor="start" x="486" y="-10507" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-10496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AnnotationStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="478,-10445 478,-10475 601,-10475 601,-10445 478,-10445"/>
+<text text-anchor="start" x="486" y="-10463" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-10452" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AnnotationStepNode</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node41 -->
 <g id="edge45" class="edge">
 <title>Node40&#45;&gt;Node41</title>
-<path fill="none" stroke="#191970" d="M373.0891,-7048.3879C385.8182,-7052.2282 397.7084,-7058.6203 406,-7069 465.1231,-7143.0119 383.5345,-10404.4676 442,-10479 450.844,-10490.2744 464.0258,-10496.8911 477.8591,-10500.6772"/>
-<polygon fill="#191970" stroke="#191970" points="373.7876,-7044.9549 363.2373,-7045.9248 372.0897,-7051.7459 373.7876,-7044.9549"/>
+<path fill="none" stroke="#191970" d="M373.0859,-7130.3905C385.8152,-7134.2306 397.7063,-7140.622 406,-7151 462.9531,-7222.2659 385.68,-10363.2327 442,-10435 450.8462,-10446.2726 464.0289,-10452.8887 477.8623,-10456.6747"/>
+<polygon fill="#191970" stroke="#191970" points="373.7844,-7126.9574 363.234,-7127.9274 372.0865,-7133.7484 373.7844,-7126.9574"/>
 </g>
 <!-- Node42 -->
 <g id="node51" class="node">
 <title>Node42</title>
 <g id="a_node51"><a xlink:href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html" target="_top" xlink:title="Cache read step that corresponds to te::Schedule::cache_read. ">
-<polygon fill="#ffffff" stroke="#000000" points="477.5,-10440 477.5,-10470 601.5,-10470 601.5,-10440 477.5,-10440"/>
-<text text-anchor="start" x="485.5" y="-10458" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-10447" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CacheReadStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="477.5,-10396 477.5,-10426 601.5,-10426 601.5,-10396 477.5,-10396"/>
+<text text-anchor="start" x="485.5" y="-10414" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-10403" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CacheReadStepNode</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node42 -->
 <g id="edge46" class="edge">
 <title>Node40&#45;&gt;Node42</title>
-<path fill="none" stroke="#191970" d="M373.0879,-7048.3889C385.817,-7052.2291 397.7076,-7058.621 406,-7069 464.2792,-7141.944 384.3688,-10356.5429 442,-10430 450.737,-10441.1362 463.7061,-10447.7281 477.3545,-10451.5365"/>
-<polygon fill="#191970" stroke="#191970" points="373.7864,-7044.9559 363.236,-7045.9258 372.0885,-7051.7468 373.7864,-7044.9559"/>
+<path fill="none" stroke="#191970" d="M373.0846,-7130.3915C385.8139,-7134.2316 397.7054,-7140.6227 406,-7151 462.1093,-7221.1981 386.5144,-10315.308 442,-10386 450.7393,-10397.1344 463.7093,-10403.7256 477.3578,-10407.5339"/>
+<polygon fill="#191970" stroke="#191970" points="373.7831,-7126.9585 363.2327,-7127.9285 372.0852,-7133.7495 373.7831,-7126.9585"/>
 </g>
 <!-- Node43 -->
 <g id="node52" class="node">
 <title>Node43</title>
 <g id="a_node52"><a xlink:href="classtvm_1_1auto__scheduler_1_1CacheWriteStepNode.html" target="_top" xlink:title="Cache write step that corresponds to te::Schedule::cache_write. ">
-<polygon fill="#ffffff" stroke="#000000" points="477,-10391 477,-10421 602,-10421 602,-10391 477,-10391"/>
-<text text-anchor="start" x="485" y="-10409" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-10398" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CacheWriteStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="477,-11033 477,-11063 602,-11063 602,-11033 477,-11033"/>
+<text text-anchor="start" x="485" y="-11051" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-11040" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CacheWriteStepNode</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node43 -->
 <g id="edge47" class="edge">
 <title>Node40&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M373.0866,-7048.3899C385.8159,-7052.2301 397.7068,-7058.6216 406,-7069 463.4353,-7140.8762 385.2032,-10308.6182 442,-10381 450.63,-10391.998 463.3877,-10398.5637 476.8506,-10402.3932"/>
-<polygon fill="#191970" stroke="#191970" points="373.7851,-7044.9569 363.2348,-7045.9268 372.0873,-7051.7478 373.7851,-7044.9569"/>
+<path fill="none" stroke="#191970" d="M373.099,-7130.38C385.8275,-7134.2208 397.7149,-7140.6151 406,-7151 473.0795,-7235.0805 375.6675,-10938.3289 442,-11023 450.6213,-11034.0048 463.3758,-11040.573 476.8383,-11044.4028"/>
+<polygon fill="#191970" stroke="#191970" points="373.7977,-7126.947 363.2473,-7127.9168 372.0997,-7133.7379 373.7977,-7126.947"/>
 </g>
 <!-- Node44 -->
 <g id="node53" class="node">
 <title>Node44</title>
 <g id="a_node53"><a xlink:href="classtvm_1_1auto__scheduler_1_1ComputeAtStepNode.html" target="_top" xlink:title="Compute at step that corresponds to te::Stage::compute_at. ">
-<polygon fill="#ffffff" stroke="#000000" points="477,-10342 477,-10372 602,-10372 602,-10342 477,-10342"/>
-<text text-anchor="start" x="485" y="-10360" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-10349" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeAtStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="477,-10984 477,-11014 602,-11014 602,-10984 477,-10984"/>
+<text text-anchor="start" x="485" y="-11002" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-10991" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeAtStepNode</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node44 -->
 <g id="edge48" class="edge">
 <title>Node40&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M373.0853,-7048.3909C385.8147,-7052.231 397.7059,-7058.6223 406,-7069 462.5915,-7139.8083 386.0376,-10260.6935 442,-10332 450.6309,-10342.9973 463.3889,-10349.5627 476.8518,-10353.3922"/>
-<polygon fill="#191970" stroke="#191970" points="373.7838,-7044.9579 363.2335,-7045.9279 372.086,-7051.7489 373.7838,-7044.9579"/>
+<path fill="none" stroke="#191970" d="M373.0981,-7130.3807C385.8266,-7134.2215 397.7143,-7140.6156 406,-7151 472.2356,-7234.0127 376.5019,-10890.4042 442,-10974 450.622,-10985.0043 463.3767,-10991.5723 476.8392,-10995.4021"/>
+<polygon fill="#191970" stroke="#191970" points="373.7967,-7126.9477 363.2464,-7127.9176 372.0988,-7133.7387 373.7967,-7126.9477"/>
 </g>
 <!-- Node45 -->
 <g id="node54" class="node">
 <title>Node45</title>
 <g id="a_node54"><a xlink:href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html" target="_top" xlink:title="Compute inline step that corresponds to te::Stage::compute_inline. ">
-<polygon fill="#ffffff" stroke="#000000" points="469,-10293 469,-10323 610,-10323 610,-10293 469,-10293"/>
-<text text-anchor="start" x="477" y="-10311" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="539.5" y="-10300" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeInlineStepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="469,-10935 469,-10965 610,-10965 610,-10935 469,-10935"/>
+<text text-anchor="start" x="477" y="-10953" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="539.5" y="-10942" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeInlineStepNode</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node45 -->
 <g id="edge49" class="edge">
 <title>Node40&#45;&gt;Node45</title>
-<path fill="none" stroke="#191970" d="M373.084,-7048.392C385.8134,-7052.232 397.705,-7058.623 406,-7069 461.7476,-7138.7404 386.872,-10212.7688 442,-10283 448.9054,-10291.7973 458.4519,-10297.7584 468.8873,-10301.7517"/>
... 15112 lines suppressed ...