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 2023/02/16 23:17:25 UTC

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

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 467adff231 deploying docs (apache/tvm@0c965f442a3456cc1052338b0146aacb4fea367e)
467adff231 is described below

commit 467adff23136d61fdb6fcb58c9be7b116ddc47e9
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Thu Feb 16 23:17:17 2023 +0000

    deploying docs (apache/tvm@0c965f442a3456cc1052338b0146aacb4fea367e)
---
 docs/_images/sphx_glr_micro_train_001.png          |  Bin 312563 -> 309479 bytes
 docs/_images/sphx_glr_micro_train_thumb.png        |  Bin 22858 -> 23348 bytes
 .../how_to/compile_models/from_darknet.rst.txt     |    2 +-
 .../how_to/compile_models/from_keras.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_adreno.rst.txt   |    2 +-
 .../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       |   22 +-
 .../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                 | 1099 ++-
 .../tune_network_cuda.rst.txt                      |    4 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |   18 +-
 .../tune_with_autotvm/sg_execution_times.rst.txt   |    4 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     |  344 +-
 .../work_with_microtvm/micro_autotune.rst.txt      |   16 +-
 .../work_with_microtvm/micro_pytorch.rst.txt       |    4 +-
 .../how_to/work_with_microtvm/micro_train.rst.txt  |   18 +-
 .../work_with_microtvm/sg_execution_times.rst.txt  |   12 +-
 .../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 +-
 .../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     |    4 +-
 docs/_sources/tutorial/autotvm_matmul_x86.rst.txt  |   20 +-
 docs/_sources/tutorial/autotvm_relay_x86.rst.txt   |   56 +-
 .../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       |   47 +-
 docs/commit_hash                                   |    2 +-
 docs/how_to/compile_models/from_darknet.html       |    2 +-
 docs/how_to/compile_models/from_keras.html         |    2 +-
 docs/how_to/compile_models/from_mxnet.html         |    2 +-
 docs/how_to/compile_models/from_oneflow.html       |   15 +-
 docs/how_to/compile_models/from_onnx.html          |    2 +-
 docs/how_to/compile_models/from_pytorch.html       |    9 +-
 docs/how_to/compile_models/from_tensorflow.html    |    2 +-
 docs/how_to/compile_models/sg_execution_times.html |   26 +-
 .../deploy_models/deploy_model_on_adreno.html      |    2 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   46 +-
 docs/how_to/deploy_models/deploy_prequantized.html |    8 +-
 .../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  |   37 +-
 docs/how_to/deploy_models/sg_execution_times.html  |   22 +-
 .../extend_tvm/bring_your_own_datatypes.html       |    2 +-
 docs/how_to/extend_tvm/sg_execution_times.html     |   10 +-
 docs/how_to/extend_tvm/use_pass_instrument.html    |   16 +-
 docs/how_to/optimize_operators/opt_conv_cuda.html  |    2 +-
 .../optimize_operators/opt_conv_tensorcore.html    |    2 +-
 docs/how_to/optimize_operators/opt_gemm.html       |   16 +-
 .../optimize_operators/sg_execution_times.html     |    8 +-
 .../sg_execution_times.html                        |   14 +-
 .../tune_conv2d_layer_cuda.html                    | 1099 ++-
 .../tune_with_autoscheduler/tune_network_cuda.html |    4 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |   18 +-
 .../tune_with_autotvm/sg_execution_times.html      |    4 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html |  344 +-
 docs/how_to/work_with_microtvm/micro_autotune.html |   16 +-
 docs/how_to/work_with_microtvm/micro_pytorch.html  |    6 +-
 docs/how_to/work_with_microtvm/micro_train.html    |   16 +-
 .../work_with_microtvm/sg_execution_times.html     |   12 +-
 .../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/install/nnpack.html                           |   12 +-
 docs/reference/api/doxygen/annotated.html          |  105 +-
 docs/reference/api/doxygen/classes.html            |  458 +-
 .../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_a.html        |    3 +-
 docs/reference/api/doxygen/functions_func_t.html   |    9 +-
 docs/reference/api/doxygen/functions_r.html        |    5 +-
 docs/reference/api/doxygen/functions_t.html        |    9 +-
 docs/reference/api/doxygen/functions_vars_a.html   |    1 +
 docs/reference/api/doxygen/functions_vars_r.html   |    1 +
 docs/reference/api/doxygen/hierarchy.html          |  146 +-
 docs/reference/api/doxygen/inherit_graph_112.svg   | 8762 ++++++++++----------
 docs/reference/api/doxygen/inherit_graph_12.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_207.svg   |   16 +-
 docs/reference/api/doxygen/inherit_graph_208.svg   |   16 +-
 docs/reference/api/doxygen/inherit_graph_41.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_45.svg    |    8 +-
 docs/reference/api/doxygen/inherit_graph_95.svg    |    8 +-
 docs/reference/api/doxygen/inherits.html           |    2 +-
 .../api/doxygen/namespacetvm_1_1relay.html         |    2 +
 .../api/doxygen/relay_2attrs_2transform_8h.html    |    2 +
 .../doxygen/relay_2attrs_2transform_8h_source.html |  266 +-
 docs/reference/api/doxygen/search/all_13.js        |    2 +-
 docs/reference/api/doxygen/search/all_14.js        |    7 +-
 docs/reference/api/doxygen/search/all_15.js        |    8 +-
 docs/reference/api/doxygen/search/all_17.js        |    2 +-
 docs/reference/api/doxygen/search/all_2.js         |    3 +-
 docs/reference/api/doxygen/search/all_3.js         |    2 +-
 docs/reference/api/doxygen/search/all_9.js         |    2 +-
 docs/reference/api/doxygen/search/classes_0.js     |    1 +
 docs/reference/api/doxygen/search/classes_1.js     |    2 +-
 docs/reference/api/doxygen/search/classes_10.js    |    7 +-
 docs/reference/api/doxygen/search/classes_11.js    |    6 +-
 docs/reference/api/doxygen/search/classes_13.js    |    2 +-
 docs/reference/api/doxygen/search/classes_7.js     |    2 +-
 docs/reference/api/doxygen/search/functions_14.js  |    2 +-
 docs/reference/api/doxygen/search/variables_1.js   |    2 +-
 docs/reference/api/doxygen/search/variables_10.js  |    2 +-
 ...m_1_1relay_1_1ScatterElementsAttrs-members.html |  126 +
 ...structtvm_1_1relay_1_1ScatterElementsAttrs.html |  301 +
 ...1relay_1_1ScatterElementsAttrs__coll__graph.svg |  334 +
 ...lay_1_1ScatterElementsAttrs__inherit__graph.svg |  130 +
 docs/reference/api/python/auto_scheduler.html      |    4 +-
 docs/reference/api/python/relay/index.html         |  121 +-
 docs/reference/api/python/topi.html                |  111 +-
 .../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               |  268 +-
 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         |   43 +-
 175 files changed, 8755 insertions(+), 6850 deletions(-)

diff --git a/docs/_images/sphx_glr_micro_train_001.png b/docs/_images/sphx_glr_micro_train_001.png
index 793f3e36e6..e5bb8b4d46 100644
Binary files a/docs/_images/sphx_glr_micro_train_001.png and b/docs/_images/sphx_glr_micro_train_001.png differ
diff --git a/docs/_images/sphx_glr_micro_train_thumb.png b/docs/_images/sphx_glr_micro_train_thumb.png
index 94f0e4545f..3e59e21850 100644
Binary files a/docs/_images/sphx_glr_micro_train_thumb.png and b/docs/_images/sphx_glr_micro_train_thumb.png differ
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 07bb2cfdf8..ef603d3a8a 100644
--- a/docs/_sources/how_to/compile_models/from_darknet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
@@ -318,7 +318,7 @@ The process is no different from other examples.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  18.532 seconds)
+   **Total running time of the script:** ( 1 minutes  19.867 seconds)
 
 
 .. _sphx_glr_download_how_to_compile_models_from_darknet.py:
diff --git a/docs/_sources/how_to/compile_models/from_keras.rst.txt b/docs/_sources/how_to/compile_models/from_keras.rst.txt
index b392ec7e4f..fcd68c94e2 100644
--- a/docs/_sources/how_to/compile_models/from_keras.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_keras.rst.txt
@@ -232,7 +232,7 @@ Look up prediction top 1 index in 1000 class synset.
  .. code-block:: none
 
     Relay top-1 id: 285, class name: Egyptian cat
-
    1/1 [==============================] - ETA: 0s
    1/1 [==============================] - 1s 936ms/step
+
    1/1 [==============================] - ETA: 0s
    1/1 [==============================] - 1s 951ms/step
     Keras top-1 id: 285, class name: Egyptian cat
 
 
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 3eb3c59fb9..d9b2d460a8 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -116,7 +116,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipcda7e25e-bb84-46ec-8dac-6cfa9abb11ab from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipc2f37ef7-4e55-4f3e-b84d-4346fdff6f02 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 613d867930..a3ed5efc8c 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -121,7 +121,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, 55.4MB/s]
     28%|##8       | 11.6M/41.5M [00:00<00:00, 35.9MB/s]
     37%|###7      | 15.4M/41.5M [00:00<00:00, 36.7MB/s]
     46%|####5     | 19.1M/41.5M [00:00<00:00, 28.5MB/s]
     58%|#####7    | 24.0M/41.5M [00:00<00:00, 24.7MB/s]
     77%|#######7  | 32.0M/41.5M [00:01<00:00, 32.1MB/s]
     92%|#########2| 38.3M/41.5M [00:01<00:00, 34.6MB/s]
    100%|##########| 41.5M/41.5M [00:01<00:00, 32.7MB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
     19%|#9        | 7.99M/41.5M [00:00<00:00, 65.4MB/s]
     36%|###6      | 15.1M/41.5M [00:00<00:00, 70.2MB/s]
     53%|#####2    | 21.9M/41.5M [00:00<00:00, 60.8MB/s]
     67%|######6   | 27.8M/41.5M [00:00<00:00, 34.6MB/s]
     82%|########2 | 34.1M/41.5M [00:00<00:00, 37.6MB/s]
     93%|#########2| 38.4M/41.5M [00:01<00:00, 31.5MB/s]
    100%|##########| 41.5M/41.5M [00:01<00:00, 37.3MB/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 52510918fe..edd3110adc 100644
--- a/docs/_sources/how_to/compile_models/from_onnx.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_onnx.rst.txt
@@ -154,7 +154,7 @@ provides a static definition of the input size.
 
  .. code-block:: none
 
-    /workspace/python/tvm/relay/frontend/onnx.py:7109: UserWarning: Mismatched attribute type in ' : kernel_shape'
+    /workspace/python/tvm/relay/frontend/onnx.py:7157: 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 a9e1f4c8bf..86f3d97208 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -101,7 +101,7 @@ Load a pretrained PyTorch model
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=ResNet18_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet18_Weights.DEFAULT` to get the most up-to-date weights.
       warnings.warn(msg)
     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]
     23%|##2       | 10.1M/44.7M [00:00<00:00, 73.7MB/s]
     38%|###8      | 17.1M/44.7M [00:00<00:00, 56.3MB/s]
     65%|######5   | 29.2M/44.7M [00:00<00:00, 75.8MB/s]
     90%|########9 | 40.0M/44.7M [00:00<00:00, 68.5MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 68.3MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     29%|##9       | 13.0M/44.7M [00:00<00:00, 136MB/s]
     58%|#####8    | 25.9M/44.7M [00:00<00:00, 112MB/s]
     83%|########2 | 36.9M/44.7M [00:00<00:00, 69.6MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 89.2MB/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 e1b4e7509a..19ba7aba26 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -424,7 +424,7 @@ Run the corresponding model on tensorflow
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  22.350 seconds)
+   **Total running time of the script:** ( 1 minutes  23.184 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 530c735109..ce7f22cde8 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
 =================
-**06:29.520** total execution time for **how_to_compile_models** files:
+**06:31.507** total execution time for **how_to_compile_models** files:
 
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:22.350 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:23.184 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:18.532 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:19.867 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 00:52.805 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 00:52.824 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:36.678 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:37.009 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:30.896 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:31.126 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:30.768 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:31.064 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:28.046 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:27.501 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:24.141 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:24.599 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:22.663 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:21.624 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.642 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.707 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
index cbb9ea1767..5159ebabd2 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_adreno.rst.txt
@@ -727,7 +727,7 @@ well as provides information about the model's performance
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-     2541.9765    2541.4270    2545.8434    2539.4932      2.1345   
+     2681.7421    2681.5057    2685.2176    2679.0228      1.9269   
                
 
 
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 bad35cf0f7..a183bb2f53 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
@@ -437,7 +437,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      16.1714      16.1253      16.5232      15.9674       0.1622   
+      16.1140      16.1514      16.7053      15.5032       0.4288   
                
 
 
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 fb2bc21d19..7e894e565a 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
@@ -130,7 +130,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=MaskRCNN_ResNet50_FPN_Weights.COCO_V1`. You can also use `weights=MaskRCNN_ResNet50_FPN_Weights.DEFAULT` to get the most up-to-date weights.
       warnings.warn(msg)
     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]
      1%|1         | 2.05M/170M [00:00<00:12, 13.8MB/s]
      4%|3         | 6.30M/170M [00:00<00:08, 20.5MB/s]
      6%|5         | 9.86M/170M [00:00<00:06, 26.0MB/s]
      9%|9         | 16.0M/170M [00:00<00:04, 37.1MB/s]
     14%|#4        | 24.0M/170M [00:00<00:03, 44.2MB/s]
     18%|#7        | 30.3M/170M [00:00<00:04, 33.3MB/s]
     20%|#9        | 33.9M/170M [00:01<00:04, 31.6MB/s]
     24%|##3       | 40.0M/170M [00:01<00:03, 36.3MB/s]
     26%|##5       | 43.9M/170M [00:01<00:03, 37.4MB/s]
     29%|##9       | 49.8M/170M [00:01<00:02, 43.3MB/s]
     33%|###2      | 56.0M/170M [00:01<00:02, 45.8MB/s]
     38%|###7      | 64.0M/170M [00:01<00:02, 45.1MB/s]
     42%|####2     | 72.0M/170M [00:01<00:01, 52.4MB/s]
     47%|####7     | 80.0M/170M [00:02<00:01, 51.3MB/s]
     52%|#####1    | 88.0M/170M [00:02<00:01, 53.6MB/s]
     57%|#####6    | 96.0M/170M [00:02<00:01, 47.0MB/s]
     61%|######1   | 104M/170M [00:02<00:01, 49.6MB/s
 ] 
     66%|######5   | 112M/170M [00:02<00:01, 52.4MB/s]
     69%|######8   | 117M/170M [00:02<00:01, 43.5MB/s]
     71%|#######1  | 121M/170M [00:03<00:01, 43.4MB/s]
     75%|#######5  | 128M/170M [00:03<00:00, 49.3MB/s]
     80%|########  | 136M/170M [00:03<00:00, 56.7MB/s]
     83%|########3 | 142M/170M [00:03<00:00, 50.9MB/s]
     87%|########6 | 147M/170M [00:03<00:00, 47.8MB/s]
     89%|########9 | 152M/170M [00:03<00:00, 47.0MB/s]
     94%|#########3| 159M/170M [00:03<00:00, 53.1MB/s]
     99%|#########8| 168M/170M [00:03<00:00, 56.6MB/s]
    100%|##########| 170M/170M [00:03<00:00, 45.8MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
      9%|8         | 14.8M/170M [00:00<00:01, 155MB/s]
     17%|#7        | 29.5M/170M [00:00<00:01, 117MB/s]
     24%|##4       | 41.2M/170M [00:00<00:01, 110MB/s]
     31%|###       | 51.9M/170M [00:00<00:01, 106MB/s]
     37%|###6      | 62.2M/170M [00:00<00:01, 104MB/s]
     42%|####2     | 72.2M/170M [00:00<00:01, 101MB/s]
     48%|####8     | 82.3M/170M [00:00<00:00, 102MB/s]
     54%|#####4    | 92.1M/170M [00:00<00:00, 102MB/s]
     60%|#####9    | 102M/170M [00:01<00:00, 99.4MB/s]
     66%|######5   | 111M/170M [00:01<00:00, 93.4MB/s]
     73%|#######2  | 124M/170M [00:01<00:00, 103MB/s] 
     79%|#######8  | 134M/170M [00:01<00:00, 102MB/s]
     84%|########4 | 143M/170M [00:01<00:00, 102MB/s]
     90%|######### | 153M/170M [00:01<00:00, 98.8MB/s]
     96%|#########6| 164M/170M [00:01<00:00, 101MB/s] 
    100%|##########| 170M/170M [00:01<00:00, 103MB/s]
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/nn/functional.py:3897: 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)
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/detection/anchor_utils.py:124: 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').
@@ -299,7 +299,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 3 minutes  25.919 seconds)
+   **Total running time of the script:** ( 3 minutes  28.246 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 b4f7aae0ef..523ce19d50 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -227,7 +227,7 @@ training. Other models require a full post training calibration.
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=MobileNet_V2_Weights.IMAGENET1K_V1`. You can also use `weights=MobileNet_V2_Weights.DEFAULT` to get the most up-to-date weights.
       warnings.warn(msg)
     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]
     59%|#####8    | 7.99M/13.6M [00:00<00:00, 38.6MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 46.5MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     50%|#####     | 6.78M/13.6M [00:00<00:00, 71.1MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 64.0MB/s]
 
 
 
@@ -409,7 +409,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.6323      90.6150      92.9999      90.1514       0.3585   
+      90.4052      90.3707      92.5329      90.0626       0.3050   
                
 
 
@@ -458,7 +458,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  13.539 seconds)
+   **Total running time of the script:** ( 1 minutes  14.540 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 4e54ec18b7..52a3245504 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
@@ -423,7 +423,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)  
-      119.8491     119.8226     123.4787     118.4885      0.8758   
+      119.9258     119.8923     125.9396     118.5444      0.7085   
                
 
 
@@ -460,7 +460,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:** ( 2 minutes  26.152 seconds)
+   **Total running time of the script:** ( 2 minutes  28.739 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 96d3ceda86..bd96cd063e 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -257,7 +257,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  47.384 seconds)
+   **Total running time of the script:** ( 1 minutes  46.481 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 eab94f4d8d..8fb36f23cc 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
@@ -170,7 +170,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]
      4%|3         | 5109/132723 [00:00<00:02, 51074.46KB/s]
     10%|9         | 12630/132723 [00:00<00:01, 65267.17KB/s]
     14%|#4        | 19157/132723 [00:00<00:01, 61461.39KB/s]
     20%|##        | 27051/132723 [00:00<00:01, 68108.29KB/s]
     26%|##5       | 33954/132723 [00:00<00:01, 68431.62KB/s]
     31%|###1      | 41705/132723 [00:00<00:01, 71468.79KB/s]
     37%|###7      | 49140/132723 [00:00<00:01, 53333.66KB/s]
     43%|####2     | 56995/132723 [00:00<00:01, 59735.70KB/s]
     49%|####9     | 65237/132723 [00:01<00:01, 65772.08KB/s]
     54%|#####4    | 72334/132723 [00:01<00:01, 50727.27KB/s]
     61%|######    | 80429/132723 [00:01<00:00, 57647.65KB/s]
     67%|######6   | 88501/132723 [00:01<00:00, 63333.81KB/s]
     73%|#######2  | 96455/132723 [00:01<00:00, 67552.17KB/s]
     78%|#######8  | 103767/132723 [00:01<00:00, 60236.36KB/s]
     84%|########4 | 111812/132723 [00:01<00:00, 65339.27KB/s]
     90%|########9
  | 118804/132723 [00:02<00:00, 42000.16KB/s]
     96%|#########5| 126786/132723 [00:02<00:00, 49294.38KB/s]
    100%|##########| 132723/132723 [00:02<00:00, 57964.30KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      3%|3         | 4559/132723 [00:00<00:02, 45585.70KB/s]
      9%|9         | 12477/132723 [00:00<00:01, 65341.46KB/s]
     14%|#4        | 19012/132723 [00:00<00:02, 53007.54KB/s]
     21%|##1       | 27987/132723 [00:00<00:01, 65720.28KB/s]
     26%|##6       | 34876/132723 [00:00<00:01, 56068.00KB/s]
     33%|###3      | 43811/132723 [00:00<00:01, 65521.87KB/s]
     38%|###8      | 50796/132723 [00:00<00:01, 63337.07KB/s]
     45%|####5     | 59760/132723 [00:00<00:01, 70727.38KB/s]
     51%|#####     | 67128/132723 [00:01<00:01, 63948.38KB/s]
     57%|#####7    | 76053/132723 [00:01<00:00, 70722.24KB/s]
     63%|######2   | 83434/132723 [00:01<00:00, 49717.72KB/s]
     70%|######9   | 92370/132723 [00:01<00:00, 58256.25KB/s]
     75%|#######4  | 99259/132723 [00:01<00:00, 59373.57KB/s]
     82%|########1 | 108261/132723 [00:01<00:00, 66949.32KB/s]
     87%|########7 | 115657/132723 [00:01<00:00, 54309.08KB/s]
     94%|#########
 3| 124559/132723 [00:02<00:00, 62203.53KB/s]
    100%|##########| 132723/132723 [00:02<00:00, 62237.45KB/s]
 
 
 
@@ -246,7 +246,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 3 minutes  41.640 seconds)
+   **Total running time of the script:** ( 3 minutes  44.493 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 3c7a03b8bf..27dd242894 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,26 +5,26 @@
 
 Computation times
 =================
-**15:01.618** total execution time for **how_to_deploy_models** files:
+**15:12.879** total execution time for **how_to_deploy_models** files:
 
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 03:41.640 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 03:44.493 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:25.919 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:28.246 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 02:26.152 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 02:28.739 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:47.384 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:46.481 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:13.539 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:14.540 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``)                   | 00:53.402 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_adreno.py` (``deploy_model_on_adreno.py``)                   | 00:55.478 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:40.403 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:40.872 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``)                       | 00:26.793 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``)                       | 00:27.189 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:26.381 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:26.835 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)                                     | 00:00.006 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)                                     | 00:00.007 | 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 abfa3afb71..a74c17ecab 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
@@ -463,7 +463,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.zip0f77e3bf-f6ca-40da-9df1-eb270045ce2c from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip8f3bf3ba-3229-4172-9a54-ef678110088e 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 b9b5274424..471c0feb8f 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:52.250** total execution time for **how_to_extend_tvm** files:
+**00:53.713** 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:48.506 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:49.879 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.683 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.738 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:01.054 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:01.088 | 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 f80ab2106e..8582cc1ccf 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
@@ -220,10 +220,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 22385us [22385us] (48.23%; 48.23%)
-    FoldScaleAxis: 24025us [7us] (51.77%; 51.77%)
-            FoldConstant: 24018us [2187us] (51.75%; 99.97%)
-                    InferType: 21831us [21831us] (47.04%; 90.89%)
+    InferType: 22470us [22470us] (49.04%; 49.04%)
+    FoldScaleAxis: 23351us [8us] (50.96%; 50.96%)
+            FoldConstant: 23343us [1724us] (50.94%; 99.96%)
+                    InferType: 21619us [21619us] (47.18%; 92.61%)
 
 
 
@@ -262,10 +262,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 21370us [21370us] (48.37%; 48.37%)
-    FoldScaleAxis: 22807us [5us] (51.63%; 51.63%)
-            FoldConstant: 22802us [1692us] (51.62%; 99.98%)
-                    InferType: 21110us [21110us] (47.79%; 92.58%)
+    InferType: 21545us [21545us] (48.22%; 48.22%)
+    FoldScaleAxis: 23134us [5us] (51.78%; 51.78%)
+            FoldConstant: 23129us [1724us] (51.77%; 99.98%)
+                    InferType: 21405us [21405us] (47.91%; 92.54%)
 
 
 
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 24dc01df05..4dbe3462bf 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
@@ -331,7 +331,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 54.165119 ms
+    Convolution: 52.750175 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 161140da0c..fb20f4deac 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
@@ -608,7 +608,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 7.627219 ms
+    conv2d with tensor core: 9.671062 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 3db8a71360..c86f6230ca 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -134,8 +134,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.017700
-    Baseline: 3.250613
+    Numpy running time: 0.018094
+    Baseline: 3.442712
 
 
 
@@ -227,7 +227,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.304410
+    Opt1: 0.297318
 
 
 
@@ -318,7 +318,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.343510
+    Opt2: 0.332836
 
 
 
@@ -406,7 +406,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.111824
+    Opt3: 0.117082
 
 
 
@@ -523,7 +523,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.108910
+    Opt4: 0.109271
 
 
 
@@ -635,7 +635,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.110500
+    Opt5: 0.111212
 
 
 
@@ -748,7 +748,7 @@ Furthermore, we can also utilize multi-core processors to do the thread-level pa
 
  .. code-block:: none
 
-    Opt6: 0.146274
+    Opt6: 0.146735
 
 
 
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 0186e2fc4b..9bff5853aa 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:34.322** total execution time for **how_to_optimize_operators** files:
+**00:34.841** total execution time for **how_to_optimize_operators** files:
 
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:31.779 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:32.267 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.497 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.532 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.046 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.042 | 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 5e3a3a2984..1011c85ab0 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
 =================
-**09:50.361** total execution time for **how_to_tune_with_autoscheduler** files:
+**09:48.326** 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``) | 06:06.173 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 06:01.558 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:39.497 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:40.298 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 01:07.088 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 01:07.998 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:30.238 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:30.668 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:14.492 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:14.662 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:12.872 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:13.142 | 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 f92c816d44..11d325d45e 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
@@ -244,13 +244,13 @@ cooperative fetching, unrolling and operator fusion.
         def main(data: T.Buffer((1, 512, 7, 7), "float32"), kernel: T.Buffer((512, 512, 3, 3), "float32"), bias: T.Buffer((1, 512, 1, 1), "float32"), compute: T.Buffer((1, 512, 7, 7), "float32")):
             T.func_attr({"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True})
             blockIdx_x = T.env_thread("blockIdx.x")
-            T.launch_thread(blockIdx_x, 16)
-            conv2d_nchw = T.allocate([7], "float32", "local")
-            pad_temp_shared = T.allocate([324], "float32", "shared")
-            kernel_shared = T.allocate([1152], "float32", "shared")
+            T.launch_thread(blockIdx_x, 28)
+            conv2d_nchw = T.allocate([14], "float32", "local")
+            pad_temp_shared = T.allocate([72], "float32", "shared")
+            kernel_shared = T.allocate([3072], "float32", "shared")
             threadIdx_x = T.env_thread("threadIdx.x")
-            T.launch_thread(threadIdx_x, 224)
-            conv2d_nchw_1 = T.Buffer((7,), data=conv2d_nchw, scope="local", align=16)
+            T.launch_thread(threadIdx_x, 64)
+            conv2d_nchw_1 = T.Buffer((14,), data=conv2d_nchw, scope="local", align=32)
             conv2d_nchw_1[0] = T.float32(0)
             conv2d_nchw_1[1] = T.float32(0)
             conv2d_nchw_1[2] = T.float32(0)
@@ -258,100 +258,467 @@ cooperative fetching, unrolling and operator fusion.
             conv2d_nchw_1[4] = T.float32(0)
             conv2d_nchw_1[5] = T.float32(0)
             conv2d_nchw_1[6] = T.float32(0)
-            for rc_outer_outer in range(128):
-                cse_var_1: T.int32 = rc_outer_outer * 36
+            conv2d_nchw_1[7] = T.float32(0)
+            conv2d_nchw_1[8] = T.float32(0)
+            conv2d_nchw_1[9] = T.float32(0)
+            conv2d_nchw_1[10] = T.float32(0)
+            conv2d_nchw_1[11] = T.float32(0)
+            conv2d_nchw_1[12] = T.float32(0)
+            conv2d_nchw_1[13] = T.float32(0)
+            for rc_outer_outer, ry_outer_outer in T.grid(64, 3):
+                cse_var_2: T.int32 = rc_outer_outer * 72
+                cse_var_1: T.int32 = ry_outer_outer * 3
                 threadIdx_x_1 = T.env_thread("threadIdx.x")
-                pad_temp_shared_1 = T.Buffer((324,), data=pad_temp_shared, scope="shared")
-                data_1 = T.Buffer((25088,), data=data.data)
-                with T.launch_thread(threadIdx_x_1, 224):
-                    pad_temp_shared_1[threadIdx_x_1] = T.if_then_else(9 <= threadIdx_x_1 % 81 and threadIdx_x_1 % 81 < 72 and 1 <= threadIdx_x_1 % 9 and threadIdx_x_1 % 9 < 8, data_1[rc_outer_outer * 196 + threadIdx_x_1 // 81 * 49 + threadIdx_x_1 % 81 // 9 * 7 + threadIdx_x_1 % 9 - 8], T.float32(0))
-                with T.launch_thread(threadIdx_x_1, 224):
-                    if T.likely(threadIdx_x_1 < 100):
-                        pad_temp_shared_1[threadIdx_x_1 + 224] = T.if_then_else(9 <= (threadIdx_x_1 + 62) % 81 and (threadIdx_x_1 + 62) % 81 < 72 and 1 <= (threadIdx_x_1 + 8) % 9 and (threadIdx_x_1 + 8) % 9 < 8, data_1[rc_outer_outer * 196 + (threadIdx_x_1 + 224) // 81 * 49 + (threadIdx_x_1 + 62) % 81 // 9 * 7 + (threadIdx_x_1 + 8) % 9 - 8], T.float32(0))
+                pad_temp_shared_1 = T.Buffer((72,), data=pad_temp_shared, scope="shared")
+                with T.launch_thread(threadIdx_x_1, 64):
+                    data_1 = T.Buffer((25088,), data=data.data)
+                    if T.likely(threadIdx_x_1 < 18):
+                        pad_temp_shared_1[threadIdx_x_1 * 4] = T.if_then_else(1 <= ry_outer_outer + blockIdx_x % 7 and ry_outer_outer + blockIdx_x % 7 < 8 and 1 <= threadIdx_x_1 * 4 % 9 and threadIdx_x_1 * 4 % 9 < 8, data_1[rc_outer_outer * 392 + threadIdx_x_1 * 4 // 9 * 49 + ry_outer_outer * 7 + blockIdx_x % 7 * 7 + threadIdx_x_1 * 4 % 9 - 8], T.float32(0))
+                    if T.likely(threadIdx_x_1 < 18):
+                        pad_temp_shared_1[threadIdx_x_1 * 4 + 1] = T.if_then_else(1 <= ry_outer_outer + blockIdx_x % 7 and ry_outer_outer + blockIdx_x % 7 < 8 and 1 <= (threadIdx_x_1 * 4 + 1) % 9 and (threadIdx_x_1 * 4 + 1) % 9 < 8, data_1[rc_outer_outer * 392 + (threadIdx_x_1 * 4 + 1) // 9 * 49 + ry_outer_outer * 7 + blockIdx_x % 7 * 7 + (threadIdx_x_1 * 4 + 1) % 9 - 8], T.float32(0))
+                    if T.likely(threadIdx_x_1 < 18):
+                        pad_temp_shared_1[threadIdx_x_1 * 4 + 2] = T.if_then_else(1 <= ry_outer_outer + blockIdx_x % 7 and ry_outer_outer + blockIdx_x % 7 < 8 and 1 <= (threadIdx_x_1 * 4 + 2) % 9 and (threadIdx_x_1 * 4 + 2) % 9 < 8, data_1[rc_outer_outer * 392 + (threadIdx_x_1 * 4 + 2) // 9 * 49 + ry_outer_outer * 7 + blockIdx_x % 7 * 7 + (threadIdx_x_1 * 4 + 2) % 9 - 8], T.float32(0))
+                    if T.likely(threadIdx_x_1 < 18):
+                        pad_temp_shared_1[threadIdx_x_1 * 4 + 3] = T.if_then_else(1 <= ry_outer_outer + blockIdx_x % 7 and ry_outer_outer + blockIdx_x % 7 < 8 and 1 <= (threadIdx_x_1 * 4 + 3) % 9 and (threadIdx_x_1 * 4 + 3) % 9 < 8, data_1[rc_outer_outer * 392 + (threadIdx_x_1 * 4 + 3) // 9 * 49 + ry_outer_outer * 7 + blockIdx_x % 7 * 7 + (threadIdx_x_1 * 4 + 3) % 9 - 8], T.float32(0))
                 threadIdx_x_2 = T.env_thread("threadIdx.x")
-                kernel_shared_1 = T.Buffer((1152,), data=kernel_shared, scope="shared")
+                kernel_shared_1 = T.Buffer((3072,), data=kernel_shared, scope="shared")
                 kernel_1 = T.Buffer((2359296,), data=kernel.data)
-                with T.launch_thread(threadIdx_x_2, 224):
-                    kernel_shared_1[threadIdx_x_2] = kernel_1[blockIdx_x * 147456 + threadIdx_x_2 // 36 * 4608 + cse_var_1 + threadIdx_x_2 % 36]
-                with T.launch_thread(threadIdx_x_2, 224):
-                    kernel_shared_1[threadIdx_x_2 + 224] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 224) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 8) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-                with T.launch_thread(threadIdx_x_2, 224):
-                    kernel_shared_1[threadIdx_x_2 + 448] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 448) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 16) % 36 // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-                with T.launch_thread(threadIdx_x_2, 224):
-                    kernel_shared_1[threadIdx_x_2 + 672] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 672) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 // 3 + 8) % 12 * 3 + threadIdx_x_2 % 3]
-                with T.launch_thread(threadIdx_x_2, 224):
-                    kernel_shared_1[threadIdx_x_2 + 896] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 896) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 32) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-                with T.launch_thread(threadIdx_x_2, 224):
-                    if T.likely(threadIdx_x_2 < 32):
-                        kernel_shared_1[threadIdx_x_2 + 1120] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 1120) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 4) // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-                for rc_inner in range(4):
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                    conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                    conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                    conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                    conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                    conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                    conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                    conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-            for i2_inner in range(7):
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 64) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 64) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 128) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 128) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 192] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 36864]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 256) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 256) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 320) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 320) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 384] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 73728]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 448) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 448) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 512) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 512) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 576] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 110592]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 640) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 640) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 704) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 704) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 768] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 147456]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 832) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 832) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 896) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 896) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 960] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 184320]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1024) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1024) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1088) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1088) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 1152] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 221184]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1216) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1216) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1280) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1280) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 1344] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 258048]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1408) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1408) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1472) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1472) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 1536] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 294912]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1600) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1600) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1664) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1664) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 1728] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 331776]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1792) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1792) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1856) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1856) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 1920] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 368640]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 1984) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1984) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2048) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2048) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 2112] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 405504]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2176) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2176) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2240) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2240) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 2304] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 442368]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2368) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2368) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2432) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2432) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 2496] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 479232]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2560) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2560) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2624) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2624) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 2688] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 516096]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2752) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2752) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2816) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2816) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[threadIdx_x_2 + 2880] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 552960]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 2944) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2944) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+                with T.launch_thread(threadIdx_x_2, 64):
+                    kernel_shared_1[(threadIdx_x_2 + 3008) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 3008) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[0] * kernel_shared_1[threadIdx_x * 48]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[9] * kernel_shared_1[threadIdx_x * 48 + 3]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[1] * kernel_shared_1[threadIdx_x * 48]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[10] * kernel_shared_1[threadIdx_x * 48 + 3]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 3]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 3]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 3]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 3]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 3]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[0] * kernel_shared_1[threadIdx_x * 48 + 24]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[9] * kernel_shared_1[threadIdx_x * 48 + 27]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[1] * kernel_shared_1[threadIdx_x * 48 + 24]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[10] * kernel_shared_1[threadIdx_x * 48 + 27]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 24]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 27]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 24]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 27]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 24]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 27]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 24]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 27]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 24]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 27]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[1] * kernel_shared_1[threadIdx_x * 48 + 1]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[10] * kernel_shared_1[threadIdx_x * 48 + 4]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 1]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 4]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 1]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 4]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 1]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 4]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 1]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 4]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 1]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 4]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[7] * kernel_shared_1[threadIdx_x * 48 + 1]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[16] * kernel_shared_1[threadIdx_x * 48 + 4]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[1] * kernel_shared_1[threadIdx_x * 48 + 25]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[10] * kernel_shared_1[threadIdx_x * 48 + 28]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 25]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 28]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 25]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 28]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 25]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 28]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 25]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 28]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 25]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 28]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[7] * kernel_shared_1[threadIdx_x * 48 + 25]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[16] * kernel_shared_1[threadIdx_x * 48 + 28]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 2]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 5]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 2]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 5]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 2]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 5]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 2]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 5]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 2]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 5]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[7] * kernel_shared_1[threadIdx_x * 48 + 2]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[16] * kernel_shared_1[threadIdx_x * 48 + 5]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[8] * kernel_shared_1[threadIdx_x * 48 + 2]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[17] * kernel_shared_1[threadIdx_x * 48 + 5]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 26]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 29]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 26]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 29]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 26]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 29]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 26]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 29]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 26]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 29]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[7] * kernel_shared_1[threadIdx_x * 48 + 26]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[16] * kernel_shared_1[threadIdx_x * 48 + 29]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[8] * kernel_shared_1[threadIdx_x * 48 + 26]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[17] * kernel_shared_1[threadIdx_x * 48 + 29]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[18] * kernel_shared_1[threadIdx_x * 48 + 6]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[27] * kernel_shared_1[threadIdx_x * 48 + 9]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[19] * kernel_shared_1[threadIdx_x * 48 + 6]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[28] * kernel_shared_1[threadIdx_x * 48 + 9]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 6]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 9]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 6]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 9]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 6]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 9]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 6]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 9]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 6]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 9]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[18] * kernel_shared_1[threadIdx_x * 48 + 30]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[27] * kernel_shared_1[threadIdx_x * 48 + 33]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[19] * kernel_shared_1[threadIdx_x * 48 + 30]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[28] * kernel_shared_1[threadIdx_x * 48 + 33]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 30]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 33]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 30]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 33]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 30]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 33]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 30]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 33]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 30]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 33]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[19] * kernel_shared_1[threadIdx_x * 48 + 7]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[28] * kernel_shared_1[threadIdx_x * 48 + 10]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 7]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 10]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 7]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 10]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 7]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 10]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 7]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 10]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 7]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 10]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[25] * kernel_shared_1[threadIdx_x * 48 + 7]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[34] * kernel_shared_1[threadIdx_x * 48 + 10]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[19] * kernel_shared_1[threadIdx_x * 48 + 31]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[28] * kernel_shared_1[threadIdx_x * 48 + 34]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 31]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 34]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 31]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 34]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 31]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 34]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 31]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 34]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 31]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 34]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[25] * kernel_shared_1[threadIdx_x * 48 + 31]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[34] * kernel_shared_1[threadIdx_x * 48 + 34]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 8]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 11]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 8]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 11]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 8]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 11]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 8]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 11]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 8]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 11]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[25] * kernel_shared_1[threadIdx_x * 48 + 8]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[34] * kernel_shared_1[threadIdx_x * 48 + 11]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[26] * kernel_shared_1[threadIdx_x * 48 + 8]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[35] * kernel_shared_1[threadIdx_x * 48 + 11]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 32]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 35]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 32]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 35]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 32]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 35]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 32]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 35]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 32]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 35]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[25] * kernel_shared_1[threadIdx_x * 48 + 32]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[34] * kernel_shared_1[threadIdx_x * 48 + 35]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[26] * kernel_shared_1[threadIdx_x * 48 + 32]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[35] * kernel_shared_1[threadIdx_x * 48 + 35]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[36] * kernel_shared_1[threadIdx_x * 48 + 12]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[45] * kernel_shared_1[threadIdx_x * 48 + 15]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[37] * kernel_shared_1[threadIdx_x * 48 + 12]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[46] * kernel_shared_1[threadIdx_x * 48 + 15]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 12]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 15]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 12]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 15]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 12]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 15]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 12]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 15]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 12]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 15]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[36] * kernel_shared_1[threadIdx_x * 48 + 36]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[45] * kernel_shared_1[threadIdx_x * 48 + 39]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[37] * kernel_shared_1[threadIdx_x * 48 + 36]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[46] * kernel_shared_1[threadIdx_x * 48 + 39]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 36]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 39]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 36]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 39]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 36]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 39]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 36]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 39]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 36]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 39]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[37] * kernel_shared_1[threadIdx_x * 48 + 13]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[46] * kernel_shared_1[threadIdx_x * 48 + 16]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 13]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 16]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 13]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 16]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 13]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 16]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 13]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 16]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 13]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 16]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[43] * kernel_shared_1[threadIdx_x * 48 + 13]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[52] * kernel_shared_1[threadIdx_x * 48 + 16]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[37] * kernel_shared_1[threadIdx_x * 48 + 37]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[46] * kernel_shared_1[threadIdx_x * 48 + 40]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 37]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 40]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 37]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 40]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 37]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 40]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 37]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 40]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 37]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 40]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[43] * kernel_shared_1[threadIdx_x * 48 + 37]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[52] * kernel_shared_1[threadIdx_x * 48 + 40]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 14]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 17]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 14]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 17]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 14]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 17]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 14]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 17]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 14]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 17]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[43] * kernel_shared_1[threadIdx_x * 48 + 14]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[52] * kernel_shared_1[threadIdx_x * 48 + 17]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[44] * kernel_shared_1[threadIdx_x * 48 + 14]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[53] * kernel_shared_1[threadIdx_x * 48 + 17]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 38]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 41]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 38]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 41]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 38]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 41]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 38]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 41]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 38]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 41]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[43] * kernel_shared_1[threadIdx_x * 48 + 38]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[52] * kernel_shared_1[threadIdx_x * 48 + 41]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[44] * kernel_shared_1[threadIdx_x * 48 + 38]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[53] * kernel_shared_1[threadIdx_x * 48 + 41]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[54] * kernel_shared_1[threadIdx_x * 48 + 18]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[63] * kernel_shared_1[threadIdx_x * 48 + 21]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[55] * kernel_shared_1[threadIdx_x * 48 + 18]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[64] * kernel_shared_1[threadIdx_x * 48 + 21]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 18]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 21]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 18]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 21]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 18]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 21]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 18]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 21]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 18]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 21]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[54] * kernel_shared_1[threadIdx_x * 48 + 42]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[63] * kernel_shared_1[threadIdx_x * 48 + 45]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[55] * kernel_shared_1[threadIdx_x * 48 + 42]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[64] * kernel_shared_1[threadIdx_x * 48 + 45]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 42]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 45]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 42]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 45]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 42]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 45]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 42]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 45]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 42]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 45]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[55] * kernel_shared_1[threadIdx_x * 48 + 19]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[64] * kernel_shared_1[threadIdx_x * 48 + 22]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 19]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 22]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 19]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 22]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 19]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 22]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 19]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 22]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 19]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 22]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[61] * kernel_shared_1[threadIdx_x * 48 + 19]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[70] * kernel_shared_1[threadIdx_x * 48 + 22]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[55] * kernel_shared_1[threadIdx_x * 48 + 43]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[64] * kernel_shared_1[threadIdx_x * 48 + 46]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 43]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 46]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 43]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 46]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 43]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 46]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 43]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 46]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 43]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 46]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[61] * kernel_shared_1[threadIdx_x * 48 + 43]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[70] * kernel_shared_1[threadIdx_x * 48 + 46]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 20]
+                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 23]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 20]
+                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 23]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 20]
+                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 23]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 20]
+                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 23]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 20]
+                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 23]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[61] * kernel_shared_1[threadIdx_x * 48 + 20]
+                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[70] * kernel_shared_1[threadIdx_x * 48 + 23]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[62] * kernel_shared_1[threadIdx_x * 48 + 20]
+                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[71] * kernel_shared_1[threadIdx_x * 48 + 23]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 44]
+                conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 47]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 44]
+                conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 47]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 44]
+                conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 47]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 44]
+                conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 47]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 44]
+                conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 47]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[61] * kernel_shared_1[threadIdx_x * 48 + 44]
+                conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[70] * kernel_shared_1[threadIdx_x * 48 + 47]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[62] * kernel_shared_1[threadIdx_x * 48 + 44]
+                conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[71] * kernel_shared_1[threadIdx_x * 48 + 47]
+            for i1_inner, i3_inner in T.grid(2, 7):
                 compute_1 = T.Buffer((25088,), data=compute.data)
                 bias_1 = T.Buffer((512,), data=bias.data)
-                compute_1[blockIdx_x * 1568 + threadIdx_x // 7 * 49 + i2_inner * 7 + threadIdx_x % 7] = T.max(conv2d_nchw_1[i2_inner] + bias_1[blockIdx_x * 32 + threadIdx_x // 7], T.float32(0))
+                compute_1[blockIdx_x // 7 * 6272 + threadIdx_x * 98 + i1_inner * 49 + blockIdx_x % 7 * 7 + i3_inner] = T.max(conv2d_nchw_1[i1_inner * 7 + i3_inner] + bias_1[blockIdx_x // 7 * 128 + threadIdx_x * 2 + i1_inner], T.float32(0))
 
 
 
@@ -401,7 +768,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.342 ms
+    Execution time of this operator: 0.355 ms
 
 
 
@@ -450,35 +817,35 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
     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=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=32)
+    conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=2)
+    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_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=7)
+    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_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
     conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
-    conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
-    conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=7)
+    conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=7)
+    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=1)
-    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=4)
-    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=1)
-    conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+    conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
+    conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=4)
+    conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=1)
     conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
-    conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
-    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+    conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
+    conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
     s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2 [...]
     compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
     compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
     compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
-    compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=1)
-    compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=32)
+    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_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=7)
+    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_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
-    compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
-    compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
+    compute_i3_o_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=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)
@@ -498,14 +865,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=224)
+    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)
     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)
+    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=4)
     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=224)
+    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)
     s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis("threadIdx.x"))
-    s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 64)
+    s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "auto_unroll_max_step", 512)
     s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, "unroll_explicit", True)
 
     CUDA source code:
@@ -523,10 +890,10 @@ 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__(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[324];
-      __shared__ float kernel_shared[1152];
+    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[72];
+      __shared__ float kernel_shared[3072];
       conv2d_nchw[0] = 0.000000e+00f;
       conv2d_nchw[1] = 0.000000e+00f;
       conv2d_nchw[2] = 0.000000e+00f;
@@ -534,89 +901,419 @@ They can be used for debugging and learning the behavior of the auto-scheduler.
       conv2d_nchw[4] = 0.000000e+00f;
       conv2d_nchw[5] = 0.000000e+00f;
       conv2d_nchw[6] = 0.000000e+00f;
-      for (int rc_outer_outer = 0; rc_outer_outer < 128; ++rc_outer_outer) {
-        __syncthreads();
-        pad_temp_shared[((int)threadIdx.x)] = (((((9 <= (((int)threadIdx.x) % 81)) && ((((int)threadIdx.x) % 81) < 72)) && (1 <= (((int)threadIdx.x) % 9))) && ((((int)threadIdx.x) % 9) < 8)) ? data[(((((rc_outer_outer * 196) + ((((int)threadIdx.x) / 81) * 49)) + (((((int)threadIdx.x) % 81) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-        if (((int)threadIdx.x) < 100) {
-          pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((9 <= ((((int)threadIdx.x) + 62) % 81)) && (((((int)threadIdx.x) + 62) % 81) < 72)) && (1 <= ((((int)threadIdx.x) + 8) % 9))) && (((((int)threadIdx.x) + 8) % 9) < 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 224) / 81) * 49)) + ((((((int)threadIdx.x) + 62) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
-        }
-        kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) * 147456) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36))];
-        kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 224) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 8) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 448) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 672) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) / 3) + 8) % 12) * 3)) + (((int)threadIdx.x) % 3))];
-        kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 896) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-        if (((int)threadIdx.x) < 32) {
-          kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1120) / 36) * 4608)) + (rc_outer_outer * 36)) + (((((int)threadIdx.x) + 4) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-        }
-        __syncthreads();
-        for (int rc_inner = 0; rc_inner < 4; ++rc_inner) {
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
+      conv2d_nchw[7] = 0.000000e+00f;
+      conv2d_nchw[8] = 0.000000e+00f;
+      conv2d_nchw[9] = 0.000000e+00f;
+      conv2d_nchw[10] = 0.000000e+00f;
+      conv2d_nchw[11] = 0.000000e+00f;
+      conv2d_nchw[12] = 0.000000e+00f;
+      conv2d_nchw[13] = 0.000000e+00f;
+      for (int rc_outer_outer = 0; rc_outer_outer < 64; ++rc_outer_outer) {
+        for (int ry_outer_outer = 0; ry_outer_outer < 3; ++ry_outer_outer) {
+          __syncthreads();
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[(((int)threadIdx.x) * 4)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= ((((int)threadIdx.x) * 4) % 9))) && (((((int)threadIdx.x) * 4) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 4) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) * 4) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 1)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 1) % 9))) && ((((((int)threadIdx.x) * 4) + 1) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 1) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 1) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 2)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 2) % 9))) && ((((((int)threadIdx.x) * 4) + 2) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 2) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 2) % 9)) - 8)] : 0.000000e+00f);
+          }
+          if (((int)threadIdx.x) < 18) {
+            pad_temp_shared[((((int)threadIdx.x) * 4) + 3)] = (((((1 <= (ry_outer_outer + (((int)blockIdx.x) % 7))) && ((ry_outer_outer + (((int)blockIdx.x) % 7)) < 8)) && (1 <= (((((int)threadIdx.x) * 4) + 3) % 9))) && ((((((int)threadIdx.x) * 4) + 3) % 9) < 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 3) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 3) % 9)) - 8)] : 0.000000e+00f);
+          }
+          kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 64) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 128) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 192)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 36864)];
+          kernel_shared[(((((((int)threadIdx.x) + 256) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 320) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 384)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 73728)];
+          kernel_shared[(((((((int)threadIdx.x) + 448) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 512) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 110592)];
+          kernel_shared[(((((((int)threadIdx.x) + 640) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 704) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 768)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 147456)];
+          kernel_shared[(((((((int)threadIdx.x) + 832) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 896) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 960)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 184320)];
+          kernel_shared[(((((((int)threadIdx.x) + 1024) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 1088) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 221184)];
+          kernel_shared[(((((((int)threadIdx.x) + 1216) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 1280) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+          kernel_shared[(((((((int)threadIdx.x) + 1408) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 1472) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 294912)];
+          kernel_shared[(((((((int)threadIdx.x) + 1600) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 1664) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 331776)];
+          kernel_shared[(((((((int)threadIdx.x) + 1792) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 1856) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 368640)];
+          kernel_shared[(((((((int)threadIdx.x) + 1984) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 2048) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 405504)];
+          kernel_shared[(((((((int)threadIdx.x) + 2176) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 2240) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2304)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 442368)];
+          kernel_shared[(((((((int)threadIdx.x) + 2368) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2368) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 2432) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2432) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2496)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 479232)];
+          kernel_shared[(((((((int)threadIdx.x) + 2560) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2560) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 2624) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2624) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 516096)];
+          kernel_shared[(((((((int)threadIdx.x) + 2752) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2752) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 2816) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2816) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          kernel_shared[(((int)threadIdx.x) + 2880)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 552960)];
+          kernel_shared[(((((((int)threadIdx.x) + 2944) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2944) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+          kernel_shared[(((((((int)threadIdx.x) + 3008) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3008) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+          __syncthreads();
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 48)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+          conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+          conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
         }
       }
-      for (int i2_inner = 0; i2_inner < 7; ++i2_inner) {
-        compute[((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[i2_inner] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+      for (int i1_inner = 0; i1_inner < 2; ++i1_inner) {
+        for (int i3_inner = 0; i3_inner < 7; ++i3_inner) {
+          compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + i3_inner)] = max((conv2d_nchw[((i1_inner * 7) + i3_inner)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
+        }
       }
     }
 
@@ -678,7 +1375,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:** ( 6 minutes  6.173 seconds)
+   **Total running time of the script:** ( 6 minutes  1.558 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 8fa2bd53d6..9e7c82d2ac 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)  
-       7.8472       7.8473       7.8509       7.8433       0.0031   
+       7.9054       7.9072       7.9157       7.8933       0.0092   
                
 
 
@@ -675,7 +675,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  7.088 seconds)
+   **Total running time of the script:** ( 1 minutes  7.998 seconds)
 
 
 .. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_network_cuda.py:
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 1ed6cd481d..431246e082 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)  
-      761.2231     761.2819     762.5220     759.8655      1.0853   
+      749.4978     748.9964     750.7749     748.7221      0.9099   
                
 
 
@@ -694,7 +694,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  39.497 seconds)
+   **Total running time of the script:** ( 1 minutes  40.298 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 78a42744b9..7aa4889e81 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
@@ -389,11 +389,11 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
         @T.prim_func
         def main(placeholder: T.Buffer((128, 256), "float32"), placeholder_1: T.Buffer((4916, 16, 1), "float32"), placeholder_2: T.Buffer((4916,), "int32"), placeholder_3: T.Buffer((33,), "int32"), placeholder_4: T.Buffer((128, 512), "float32"), compute: T.Buffer((128, 512), "float32")):
             T.func_attr({"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True})
-            for i0_outer_i1_outer_fused in T.parallel(128):
-                compute_1 = T.allocate([512], "float32", "global")
-                compute_2 = T.Buffer((512,), data=compute_1)
+            for i0_outer_i1_outer_fused in T.parallel(256):
+                compute_1 = T.allocate([256], "float32", "global")
+                compute_2 = T.Buffer((256,), data=compute_1)
                 for nb_j_inner in range(2):
-                    for i_inner_init in range(16):
+                    for i_inner_init in range(8):
                         cse_var_1: T.int32 = i_inner_init * 32 + nb_j_inner * 16
                         compute_2[cse_var_1] = T.float32(0)
                         compute_2[cse_var_1 + 1] = T.float32(0)
@@ -411,13 +411,13 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
                         compute_2[cse_var_1 + 13] = T.float32(0)
                         compute_2[cse_var_1 + 14] = T.float32(0)
                         compute_2[cse_var_1 + 15] = T.float32(0)
-                    for elem_idx, i_inner in T.grid(T.let(cse_var_2, i0_outer_i1_outer_fused % 16 * 2 + nb_j_inner, placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2]), 16):
+                    for elem_idx, i_inner in T.grid(T.let(cse_var_2, i0_outer_i1_outer_fused % 16 * 2 + nb_j_inner, placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2]), 8):
                         cse_var_2 = T.int32()
                         placeholder_5 = T.Buffer((33,), "int32", data=placeholder_3.data)
                         cse_var_21: T.int32 = elem_idx * 16
                         cse_var_20: T.int32 = i_inner * 32 + nb_j_inner * 16
                         cse_var_19: T.int32 = i0_outer_i1_outer_fused % 16 * 2 + nb_j_inner
-                        cse_var_18: T.int32 = i0_outer_i1_outer_fused // 16 * 4096 + i_inner * 256
+                        cse_var_18: T.int32 = i0_outer_i1_outer_fused // 16 * 2048 + i_inner * 256
                         cse_var_17: T.int32 = cse_var_20 + 9
                         cse_var_16: T.int32 = cse_var_20 + 8
                         cse_var_15: T.int32 = cse_var_20 + 7
@@ -452,8 +452,8 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
                         compute_2[cse_var_7] = compute_2[cse_var_7] + placeholder_6[placeholder_5[cse_var_19] * 16 + cse_var_21 + 13] * T.max(placeholder_7[cse_var_18 + placeholder_8[placeholder_5[cse_var_19] + elem_idx]], T.float32(0))
                         compute_2[cse_var_8] = compute_2[cse_var_8] + placeholder_6[placeholder_5[cse_var_19] * 16 + cse_var_21 + 14] * T.max(placeholder_7[cse_var_18 + placeholder_8[placeholder_5[cse_var_19] + elem_idx]], T.float32(0))
                         compute_2[cse_var_9] = compute_2[cse_var_9] + placeholder_6[placeholder_5[cse_var_19] * 16 + cse_var_21 + 15] * T.max(placeholder_7[cse_var_18 + placeholder_8[placeholder_5[cse_var_19] + elem_idx]], T.float32(0))
-                for i0_inner, i1_inner in T.grid(16, 32):
-                    cse_var_22: T.int32 = i0_outer_i1_outer_fused // 16 * 8192 + i0_inner * 512 + i0_outer_i1_outer_fused % 16 * 32 + i1_inner
+                for i0_inner, i1_inner in T.grid(8, 32):
+                    cse_var_22: T.int32 = i0_outer_i1_outer_fused // 16 * 4096 + i0_inner * 512 + i0_outer_i1_outer_fused % 16 * 32 + i1_inner
                     compute_3 = T.Buffer((65536,), data=compute.data)
                     placeholder_5 = T.Buffer((65536,), data=placeholder_4.data)
                     compute_3[cse_var_22] = T.max(compute_2[i0_inner * 32 + i1_inner] + placeholder_5[cse_var_22], T.float32(0))
@@ -506,7 +506,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 1.676 ms
+    Execution time of this operator: 1.932 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 03a687e2c5..b3cfa0b039 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:41.274** total execution time for **how_to_tune_with_autotvm** files:
+**00:41.558** 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:41.240 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:41.524 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.020 | 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 682a5a5a36..9cda16d876 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
@@ -390,7 +390,7 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 16, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7830203
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 16, 2, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1101168
     No: 2   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
@@ -513,9 +513,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7999203
-    No: 3   GFLOPS: 6.53/6.53       result: MeasureResult(costs=(0.0354734305,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.734271764755249, timestamp=1676580955.0393226)        [('tile_f', [-1, 8, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,454963
-    No: 4   GFLOPS: 0.00/6.53       result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 64, 2, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4605716
+    No: 3   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -637,8 +636,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 16, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3469362
-    No: 5   GFLOPS: 0.00/6.53       result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 16, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5579179
+    No: 4   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -760,8 +759,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9504667
-    No: 6   GFLOPS: 0.00/6.53       result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 16, 8, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8093003
+    No: 5   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -883,8 +882,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 4, 64]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7822748
-    No: 7   GFLOPS: 0.00/6.53       result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 16, 8, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,3362343
+    No: 6   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1006,9 +1005,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 4, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8708688
-    No: 8   GFLOPS: 124.16/124.16   result: MeasureResult(costs=(0.00186450396875,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.475013494491577, timestamp=1676580961.6172936)    [('tile_f', [-1, 2, 2, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10307505
-    No: 9   GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 1, 16]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5990766
+    No: 7   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1130,8 +1128,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 256]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7740334
-    No: 10  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 8, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,315564
+    No: 8   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1253,254 +1251,28 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1105302
-    No: 11  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
-      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
-        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
-      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
-        func = build(s, args, target=target, runtime=runtime)
-      File "/workspace/python/tvm/driver/build_module.py", line 227, in build
-        input_mod = lower(inputs, args, name=name, binds=binds)
-      File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
-        return ffi.lower_schedule(inp, args, name, binds, simple_mode)
-      File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
-      File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
-      File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
-    tvm._ffi.base.TVMError: Traceback (most recent call last):
-      24: TVMFuncCall
-            at ../src/runtime/c_runtime_api.cc:477
-      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-            at ../include/tvm/runtime/packed_func.h:1217
-      22: Call
-            at ../include/tvm/runtime/packed_func.h:1213
-      21: operator()
-            at ../include/tvm/runtime/packed_func.h:1730
-      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
-            at ../include/tvm/runtime/packed_func.h:1670
-      19: run<>
-            at ../include/tvm/runtime/packed_func.h:1630
-      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1645
-      13: operator()
-            at ../src/driver/driver_api.cc:395
-      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
-            at ../src/driver/driver_api.cc:381
-      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:276
-      10: tvm::transform::Pass::operator()(tvm::IRModule) const
-            at ../src/ir/transform.cc:258
-      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:274
-      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:451
-      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:274
-      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/tir/ir/transform.cc:100
-      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
-            at ../include/tvm/runtime/packed_func.h:1749
-      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
-            at ../include/tvm/runtime/packed_func.h:1693
-      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
-            at ../include/tvm/runtime/packed_func.h:1617
-      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-            at ../include/tvm/runtime/packed_func.h:1217
-      1: Call
-            at ../include/tvm/runtime/packed_func.h:1213
-      0: operator()
-            at ../src/runtime/c_runtime_api.cc:534
-      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
-      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
-        raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
-
-    Traceback (most recent call last):
-      24: TVMFuncCall
-            at ../src/runtime/c_runtime_api.cc:477
-      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-            at ../include/tvm/runtime/packed_func.h:1217
-      22: Call
-            at ../include/tvm/runtime/packed_func.h:1213
-      21: operator()
-            at ../include/tvm/runtime/packed_func.h:1730
-      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
-            at ../include/tvm/runtime/packed_func.h:1670
-      19: run<>
-            at ../include/tvm/runtime/packed_func.h:1630
-      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1645
-      13: operator()
-            at ../src/driver/driver_api.cc:395
-      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
-            at ../src/driver/driver_api.cc:381
-      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:276
-      10: tvm::transform::Pass::operator()(tvm::IRModule) const
-            at ../src/ir/transform.cc:258
-      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:274
-      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:451
-      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:274
-      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/tir/ir/transform.cc:100
-      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
-            at ../include/tvm/runtime/packed_func.h:1749
-      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
-            at ../include/tvm/runtime/packed_func.h:1693
-      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
-            at ../include/tvm/runtime/packed_func.h:1617
-      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-            at ../include/tvm/runtime/packed_func.h:1217
-      1: Call
-            at ../include/tvm/runtime/packed_func.h:1213
-      0: operator()
-            at ../src/runtime/c_runtime_api.cc:534
-      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
-      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
-        raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,887931
-    No: 12  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
-      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
-        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
-      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
-        func = build(s, args, target=target, runtime=runtime)
-      File "/workspace/python/tvm/driver/build_module.py", line 227, in build
-        input_mod = lower(inputs, args, name=name, binds=binds)
-      File "/workspace/python/tvm/driver/build_module.py", line 134, in lower
-        return ffi.lower_schedule(inp, args, name, binds, simple_mode)
-      File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
-      File "tvm/_ffi/_cython/./packed_func.pxi", line 276, in tvm._ffi._cy3.core.FuncCall
-      File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
-    tvm._ffi.base.TVMError: Traceback (most recent call last):
-      24: TVMFuncCall
-            at ../src/runtime/c_runtime_api.cc:477
-      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-            at ../include/tvm/runtime/packed_func.h:1217
-      22: Call
-            at ../include/tvm/runtime/packed_func.h:1213
-      21: operator()
-            at ../include/tvm/runtime/packed_func.h:1730
-      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
-            at ../include/tvm/runtime/packed_func.h:1670
-      19: run<>
-            at ../include/tvm/runtime/packed_func.h:1630
-      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1645
-      13: operator()
-            at ../src/driver/driver_api.cc:395
-      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
-            at ../src/driver/driver_api.cc:381
-      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:276
-      10: tvm::transform::Pass::operator()(tvm::IRModule) const
-            at ../src/ir/transform.cc:258
-      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:274
-      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:451
-      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:274
-      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/tir/ir/transform.cc:100
-      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
-            at ../include/tvm/runtime/packed_func.h:1749
-      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
-            at ../include/tvm/runtime/packed_func.h:1693
-      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
-            at ../include/tvm/runtime/packed_func.h:1617
-      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-            at ../include/tvm/runtime/packed_func.h:1217
-      1: Call
-            at ../include/tvm/runtime/packed_func.h:1213
-      0: operator()
-            at ../src/runtime/c_runtime_api.cc:534
-      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
-      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
-        raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 2, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,155290
+    No: 9   GFLOPS: 43.54/43.54     result: MeasureResult(costs=(0.005317119875000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.584394931793213, timestamp=1676587675.7939022)        [('tile_f', [-1, 1, 32, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3533990
+    No: 10  GFLOPS: 20.24/43.54     result: MeasureResult(costs=(0.011439463222222222,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.389111280441284, timestamp=1676587676.585565) [('tile_f', [-1, 1, 1, 64]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4747360
+    No: 11  GFLOPS: 0.00/43.54      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
+        return self.__get_result()
+      File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
+        raise self._exception
+      File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
+        result = self.fn(*self.args, **self.kwargs)
+      File "/workspace/python/tvm/contrib/popen_pool.py", line 432, in <lambda>
+        worker = lambda *args: self._worker_run(*args)
+      File "/workspace/python/tvm/contrib/popen_pool.py", line 401, in _worker_run
+        return proc.recv()
+      File "/workspace/python/tvm/contrib/popen_pool.py", line 309, in recv
+        raise TimeoutError()
+    TimeoutError
 
-    Traceback (most recent call last):
-      24: TVMFuncCall
-            at ../src/runtime/c_runtime_api.cc:477
-      23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-            at ../include/tvm/runtime/packed_func.h:1217
-      22: Call
-            at ../include/tvm/runtime/packed_func.h:1213
-      21: operator()
-            at ../include/tvm/runtime/packed_func.h:1730
-      20: unpack_call<tvm::IRModule, 5, tvm::<lambda(tvm::te::Schedule, const tvm::runtime::Array<tvm::runtime::ObjectRef>&, const tvm::runtime::String&, const tvm::runtime::Map<tvm::te::Tensor, tvm::tir::Buffer>&, bool)> >
-            at ../include/tvm/runtime/packed_func.h:1670
-      19: run<>
-            at ../include/tvm/runtime/packed_func.h:1630
-      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1630
-      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
-            at ../include/tvm/runtime/packed_func.h:1645
-      13: operator()
-            at ../src/driver/driver_api.cc:395
-      12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, tvm::GlobalVarSupply, bool)
-            at ../src/driver/driver_api.cc:381
-      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:276
-      10: tvm::transform::Pass::operator()(tvm::IRModule) const
-            at ../src/ir/transform.cc:258
-      9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:274
-      8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:451
-      7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/ir/transform.cc:274
-      6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
-            at ../src/tir/ir/transform.cc:100
-      5: tvm::runtime::TypedPackedFunc<tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)>::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
-            at ../include/tvm/runtime/packed_func.h:1749
-      4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher<tvm::tir::PrimFunc>::run<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::runtime::PackedFunc const&, tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&)
-            at ../include/tvm/runtime/packed_func.h:1693
-      3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()<tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext>(tvm::tir::PrimFunc&&, tvm::IRModule&&, tvm::transform::PassContext&&) const
-            at ../include/tvm/runtime/packed_func.h:1617
-      2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-            at ../include/tvm/runtime/packed_func.h:1217
-      1: Call
-            at ../include/tvm/runtime/packed_func.h:1213
-      0: operator()
-            at ../src/runtime/c_runtime_api.cc:534
-      File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
-      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
-        raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 1, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9835461
-    No: 13  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
+            [('tile_f', [-1, 1, 1, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 16, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8601284
+    No: 12  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1622,8 +1394,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 256, 2]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7227816
-    No: 14  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 4, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4258613
+    No: 13  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1745,9 +1517,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 32, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5889003
-    No: 15  GFLOPS: 154.74/154.74   result: MeasureResult(costs=(0.0014960860135135134,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.9656424522399902, timestamp=1676580966.0107188)      [('tile_f', [-1, 1, 4, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8616669
-    No: 16  GFLOPS: 0.00/154.74     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 4, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3800036
+    No: 14  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1869,8 +1640,9 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 8, 16]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7494040
-    No: 17  GFLOPS: 0.00/154.74     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 1, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9382947
+    No: 15  GFLOPS: 3.69/43.54      result: MeasureResult(costs=(0.062749111,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.9768059253692627, timestamp=1676587679.3913891)        [('tile_f', [-1, 2, 2, 32]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6436071
+    No: 16  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -1992,8 +1764,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 32, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8573932
-    No: 18  GFLOPS: 0.00/154.74     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 8, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10171952
+    No: 17  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -2115,26 +1887,8 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 64, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 128, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7835786
-    No: 19  GFLOPS: 0.00/154.74     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
-        return self.__get_result()
-      File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
-        raise self._exception
-      File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
-        result = self.fn(*self.args, **self.kwargs)
-      File "/workspace/python/tvm/contrib/popen_pool.py", line 432, in <lambda>
-        worker = lambda *args: self._worker_run(*args)
-      File "/workspace/python/tvm/contrib/popen_pool.py", line 401, in _worker_run
-        return proc.recv()
-      File "/workspace/python/tvm/contrib/popen_pool.py", line 309, in recv
-        raise TimeoutError()
-    TimeoutError
-
-            [('tile_f', [-1, 2, 2, 32]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2036071
-    No: 20  GFLOPS: 0.00/154.74     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 16, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4786722
+    No: 18  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 592, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 544, in _build_func_common
@@ -2256,7 +2010,9 @@ for this template
       File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 875, 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, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6380909
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 128, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9188087
+    No: 19  GFLOPS: 1.04/43.54      result: MeasureResult(costs=(0.222811157,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.980097770690918, timestamp=1676587684.8174598) [('tile_f', [-1, 2, 1, 128]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 16, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,50811
+    No: 20  GFLOPS: 39.10/43.54     result: MeasureResult(costs=(0.005920064117647059,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.49173641204834, timestamp=1676587685.5752888) [('tile_f', [-1, 1, 4, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7361394
 
 
 
@@ -2311,9 +2067,9 @@ and measure running time.
     Finish loading 20 records
 
     Best config:
-    [('tile_f', [-1, 1, 4, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,8616669
+    [('tile_f', [-1, 1, 32, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3533990
     Finish loading 20 records
-    Time cost of this operator: 0.001827
+    Time cost of this operator: 0.005164
 
 
 
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 e34c45dcef..172c5b613d 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
@@ -360,10 +360,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  311.3     98.732   (1, 2, 10, 10, 3)  2       1        [311.3]           
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.018     0.957    (1, 6, 10, 10)     1       1        [3.018]           
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.981     0.311    (1, 1, 10, 10, 3)  1       1        [0.981]           
-    Total_time                                    -                                             315.299   -        -                  -       -        -                 
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  309.7     98.725   (1, 2, 10, 10, 3)  2       1        [309.7]           
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.018     0.962    (1, 6, 10, 10)     1       1        [3.018]           
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.983     0.313    (1, 1, 10, 10, 3)  1       1        [0.983]           
+    Total_time                                    -                                             313.701   -        -                  -       -        -                 
 
 
 
@@ -428,10 +428,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  102.5     97.522   (1, 6, 10, 10, 1)  2       1        [102.5]           
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.755     1.67     (1, 6, 10, 10)     1       1        [1.755]           
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.85      0.809    (1, 3, 10, 10, 1)  1       1        [0.85]            
-    Total_time                                    -                                             105.105   -        -                  -       -        -                 
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  100.2     97.269   (1, 6, 10, 10, 1)  2       1        [100.2]           
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.827     1.773    (1, 6, 10, 10)     1       1        [1.827]           
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.987     0.958    (1, 1, 10, 10, 3)  1       1        [0.987]           
+    Total_time                                    -                                             103.013   -        -                  -       -        -                 
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
index 06ab813f35..b2513d9b2c 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_pytorch.rst.txt
@@ -118,7 +118,7 @@ download a cat image and preprocess it to use as the model input.
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/ao/quantization/utils.py:281: UserWarning: must run observer before calling calculate_qparams. Returning default values.
       "must run observer before calling calculate_qparams. " +
     Downloading: "https://download.pytorch.org/models/quantized/mobilenet_v2_qnnpack_37f702c5.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2_qnnpack_37f702c5.pth
-
      0%|          | 0.00/3.42M [00:00<?, ?B/s]
     61%|######    | 2.09M/3.42M [00:00<00:00, 17.6MB/s]
    100%|##########| 3.42M/3.42M [00:00<00:00, 26.9MB/s]
+
      0%|          | 0.00/3.42M [00:00<?, ?B/s]
     83%|########2 | 2.84M/3.42M [00:00<00:00, 29.7MB/s]
    100%|##########| 3.42M/3.42M [00:00<00:00, 34.6MB/s]
     /workspace/python/tvm/relay/frontend/pytorch_utils.py:47: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
       return LooseVersion(torch_ver) > ver
     /venv/apache-tvm-py3.7/lib/python3.7/site-packages/setuptools/_distutils/version.py:346: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
@@ -324,7 +324,7 @@ Look up prediction top 1 index in 1000 class synset.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  10.045 seconds)
+   **Total running time of the script:** ( 1 minutes  10.862 seconds)
 
 
 .. _sphx_glr_download_how_to_work_with_microtvm_micro_pytorch.py:
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 4c75166771..cf52b39ab7 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
@@ -218,7 +218,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
  .. code-block:: none
 
 
-    '/tmp/tmpou7_uo5r/images/random'
+    '/tmp/tmpajpgm9ga/images/random'
 
 
 
@@ -309,7 +309,7 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
 
 .. image-sg:: /how_to/work_with_microtvm/images/sphx_glr_micro_train_001.png
-   :alt: [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0]
+   :alt: [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0]
    :srcset: /how_to/work_with_microtvm/images/sphx_glr_micro_train_001.png
    :class: sphx-glr-single-img
 
@@ -318,8 +318,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
  .. code-block:: none
 
-    /tmp/tmpou7_uo5r/images/target contains 8144 images
-    /tmp/tmpou7_uo5r/images/random contains 5000 images
+    /tmp/tmpajpgm9ga/images/target contains 8144 images
+    /tmp/tmpajpgm9ga/images/random contains 5000 images
 
 
 
@@ -494,13 +494,13 @@ the time on our validation set).
  .. code-block:: none
 
     Epoch 1/3
-    328/328 - 46s - loss: 0.2072 - accuracy: 0.9291 - val_loss: 0.0887 - val_accuracy: 0.9649 - 46s/epoch - 142ms/step
+    328/328 - 47s - loss: 0.2264 - accuracy: 0.9259 - val_loss: 0.1412 - val_accuracy: 0.9517 - 47s/epoch - 143ms/step
     Epoch 2/3
-    328/328 - 43s - loss: 0.1025 - accuracy: 0.9617 - val_loss: 0.0884 - val_accuracy: 0.9694 - 43s/epoch - 131ms/step
+    328/328 - 43s - loss: 0.1006 - accuracy: 0.9637 - val_loss: 0.0984 - val_accuracy: 0.9702 - 43s/epoch - 132ms/step
     Epoch 3/3
-    328/328 - 43s - loss: 0.0691 - accuracy: 0.9735 - val_loss: 0.0982 - val_accuracy: 0.9645 - 43s/epoch - 131ms/step
+    328/328 - 43s - loss: 0.0692 - accuracy: 0.9743 - val_loss: 0.0993 - val_accuracy: 0.9728 - 43s/epoch - 131ms/step
 
-    <keras.callbacks.History object at 0x7fc484365750>
+    <keras.callbacks.History object at 0x7f235259aa90>
 
 
 
@@ -861,7 +861,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:** ( 4 minutes  54.712 seconds)
+   **Total running time of the script:** ( 4 minutes  59.479 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 8a362bae4a..2bcbbaeb53 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,18 +5,18 @@
 
 Computation times
 =================
-**07:12.132** total execution time for **how_to_work_with_microtvm** files:
+**07:19.040** total execution time for **how_to_work_with_microtvm** files:
 
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)           | 04:54.712 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)           | 04:59.479 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``)       | 01:10.045 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``)       | 01:10.862 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)     | 00:54.201 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)     | 00:55.213 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``)               | 00:07.982 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``)               | 00:08.110 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)         | 00:05.192 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)         | 00:05.375 | 0.0 MB |
 +-----------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)             | 00:00.000 | 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 442dd15153..b444a01fc0 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:44.035** total execution time for **how_to_work_with_relay** files:
+**00:44.784** 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:31.971 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:32.579 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)           | 00:10.361 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)           | 00:10.473 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                             | 00:01.697 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                             | 00:01.726 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)                 | 00:00.006 | 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 4843155fde..42a5d095f1 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
@@ -264,7 +264,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
  .. code-block:: none
 
 
-    <function my_cuda_math_rule at 0x7fc319d4c830>
+    <function my_cuda_math_rule at 0x7f21fcb73320>
 
 
 
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 7cb95b229e..68d1cd1b6b 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:08.849** total execution time for **how_to_work_with_schedules** files:
+**00:08.492** 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:06.387 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:05.960 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:01.111 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:01.154 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.574 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.585 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.551 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.561 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.115 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.118 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.053 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.054 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.032 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.033 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.027 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.028 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
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 0d11d997a6..3bf60fc003 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:30.157** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:30.533** 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:30.151 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:30.526 | 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 0823b1ee14..fe028692cf 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -293,7 +293,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 31.83s!
+    resnet18_v1 inference graph built in 32.73s!
 
 
 
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 c4cfdd06b1..7bb6a832d3 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -337,7 +337,7 @@ The compilation steps are:
 
     /workspace/python/tvm/relay/build_module.py:348: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
       DeprecationWarning,
-    yolov3-tiny inference graph built in 21.83s!
+    yolov3-tiny inference graph built in 22.33s!
 
 
 
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 d2058427a7..6e1f2c8a84 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:37.861** total execution time for **topic_vta_tutorials_frontend** files:
+**01:39.137** total execution time for **topic_vta_tutorials_frontend** files:
 
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:49.156 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:49.590 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:48.704 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:49.547 | 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 29efe54ddf..ddf93a2f16 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.174** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.188** total execution time for **topic_vta_tutorials_optimize** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.717 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.718 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.457 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.470 | 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 ca709d2762..16429d3abc 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.763** total execution time for **topic_vta_tutorials** files:
+**00:00.779** total execution time for **topic_vta_tutorials** files:
 
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.396 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.402 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.367 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.377 | 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 1480d5b9d4..453c76d236 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -318,7 +318,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 99.506 ms
+    Execution time of this operator: 94.702 ms
 
 
 
@@ -436,7 +436,7 @@ operations.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  21.880 seconds)
+   **Total running time of the script:** ( 1 minutes  33.599 seconds)
 
 
 .. _sphx_glr_download_tutorial_auto_scheduler_matmul_x86.py:
diff --git a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
index 12e53156b8..3dedd64761 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -454,16 +454,16 @@ reduce variance, we take 5 measurements and average them.
     waiting for device...
     device available
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 10.27/10.27     result: MeasureResult(costs=(0.026137850600000002,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7091748714447021, timestamp=1676579423.8573425)       [('tile_y', [-1, 4]), ('tile_x', [-1, 128])],None,72
-    No: 2   GFLOPS: 8.91/10.27      result: MeasureResult(costs=(0.0301282276,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.8904330730438232, timestamp=1676579424.5957866)       [('tile_y', [-1, 16]), ('tile_x', [-1, 64])],None,64
-    No: 3   GFLOPS: 3.28/10.27      result: MeasureResult(costs=(0.08175542920000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5578181743621826, timestamp=1676579426.9110057)        [('tile_y', [-1, 32]), ('tile_x', [-1, 8])],None,35
-    No: 4   GFLOPS: 1.65/10.27      result: MeasureResult(costs=(0.1623021244,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.8274576663970947, timestamp=1676579430.5122225)       [('tile_y', [-1, 8]), ('tile_x', [-1, 1])],None,3
-    No: 5   GFLOPS: 9.20/10.27      result: MeasureResult(costs=(0.029162491799999996,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7262482643127441, timestamp=1676579431.35987) [('tile_y', [-1, 8]), ('tile_x', [-1, 32])],None,53
-    No: 6   GFLOPS: 9.27/10.27      result: MeasureResult(costs=(0.0289548138,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7225973606109619, timestamp=1676579432.0844326)       [('tile_y', [-1, 4]), ('tile_x', [-1, 32])],None,52
-    No: 7   GFLOPS: 13.88/13.88     result: MeasureResult(costs=(0.019339325400000003,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.577531099319458, timestamp=1676579433.407051) [('tile_y', [-1, 128]), ('tile_x', [-1, 64])],None,67
-    No: 8   GFLOPS: 12.65/13.88     result: MeasureResult(costs=(0.021212805199999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5689840316772461, timestamp=1676579434.0039713)       [('tile_y', [-1, 32]), ('tile_x', [-1, 512])],None,95
-    No: 9   GFLOPS: 9.19/13.88      result: MeasureResult(costs=(0.029218983200000003,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6848597526550293, timestamp=1676579434.8035657)       [('tile_y', [-1, 2]), ('tile_x', [-1, 32])],None,51
-    No: 10  GFLOPS: 1.91/13.88      result: MeasureResult(costs=(0.140306297,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.467574119567871, timestamp=1676579437.303949)  [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
+    No: 1   GFLOPS: 9.31/9.31       result: MeasureResult(costs=(0.028827712999999998,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7023482322692871, timestamp=1676586104.539097)        [('tile_y', [-1, 2]), ('tile_x', [-1, 32])],None,51
+    No: 2   GFLOPS: 13.65/13.65     result: MeasureResult(costs=(0.0196615614,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5997452735900879, timestamp=1676586105.1109333)       [('tile_y', [-1, 16]), ('tile_x', [-1, 512])],None,94
+    No: 3   GFLOPS: 12.67/13.65     result: MeasureResult(costs=(0.021194029,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5722525119781494, timestamp=1676586106.4801903)        [('tile_y', [-1, 4]), ('tile_x', [-1, 256])],None,82
+    No: 4   GFLOPS: 13.79/13.79     result: MeasureResult(costs=(0.019465174600000003,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.570828914642334, timestamp=1676586107.8059542)        [('tile_y', [-1, 128]), ('tile_x', [-1, 64])],None,67
+    No: 5   GFLOPS: 3.91/13.79      result: MeasureResult(costs=(0.06858877240000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3706650733947754, timestamp=1676586109.2955642)        [('tile_y', [-1, 64]), ('tile_x', [-1, 16])],None,46
+    No: 6   GFLOPS: 9.55/13.79      result: MeasureResult(costs=(0.028120031,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6996567249298096, timestamp=1676586110.7659154)        [('tile_y', [-1, 4]), ('tile_x', [-1, 32])],None,52
+    No: 7   GFLOPS: 0.90/13.79      result: MeasureResult(costs=(0.2987313046,), error_no=MeasureErrorNo.NO_ERROR, all_cost=5.022249460220337, timestamp=1676586115.8004231)        [('tile_y', [-1, 64]), ('tile_x', [-1, 2])],None,16
+    No: 8   GFLOPS: 3.02/13.79      result: MeasureResult(costs=(0.0889406326,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6651837825775146, timestamp=1676586117.474646)        [('tile_y', [-1, 512]), ('tile_x', [-1, 16])],None,49
+    No: 9   GFLOPS: 10.10/13.79     result: MeasureResult(costs=(0.026571087,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.6697037220001221, timestamp=1676586118.4786587)        [('tile_y', [-1, 512]), ('tile_x', [-1, 128])],None,79
+    No: 10  GFLOPS: 14.72/14.72     result: MeasureResult(costs=(0.01823674,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7502443790435791, timestamp=1676586119.0226288) [('tile_y', [-1, 64]), ('tile_x', [-1, 64])],None,66
 
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index b255453e41..b47f3cbfec 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -311,7 +311,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 511.96442124000095, 'median': 512.2776971500002, 'std': 1.4474520965429158}
+    {'mean': 513.7437136000005, 'median': 512.6987855000039, 'std': 2.128160157777918}
 
 
 
@@ -545,31 +545,31 @@ the tuning data to.
 
  .. code-block:: none
 
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   13.22/  15.06 GFLOPS | Progress: (4/20) | 7.80 s
    [Task  1/25]  Current/Best:   18.30/  19.19 GFLOPS | Progress: (8/20) | 11.23 s
    [Task  1/25]  Current/Best:    6.92/  19.19 GFLOPS | Progress: (12/20) | 13.94 s
    [Task  1/25]  Current/Best:   15.00/  23.59 GFLOPS | Progress: (16/20) | 16.61 s
    [Task  1/25]  Current/Best:   22.26/  23.59 GFLOPS | Progress: (20/20) | 18.48 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   14.31/  16.80 GFLOPS | Progress: (4/20) | 4.58 s
    [Task  2/25]  Current/Best:   13.82/  19.65 GFLOPS | Progress: (8/20) | 6.76 s
    [Task  2/25]  Current/Best:   16.03/  21.47 GFLOPS | Progress: (12/20) | 8.47 s
    [Task  2/25]  Current/Best:   10.86/  21.47 GFLOPS | Progress: (16/20) | 10.06 s
    [Task  2/25]  Current/Best:   12.99/  21.47 GFLOPS | Progress: (20/20) | 11.80 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:   12.34/  12.34 GFLOPS | Progress: (4/20) | 4.73 s
    [Task  3/25]  Current/Best:    6.39/  24.04 GFLOPS | Progress: (8/20) | 7.03 s
    [Task  3/25]  Current/Best:   14.95/  24.04 GFLOPS | Progress: (12/20) | 10.57 s
    [Task  3/25]  Current/Best:   23.52/  24.04 GFLOPS | Progress: (16/20) | 12.95 s
    [Task  3/25]  Current/Best:    9.29/  24.04 GFLOPS | Progress: (20/20) | 15.25 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:   17.68/  17.68 GFLOPS | Progress: (4/20) | 6.27 s
    [Task  4/25]  Current/Best:   11.93/  17.68 GFLOPS | Progress: (8/20) | 8.47 s
    [Task  4/25]  Current/Best:   16.98/  17.68 GFLOPS | Progress: (12/20) | 10.37 s
    [Task  4/25]  Current/Best:    4.72/  17.68 GFLOPS | Progress: (16/20) | 16.97 s
    [Task  4/25]  Current/Best:   11.13/  17.68 GFLOPS | Progress: (20/20) | 24.06 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    6.99/  16.32 GFLOPS | Progress: (4/20) | 4.09 s
    [Task  5/25]  Current/Best:    8.77/  16.32 GFLOPS | Progress: (8/20) | 7.37 s
    [Task  5/25]  Current/Best:    8.74/  16.75 GFLOPS | Progress: (12/20) | 9.14 s
    [Task  5/25]  Current/Best:   14.14/  17.91 GFLOPS | Progress: (16/20) | 11.63 s
    [Task  5/25]  Current/Best:   19.73/  19.73 GFLOPS | Progress: (20/20) | 14.83 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   14.37/  14.37 GFLOPS | Progress: (4/20) | 4.60 s
    [Task  6/25]  Current/Best:   12.53/  14.37 GFLOPS | Progress: (8/20) | 8.75 s
    [Task  6/25]  Current/Best:   12.48/  21.78 GFLOPS | Progress: (12/20) | 11.21 s
    [Task  6/25]  Current/Best:   16.45/  21.78 GFLOPS | Progress: (16/20) | 13.59 s
    [Task  6/25]  Current/Best:    8.19/  21.78 GFLOPS | Progress: (20/20) | 16.23 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   19.60/  19.60 GFLOPS | Progress: (4/20) | 3.86 s
    [Task  7/25]  Current/Best:    5.28/  19.60 GFLOPS | Progress: (8/20) | 6.83 s
    [Task  7/25]  Current/Best:   12.90/  19.60 GFLOPS | Progress: (12/20) | 9.72 s
    [Task  7/25]  Current/Best:   19.18/  19.60 GFLOPS | Progress: (16/20) | 12.58 s
    [Task  7/25]  Current/Best:   17.36/  20.04 GFLOPS | Progress: (20/20) | 14.95 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:   13.77/  14.86 GFLOPS | Progress: (4/20) | 5.24 s
    [Task  8/25]  Current/Best:    4.79/  17.66 GFLOPS | Progress: (8/20) | 16.69 s
    [Task  8/25]  Current/Best:   11.08/  18.97 GFLOPS | Progress: (12/20) | 18.97 s
    [Task  8/25]  Current/Best:   16.32/  18.97 GFLOPS | Progress: (16/20) | 21.72 s
    [Task  8/25]  Current/Best:   11.36/  18.97 GFLOPS | Progress: (20/20) | 24.73 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.98/  14.98 GFLOPS | Progress: (4/20) | 4.72 s
    [Task  9/25]  Current/Best:   12.68/  14.98 GFLOPS | Progress: (8/20) | 15.81 s
    [Task  9/25]  Current/Best:   18.14/  20.19 GFLOPS | Progress: (12/20) | 18.95 s
    [Task  9/25]  Current/Best:    6.86/  20.19 GFLOPS | Progress: (16/20) | 21.75 s
    [Task  9/25]  Current/Best:   12.75/  20.19 GFLOPS | Progress: (20/20) | 23.95 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   16.10/  16.19 GFLOPS | Progress: (4/20) | 3.61 s
    [Task 10/25]  Current/Best:    6.76/  16.19 GFLOPS | Progress: (8/20) | 6.20 s
    [Task 10/25]  Current/Best:   14.48/  18.22 GFLOPS | Progress: (12/20) | 8.33 s
    [Task 10/25]  Current/Best:   20.70/  20.70 GFLOPS | Progress: (16/20) | 10.77 s
    [Task 10/25]  Current/Best:   18.63/  20.70 GFLOPS | Progress: (20/20
 ) | 12.64 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   21.49/  21.49 GFLOPS | Progress: (4/20) | 4.62 s
    [Task 11/25]  Current/Best:    6.57/  21.49 GFLOPS | Progress: (8/20) | 6.90 s
    [Task 11/25]  Current/Best:   15.94/  21.49 GFLOPS | Progress: (12/20) | 9.24 s
    [Task 11/25]  Current/Best:   15.74/  21.49 GFLOPS | Progress: (16/20) | 11.22 s
    [Task 11/25]  Current/Best:   12.35/  21.49 GFLOPS | Progress: (20/20) | 13.55 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    5.78/  16.39 GFLOPS | Progress: (4/20) | 4.86 s
    [Task 12/25]  Current/Best:    5.17/  18.33 GFLOPS | Progress: (8/20) | 7.16 s
    [Task 12/25]  Current/Best:    6.58/  18.33 GFLOPS | Progress: (12/20) | 10.17 s
    [Task 12/25]  Current/Best:    3.25/  18.33 GFLOPS | Progress: (16/20) | 13.49 s
    [Task 12/25]  Current/Best:   14.49/  18.33 GFLOPS | Progress: (20/20) | 18.02 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    9.61/  21.35 GFLOPS | Progress: (4/20) | 5.54 s
    [Task 13/25]  Current/Best:   10.13/  21.35 GFLOPS | Progress: (8/20) | 8.07 s
    [Task 13/25]  Current/Best:   17.34/  21.35 GFLOPS | Progress: (12/20) | 12.43 s
    [Task 13/25]  Current/Best:   17.86/  21.35 GFLOPS | Progress: (16/20) | 14.73 s
    [Task 13/25]  Current/Best:   14.39/  21.35 GFLOPS | Progress: (20/20) | 17.25 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   16.87/  20.32 GFLOPS | Progress: (4/20) | 3.85 s
    [Task 14/25]  Current/Best:   11.30/  20.32 GFLOPS | Progress: (8/20) | 8.12 s
    [Task 14/25]  Current/Best:   11.73/  20.32 GFLOPS | Progress: (12/20) | 10.67 s
    [Task 14/25]  Current/Best:    3.11/  20.32 GFLOPS | Progress: (16/20) | 15.14 s
    [Task 14/25]  Current/Best:   15.61/  20.32 GFLOPS | Progress: (20/20) | 17.58 s Done.
-
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   12.26/  14.38 GFLOPS | Progress: (4/20) | 3.66 s
    [Task 15/25]  Current/Best:   13.92/  17.95 GFLOPS | Progress: (8/20) | 7.15 s
    [Task 15/25]  Current/Best:    3.15/  19.10 GFLOPS | Progress: (12/20) | 9.32 s
    [Task 15/25]  Current/Best:    6.63/  19.10 GFLOPS | Progress: (16/20) | 11.14 s
    [Task 15/25]  Current/Best:   11.97/  19.10 GFLOPS | Progress: (20/20) | 13.47 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   18.66/  19.79 GFLOPS | Progress: (4/20) | 4.09 s
    [Task 16/25]  Current/Best:   20.28/  20.28 GFLOPS | Progress: (8/20) | 6.54 s
    [Task 16/25]  Current/Best:   14.58/  20.28 GFLOPS | Progress: (12/20) | 8.88 s
    [Task 16/25]  Current/Best:    5.17/  20.28 GFLOPS | Progress: (16/20) | 11.78 s
    [Task 16/25]  Current/Best:   10.59/  20.28 GFLOPS | Progress: (20/20) 
 | 13.25 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   11.49/  23.61 GFLOPS | Progress: (4/20) | 5.61 s
    [Task 17/25]  Current/Best:   10.40/  23.61 GFLOPS | Progress: (8/20) | 8.27 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   22.01/  22.01 GFLOPS | Progress: (4/20) | 7.82 s
    [Task  1/25]  Current/Best:   13.55/  22.01 GFLOPS | Progress: (8/20) | 11.93 s
    [Task  1/25]  Current/Best:   16.07/  22.01 GFLOPS | Progress: (12/20) | 15.75 s
    [Task  1/25]  Current/Best:   12.68/  22.01 GFLOPS | Progress: (16/20) | 19.75 s
    [Task  1/25]  Current/Best:   12.08/  22.01 GFLOPS | Progress: (20/20) | 22.29 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:    5.58/  15.57 GFLOPS | Progress: (4/20) | 3.59 s
    [Task  2/25]  Current/Best:   13.18/  20.69 GFLOPS | Progress: (8/20) | 5.25 s
    [Task  2/25]  Current/Best:    5.75/  20.69 GFLOPS | Progress: (12/20) | 6.94 s
    [Task  2/25]  Current/Best:   12.84/  20.69 GFLOPS | Progress: (16/20) | 8.62 s
    [Task  2/25]  Current/Best:   14.04/  20.69 GFLOPS | Progress: (20/20) | 10.45 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:   10.02/  16.15 GFLOPS | Progress: (4/20) | 4.10 s
    [Task  3/25]  Current/Best:   16.68/  16.68 GFLOPS | Progress: (8/20) | 6.90 s
    [Task  3/25]  Current/Best:   12.56/  22.54 GFLOPS | Progress: (12/20) | 9.24 s
    [Task  3/25]  Current/Best:   20.24/  22.54 GFLOPS | Progress: (16/20) | 11.40 s
    [Task  3/25]  Current/Best:   24.42/  24.42 GFLOPS | Progress: (20/20) | 13.75 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:   16.59/  16.59 GFLOPS | Progress: (4/20) | 3.86 s
    [Task  4/25]  Current/Best:   15.27/  16.59 GFLOPS | Progress: (8/20) | 6.99 s
    [Task  4/25]  Current/Best:    3.80/  18.45 GFLOPS | Progress: (12/20) | 12.07 s
    [Task  4/25]  Current/Best:    7.08/  18.45 GFLOPS | Progress: (16/20) | 14.85 s
    [Task  4/25]  Current/Best:    4.89/  20.87 GFLOPS | Progress: (20/20) | 19.86 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    8.94/  10.91 GFLOPS | Progress: (4/20) | 4.37 s
    [Task  5/25]  Current/Best:   18.03/  22.61 GFLOPS | Progress: (8/20) | 6.22 s
    [Task  5/25]  Current/Best:   15.91/  22.61 GFLOPS | Progress: (12/20) | 8.60 s
    [Task  5/25]  Current/Best:   13.48/  22.61 GFLOPS | Progress: (16/20) | 10.90 s
    [Task  5/25]  Current/Best:    4.53/  22.61 GFLOPS | Progress: (20/20) | 13.38 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:    4.75/  17.27 GFLOPS | Progress: (4/20) | 4.94 s
    [Task  6/25]  Current/Best:   14.54/  17.27 GFLOPS | Progress: (8/20) | 7.25 s
    [Task  6/25]  Current/Best:   11.18/  17.46 GFLOPS | Progress: (12/20) | 10.06 s
    [Task  6/25]  Current/Best:   17.50/  17.70 GFLOPS | Progress: (16/20) | 12.70 s
    [Task  6/25]  Current/Best:   22.30/  22.30 GFLOPS | Progress: (20/20) | 15.40 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   11.05/  16.52 GFLOPS | Progress: (4/20) | 6.69 s
    [Task  7/25]  Current/Best:   10.66/  16.52 GFLOPS | Progress: (8/20) | 10.28 s
    [Task  7/25]  Current/Best:   17.15/  17.15 GFLOPS | Progress: (12/20) | 12.50 s
    [Task  7/25]  Current/Best:   18.44/  18.44 GFLOPS | Progress: (16/20) | 16.18 s
    [Task  7/25]  Current/Best:   15.40/  19.01 GFLOPS | Progress: (20/20) | 18.79 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:   12.50/  12.57 GFLOPS | Progress: (4/20) | 7.68 s
    [Task  8/25]  Current/Best:   13.79/  16.01 GFLOPS | Progress: (8/20) | 10.18 s
    [Task  8/25]  Current/Best:   11.87/  18.68 GFLOPS | Progress: (12/20) | 14.58 s
    [Task  8/25]  Current/Best:    7.67/  18.68 GFLOPS | Progress: (16/20) | 23.17 s
    [Task  8/25]  Current/Best:    8.91/  18.68 GFLOPS | Progress: (20/20) | 25.84 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   11.58/  23.32 GFLOPS | Progress: (4/20) | 7.22 s
    [Task  9/25]  Current/Best:    8.04/  23.32 GFLOPS | Progress: (8/20) | 12.98 s
    [Task  9/25]  Current/Best:   20.44/  23.32 GFLOPS | Progress: (12/20) | 15.43 s
    [Task  9/25]  Current/Best:   13.69/  23.32 GFLOPS | Progress: (16/20) | 20.59 s
    [Task  9/25]  Current/Best:   13.02/  23.32 GFLOPS | Progress: (20/20) | 31.91 s Done.
+
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:    6.61/  11.57 GFLOPS | Progress: (4/20) | 3.95 s
    [Task 10/25]  Current/Best:    8.06/  12.52 GFLOPS | Progress: (8/20) | 6.02 s
    [Task 10/25]  Current/Best:   17.08/  17.08 GFLOPS | Progress: (12/20) | 7.78 s
    [Task 10/25]  Current/Best:   17.39/  17.39 GFLOPS | Progress: (16/20) | 9.47 s
    [Task 10/25]  Current/Best:   14.08/  20.65 GFLOPS | Progress: (20/20) | 11.67 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   19.82/  19.82 GFLOPS | Progress: (4/20) | 4.45 s
    [Task 11/25]  Current/Best:   13.39/  19.82 GFLOPS | Progress: (8/20) | 7.20 s
    [Task 11/25]  Current/Best:   19.16/  19.82 GFLOPS | Progress: (12/20) | 9.88 s
    [Task 11/25]  Current/Best:   10.69/  19.82 GFLOPS | Progress: (16/20) | 13.93 s
    [Task 11/25]  Current/Best:   17.34/  19.82 GFLOPS | Progress: (20/20) | 15.99 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:   10.98/  13.61 GFLOPS | Progress: (4/20) | 5.25 s
    [Task 12/25]  Current/Best:   16.93/  16.93 GFLOPS | Progress: (8/20) | 8.08 s
    [Task 12/25]  Current/Best:    9.36/  19.54 GFLOPS | Progress: (12/20) | 16.37 s
    [Task 12/25]  Current/Best:    7.64/  19.71 GFLOPS | Progress: (16/20) | 19.96 s
    [Task 12/25]  Current/Best:   19.14/  19.72 GFLOPS | Progress: (20/20) | 22.05 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:   10.91/  22.74 GFLOPS | Progress: (4/20) | 4.81 s
    [Task 13/25]  Current/Best:    3.10/  22.74 GFLOPS | Progress: (8/20) | 8.30 s
    [Task 13/25]  Current/Best:    6.08/  22.74 GFLOPS | Progress: (12/20) | 12.52 s
    [Task 13/25]  Current/Best:    6.03/  22.74 GFLOPS | Progress: (16/20) | 15.26 s
    [Task 13/25]  Current/Best:   17.86/  22.74 GFLOPS | Progress: (20/20) | 17.89 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   12.31/  18.31 GFLOPS | Progress: (4/20) | 4.55 s
    [Task 14/25]  Current/Best:   15.88/  18.31 GFLOPS | Progress: (8/20) | 6.74 s
    [Task 14/25]  Current/Best:   12.64/  18.31 GFLOPS | Progress: (12/20) | 9.06 s
    [Task 14/25]  Current/Best:   16.17/  20.86 GFLOPS | Progress: (16/20) | 11.84 s
    [Task 14/25]  Current/Best:    5.74/  20.86 GFLOPS | Progress: (20/20) | 14.47 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   14.30/  18.30 GFLOPS | Progress: (4/20) | 4.12 s
    [Task 15/25]  Current/Best:    3.19/  18.30 GFLOPS | Progress: (8/20) | 5.65 s
    [Task 15/25]  Current/Best:   14.28/  18.30 GFLOPS | Progress: (12/20) | 8.02 s Done.
+
    [Task 15/25]  Current/Best:   11.82/  18.90 GFLOPS | Progress: (16/20) | 11.04 s
    [Task 15/25]  Current/Best:   21.26/  21.26 GFLOPS | Progress: (20/20) | 12.66 s Done.
+
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   13.90/  17.88 GFLOPS | Progress: (4/20) | 4.71 s
    [Task 16/25]  Current/Best:   10.05/  17.88 GFLOPS | Progress: (8/20) | 6.70 s
    [Task 16/25]  Current/Best:   11.30/  17.88 GFLOPS | Progress: (12/20) | 9.10 s
    [Task 16/25]  Current/Best:    9.89/  19.82 GFLOPS | Progress: (16/20) | 10.86 s
    [Task 16/25]  Current/Best:   14.45/  19.82 GFLOPS | Progress: (20/20) | 12.84 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:    6.61/  13.25 GFLOPS | Progress: (4/20) | 5.28 s
    [Task 17/25]  Current/Best:   11.44/  14.08 GFLOPS | Progress: (8/20) | 8.32 s
    [Task 17/25]  Current/Best:    9.34/  23.64 GFLOPS | Progress: (12/20) | 10.73 s
    [Task 17/25]  Current/Best:   12.25/  23.64 GFLOPS | Progress: (16/20) | 12.89 s
    [Task 17/25]  Current/Best:    7.10/  23.64 GFLOPS | Progress: (20/20) | 15.51 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   14.18/  14.18 GFLOPS | Progress: (4/20) | 4.33 s
    [Task 18/25]  Current/Best:   17.56/  17.56 GFLOPS | Progress: (8/20) | 8.65 s
    [Task 18/25]  Current/Best:    4.06/  17.56 GFLOPS | Progress: (12/20) | 14.82 s
    [Task 18/25]  Current/Best:   14.33/  18.56 GFLOPS | Progress: (16/20) | 17.65 s
    [Task 18/25]  Current/Best:    5.05/  18.56 GFLOPS | Progress: (20/20) | 21.12 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:   14.93/  18.60 GFLOPS | Progress: (4/20) | 4.95 s
    [Task 19/25]  Current/Best:   12.34/  20.66 GFLOPS | Progress: (8/20) | 8.28 s
    [Task 19/25]  Current/Best:    9.07/  20.66 GFLOPS | Progress: (12/20) | 11.75 s
    [Task 19/25]  Current/Best:   20.32/  20.66 GFLOPS | Progress: (16/20) | 14.86 s
    [Task 19/25]  Current/Best:    2.63/  20.66 GFLOPS | Progress: (20/20) | 19.90 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:   16.35/  16.35 GFLOPS | Progress: (4/20) | 4.04 s
    [Task 20/25]  Current/Best:    5.09/  16.35 GFLOPS | Progress: (8/20) | 6.86 s
    [Task 20/25]  Current/Best:   16.47/  16.47 GFLOPS | Progress: (12/20) | 11.35 s
    [Task 20/25]  Current/Best:    4.65/  17.47 GFLOPS | Progress: (16/20) | 13.72 s
    [Task 20/25]  Current/Best:    4.86/  17.47 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.32/  21.75 GFLOPS | Progress: (4/20) | 4.26 s
    [Task 21/25]  Current/Best:   11.27/  21.75 GFLOPS | Progress: (8/20) | 7.74 s
    [Task 21/25]  Current/Best:    8.48/  21.75 GFLOPS | Progress: (12/20) | 9.95 s
    [Task 21/25]  Current/Best:    9.43/  21.75 GFLOPS | Progress: (16/20) | 13.38 s
    [Task 21/25]  Current/Best:   19.58/  22.62 GFLOPS | Progress: (20/20)
  | 16.01 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:   16.27/  16.27 GFLOPS | Progress: (4/20) | 4.24 s Done.
      Done.
-
    [Task 17/25]  Current/Best:   19.99/  23.61 GFLOPS | Progress: (12/20) | 10.62 s
    [Task 17/25]  Current/Best:   18.69/  23.61 GFLOPS | Progress: (16/20) | 13.31 s
    [Task 17/25]  Current/Best:    7.75/  23.61 GFLOPS | Progress: (20/20) | 16.39 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:    5.38/  16.13 GFLOPS | Progress: (4/20) | 4.41 s
    [Task 18/25]  Current/Best:    9.16/  18.53 GFLOPS | Progress: (8/20) | 10.32 s
    [Task 18/25]  Current/Best:   14.42/  18.53 GFLOPS | Progress: (12/20) | 12.91 s
    [Task 18/25]  Current/Best:   17.56/  21.59 GFLOPS | Progress: (16/20) | 15.66 s
    [Task 18/25]  Current/Best:    7.83/  21.59 GFLOPS | Progress: (20/20) | 20.10 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:   17.37/  19.61 GFLOPS | Progress: (4/20) | 5.73 s
    [Task 19/25]  Current/Best:   17.59/  19.61 GFLOPS | Progress: (8/20) | 9.15 s
    [Task 19/25]  Current/Best:    9.56/  21.50 GFLOPS | Progress: (12/20) | 13.28 s
    [Task 19/25]  Current/Best:   11.26/  21.50 GFLOPS | Progress: (16/20) | 15.80 s
    [Task 19/25]  Current/Best:    6.13/  22.89 GFLOPS | Progress: (20/20) | 18.48 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:   16.60/  17.24 GFLOPS | Progress: (4/20) | 3.94 s
    [Task 20/25]  Current/Best:   13.64/  19.59 GFLOPS | Progress: (8/20) | 6.10 s
    [Task 20/25]  Current/Best:   18.89/  19.59 GFLOPS | Progress: (12/20) | 8.34 s
    [Task 20/25]  Current/Best:   13.48/  19.59 GFLOPS | Progress: (16/20) | 13.98 s
    [Task 20/25]  Current/Best:   20.17/  20.17 GFLOPS | Progress: (20/20) | 16.28 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:   10.54/  12.91 GFLOPS | Progress: (4/20) | 5.40 s
    [Task 21/25]  Current/Best:   12.28/  12.91 GFLOPS | Progress: (8/20) | 6.76 s
    [Task 21/25]  Current/Best:   17.65/  17.65 GFLOPS | Progress: (12/20) | 9.80 s Done.
-
    [Task 21/25]  Current/Best:    2.18/  17.65 GFLOPS | Progress: (16/20) | 13.08 s
    [Task 21/25]  Current/Best:   16.46/  17.65 GFLOPS | Progress: (20/20) | 15.07 s Done.
-
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:   10.68/  17.20 GFLOPS | Progress: (4/20) | 3.61 s
    [Task 22/25]  Current/Best:    6.17/  18.11 GFLOPS | Progress: (8/20) | 6.56 s
    [Task 22/25]  Current/Best:    5.97/  19.66 GFLOPS | Progress: (12/20) | 9.62 s
    [Task 22/25]  Current/Best:   17.04/  19.66 GFLOPS | Progress: (16/20) | 12.46 s
    [Task 22/25]  Current/Best:    1.56/  21.37 GFLOPS | Progress: (20/20) | 15.45 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   11.62/  23.26 GFLOPS | Progress: (4/20) | 6.88 s
    [Task 23/25]  Current/Best:    1.55/  23.26 GFLOPS | Progress: (8/20) | 11.61 s
    [Task 23/25]  Current/Best:   11.70/  23.26 GFLOPS | Progress: (12/20) | 15.28 s
    [Task 23/25]  Current/Best:    8.96/  23.26 GFLOPS | Progress: (16/20) | 18.17 s
    [Task 23/25]  Current/Best:    9.12/  23.26 GFLOPS | Progress: (20/20) | 20.89 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    5.21/   6.57 GFLOPS | Progress: (4/20) | 9.41 s
    [Task 24/25]  Current/Best:    0.59/   6.57 GFLOPS | Progress: (8/20) | 13.09 s
    [Task 24/25]  Current/Best:    7.72/  10.04 GFLOPS | Progress: (12/20) | 20.67 s
    [Task 24/25]  Current/Best:    3.59/  10.04 GFLOPS | Progress: (16/20) | 28.53 s
    [Task 24/25]  Current/Best:    4.44/  10.04 GFLOPS | Progress: (20/20) | 34.88 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    8.94/  10.19 GFLOPS | Progress: (4/20) | 11.36 s
    [Task 25/25]  Current/Best:    8.51/  10.19 GFLOPS | Progress: (8/20) | 22.30 s
    [Task 25/25]  Current/Best:    1.47/  10.19 GFLOPS | Progress: (12/20) | 33.27 s Done.
-
    [Task 25/25]  Current/Best:    9.37/  10.19 GFLOPS | Progress: (16/20) | 44.23 s
    [Task 25/25]  Current/Best:    3.02/  10.19 GFLOPS | Progress: (20/20) | 55.15 s
+
    [Task 22/25]  Current/Best:   16.03/  16.27 GFLOPS | Progress: (8/20) | 8.01 s
    [Task 22/25]  Current/Best:   19.51/  19.51 GFLOPS | Progress: (12/20) | 9.72 s
    [Task 22/25]  Current/Best:   19.77/  19.77 GFLOPS | Progress: (16/20) | 11.46 s
    [Task 22/25]  Current/Best:   12.68/  19.77 GFLOPS | Progress: (20/20) | 14.24 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:    3.08/  18.92 GFLOPS | Progress: (4/20) | 5.01 s
    [Task 23/25]  Current/Best:   16.96/  18.92 GFLOPS | Progress: (8/20) | 7.67 s
    [Task 23/25]  Current/Best:   21.71/  21.71 GFLOPS | Progress: (12/20) | 10.99 s
    [Task 23/25]  Current/Best:   11.99/  21.71 GFLOPS | Progress: (16/20) | 13.08 s
    [Task 23/25]  Current/Best:   11.31/  22.95 GFLOPS | Progress: (20/20) | 16.96 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    3.88/   3.88 GFLOPS | Progress: (4/20) | 11.09 s
    [Task 24/25]  Current/Best:    1.18/   5.90 GFLOPS | Progress: (8/20) | 19.96 s
    [Task 24/25]  Current/Best:    8.34/   8.34 GFLOPS | Progress: (12/20) | 30.30 s
    [Task 24/25]  Current/Best:    5.45/   8.34 GFLOPS | Progress: (16/20) | 34.51 s
    [Task 24/25]  Current/Best:    5.41/   8.34 GFLOPS | Progress: (20/20) | 45.16 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    3.01/   8.17 GFLOPS | Progress: (4/20) | 8.17 s
    [Task 25/25]  Current/Best:    6.75/   9.40 GFLOPS | Progress: (8/20) | 19.09 s Done.
+
    [Task 25/25]  Current/Best:    3.57/   9.40 GFLOPS | Progress: (12/20) | 27.91 s
    [Task 25/25]  Current/Best:    5.66/   9.40 GFLOPS | Progress: (16/20) | 38.83 s
    [Task 25/25]  Current/Best:    8.74/   9.40 GFLOPS | Progress: (20/20) | 50.25 s
 
 
 
@@ -723,8 +723,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 411.1796379100042, 'median': 411.1457566000013, 'std': 1.7084060742832656}
-    unoptimized: {'mean': 511.96442124000095, 'median': 512.2776971500002, 'std': 1.4474520965429158}
+    optimized: {'mean': 417.33548036, 'median': 416.86116319999655, 'std': 1.4035098708872877}
+    unoptimized: {'mean': 513.7437136000005, 'median': 512.6987855000039, 'std': 2.128160157777918}
 
 
 
@@ -747,7 +747,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 11 minutes  54.078 seconds)
+   **Total running time of the script:** ( 12 minutes  0.585 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 67ae1bfda4..103cf8ccee 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -274,7 +274,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.346e-07 secs/op
+    1.233e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 6bf86f7fa3..89f1f0b94a 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -277,7 +277,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x267de700)), stage(b, placeholder(b, 0x6592470)), stage(T_add, compute(T_add, body=[a[ax0, ax1, ax2] + b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T.Range(0, 10), "DataPar", ""), T.iter_var(ax2, T.Range(0, 10), "DataPar", "")], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[a[ax0, ax1, ax2] * b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T. [...]
+    [stage(a, placeholder(a, 0x226d3180)), stage(b, placeholder(b, 0x5142640)), stage(T_add, compute(T_add, body=[a[ax0, ax1, ax2] + b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T.Range(0, 10), "DataPar", ""), T.iter_var(ax2, T.Range(0, 10), "DataPar", "")], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[a[ax0, ax1, ax2] * b[ax1, ax2]], axis=[T.iter_var(ax0, T.Range(0, 100), "DataPar", ""), T.iter_var(ax1, T. [...]
 
 
 
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index 23917ab992..8ba9570495 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
 =================
-**15:11.567** total execution time for **tutorial** files:
+**15:33.892** total execution time for **tutorial** files:
 
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 11:54.078 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 12:00.585 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:21.880 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:33.599 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 00:59.056 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 01:01.216 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:35.907 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:36.301 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:18.406 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:19.739 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:01.234 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:01.413 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.842 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.865 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.164 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.173 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_uma.py` (``uma.py``)                                             | 00:00.000 | 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 4e33da3e3a..4f9e5dcfd0 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -285,8 +285,8 @@ helper function to run a profile of the TVM generated code.
 
  .. code-block:: none
 
-    Numpy running time: 0.000008
-    naive: 0.000007
+    Numpy running time: 0.000007
+    naive: 0.000009
 
 
 
@@ -504,10 +504,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    7.639590000962926e-06                    1.0
-                   naive              6.7092e-06      0.8782146684775419
-                parallel    6.976499999999999e-06      0.913203457138492
-                  vector             2.45621e-05       3.215107093038251
+                   numpy    7.34460999865405e-06                     1.0
+                   naive    8.859000000000001e-06     1.2061906624890188
+                parallel    6.980799999999999e-06      0.950465715848667
+                  vector             2.46653e-05       3.358285872840094
 
 
 
@@ -928,7 +928,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.018289
+    Numpy running time: 0.018357
 
 
 
@@ -986,7 +986,7 @@ optimizations.
 
  .. code-block:: none
 
-    none: 3.261784
+    none: 3.426602
 
 
 
@@ -1086,7 +1086,7 @@ schedule.
 
  .. code-block:: none
 
-    blocking: 0.292840
+    blocking: 0.302824
 
 
 
@@ -1170,7 +1170,7 @@ already cache friendly from our previous optimizations.
 
  .. code-block:: none
 
-    vectorization: 0.332629
+    vectorization: 0.331868
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1236,7 +1236,7 @@ more cache friendly.
 
  .. code-block:: none
 
-    loop permutation: 0.117922
+    loop permutation: 0.118040
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1327,7 +1327,7 @@ optimized schedule.
 
  .. code-block:: none
 
-    array packing: 0.109920
+    array packing: 0.108606
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1410,7 +1410,7 @@ to `C` when all the block results are ready.
 
  .. code-block:: none
 
-    block caching: 0.114530
+    block caching: 0.110699
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1484,7 +1484,7 @@ of thread-level parallelization.
 
  .. code-block:: none
 
-    parallelization: 0.152072
+    parallelization: 0.146469
     # from tvm.script import ir as I
     # from tvm.script import tir as T
 
@@ -1554,13 +1554,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none            3.2617841641                     1.0
-                blocking             0.292839858      0.0897790421644288
-           vectorization            0.3326294026     0.10197774771887153
-        loop permutation            0.1179220115     0.03615261021801464
-           array packing     0.10991955310000001    0.033699211097350246
-           block caching            0.1145300218    0.035112691716559806
-         parallelization     0.15207228509999998    0.046622424246749686
+                    none            3.4266016708                     1.0
+                blocking            0.3028237266     0.08837435911519313
+           vectorization            0.3318678348     0.09685042694866824
+        loop permutation            0.1180404655     0.03444826006649363
+           array packing            0.1086058754     0.03169492279347545
+           block caching     0.11069883890000001     0.03230572139251757
+         parallelization            0.1464692842     0.04274476530147847
 
 
 
@@ -1600,6 +1600,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.216 seconds)
+
+
 .. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
 
 .. only:: html
diff --git a/docs/commit_hash b/docs/commit_hash
index 26498ab95c..6a14fbc4c8 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-0dd3d4aab64bd478341748f33082a5506d14a50b
+0c965f442a3456cc1052338b0146aacb4fea367e
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index 12114cca30..25e42f7f08 100644
--- a/docs/how_to/compile_models/from_darknet.html
+++ b/docs/how_to/compile_models/from_darknet.html
@@ -585,7 +585,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  18.532 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  19.867 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_keras.html b/docs/how_to/compile_models/from_keras.html
index de81dc9514..737dfc7f5b 100644
--- a/docs/how_to/compile_models/from_keras.html
+++ b/docs/how_to/compile_models/from_keras.html
@@ -506,7 +506,7 @@ Tensorflow is also required since it’s used as the default backend of keras.</
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Relay top-1 id: 285, class name: Egyptian cat
 
 1/1 [==============================] - ETA: 0s
-1/1 [==============================] - 1s 936ms/step
+1/1 [==============================] - 1s 951ms/step
 Keras top-1 id: 285, class name: Egyptian cat
 </pre></div>
 </div>
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index 6a59daf6fb..55e2bc288f 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -439,7 +439,7 @@
 <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.zipcda7e25e-bb84-46ec-8dac-6cfa9abb11ab 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.zipc2f37ef7-4e55-4f3e-b84d-4346fdff6f02 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 79c1e561c3..02c036c751 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -449,14 +449,13 @@ Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdo
 <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, 55.4MB/s]
- 28%|##8       | 11.6M/41.5M [00:00&lt;00:00, 35.9MB/s]
- 37%|###7      | 15.4M/41.5M [00:00&lt;00:00, 36.7MB/s]
- 46%|####5     | 19.1M/41.5M [00:00&lt;00:00, 28.5MB/s]
- 58%|#####7    | 24.0M/41.5M [00:00&lt;00:00, 24.7MB/s]
- 77%|#######7  | 32.0M/41.5M [00:01&lt;00:00, 32.1MB/s]
- 92%|#########2| 38.3M/41.5M [00:01&lt;00:00, 34.6MB/s]
-100%|##########| 41.5M/41.5M [00:01&lt;00:00, 32.7MB/s]
+ 19%|#9        | 7.99M/41.5M [00:00&lt;00:00, 65.4MB/s]
+ 36%|###6      | 15.1M/41.5M [00:00&lt;00:00, 70.2MB/s]
+ 53%|#####2    | 21.9M/41.5M [00:00&lt;00:00, 60.8MB/s]
+ 67%|######6   | 27.8M/41.5M [00:00&lt;00:00, 34.6MB/s]
+ 82%|########2 | 34.1M/41.5M [00:00&lt;00:00, 37.6MB/s]
+ 93%|#########2| 38.4M/41.5M [00:01&lt;00:00, 31.5MB/s]
+100%|##########| 41.5M/41.5M [00:01&lt;00:00, 37.3MB/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 264605642a..26081e6d6f 100644
--- a/docs/how_to/compile_models/from_onnx.html
+++ b/docs/how_to/compile_models/from_onnx.html
@@ -460,7 +460,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:7109: 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:7157: 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 55171ba482..8ef0419592 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -432,11 +432,10 @@ be unstable.</p>
 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]
- 23%|##2       | 10.1M/44.7M [00:00&lt;00:00, 73.7MB/s]
- 38%|###8      | 17.1M/44.7M [00:00&lt;00:00, 56.3MB/s]
- 65%|######5   | 29.2M/44.7M [00:00&lt;00:00, 75.8MB/s]
- 90%|########9 | 40.0M/44.7M [00:00&lt;00:00, 68.5MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 68.3MB/s]
+ 29%|##9       | 13.0M/44.7M [00:00&lt;00:00, 136MB/s]
+ 58%|#####8    | 25.9M/44.7M [00:00&lt;00:00, 112MB/s]
+ 83%|########2 | 36.9M/44.7M [00:00&lt;00:00, 69.6MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 89.2MB/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 d0ec67cf95..9a61ac8be9 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -649,7 +649,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  22.350 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  23.184 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 108632add5..906c92a383 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -340,7 +340,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>06:29.520</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>06:31.507</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 81%" />
@@ -349,43 +349,43 @@
 </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:22.350</p></td>
+<td><p>01:23.184</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:18.532</p></td>
+<td><p>01:19.867</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:52.805</p></td>
+<td><p>00:52.824</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:36.678</p></td>
+<td><p>00:37.009</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:30.896</p></td>
+<tr class="row-odd"><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:31.126</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:30.768</p></td>
+<tr class="row-even"><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:31.064</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:28.046</p></td>
+<td><p>00:27.501</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:24.141</p></td>
+<td><p>00:24.599</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:22.663</p></td>
+<td><p>00:21.624</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.642</p></td>
+<td><p>00:02.707</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/deploy_models/deploy_model_on_adreno.html b/docs/how_to/deploy_models/deploy_model_on_adreno.html
index 3122fc441e..01d2c8c33b 100644
--- a/docs/how_to/deploy_models/deploy_model_on_adreno.html
+++ b/docs/how_to/deploy_models/deploy_model_on_adreno.html
@@ -920,7 +920,7 @@ Top5 predictions:
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
- 2541.9765    2541.4270    2545.8434    2539.4932      2.1345
+ 2681.7421    2681.5057    2685.2176    2679.0228      1.9269
 </pre></div>
 </div>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-model-on-adreno-py">
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 bdf87ec66d..0d8bed815b 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -662,7 +662,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.1714      16.1253      16.5232      15.9674       0.1622
+  16.1140      16.1514      16.7053      15.5032       0.4288
 </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 47d8d662e1..5a6476bd7f 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -454,34 +454,22 @@ be unstable.</p>
 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]
-  1%|1         | 2.05M/170M [00:00&lt;00:12, 13.8MB/s]
-  4%|3         | 6.30M/170M [00:00&lt;00:08, 20.5MB/s]
-  6%|5         | 9.86M/170M [00:00&lt;00:06, 26.0MB/s]
-  9%|9         | 16.0M/170M [00:00&lt;00:04, 37.1MB/s]
- 14%|#4        | 24.0M/170M [00:00&lt;00:03, 44.2MB/s]
- 18%|#7        | 30.3M/170M [00:00&lt;00:04, 33.3MB/s]
- 20%|#9        | 33.9M/170M [00:01&lt;00:04, 31.6MB/s]
- 24%|##3       | 40.0M/170M [00:01&lt;00:03, 36.3MB/s]
- 26%|##5       | 43.9M/170M [00:01&lt;00:03, 37.4MB/s]
- 29%|##9       | 49.8M/170M [00:01&lt;00:02, 43.3MB/s]
- 33%|###2      | 56.0M/170M [00:01&lt;00:02, 45.8MB/s]
- 38%|###7      | 64.0M/170M [00:01&lt;00:02, 45.1MB/s]
- 42%|####2     | 72.0M/170M [00:01&lt;00:01, 52.4MB/s]
- 47%|####7     | 80.0M/170M [00:02&lt;00:01, 51.3MB/s]
- 52%|#####1    | 88.0M/170M [00:02&lt;00:01, 53.6MB/s]
- 57%|#####6    | 96.0M/170M [00:02&lt;00:01, 47.0MB/s]
- 61%|######1   | 104M/170M [00:02&lt;00:01, 49.6MB/s]
- 66%|######5   | 112M/170M [00:02&lt;00:01, 52.4MB/s]
- 69%|######8   | 117M/170M [00:02&lt;00:01, 43.5MB/s]
- 71%|#######1  | 121M/170M [00:03&lt;00:01, 43.4MB/s]
- 75%|#######5  | 128M/170M [00:03&lt;00:00, 49.3MB/s]
- 80%|########  | 136M/170M [00:03&lt;00:00, 56.7MB/s]
- 83%|########3 | 142M/170M [00:03&lt;00:00, 50.9MB/s]
- 87%|########6 | 147M/170M [00:03&lt;00:00, 47.8MB/s]
- 89%|########9 | 152M/170M [00:03&lt;00:00, 47.0MB/s]
- 94%|#########3| 159M/170M [00:03&lt;00:00, 53.1MB/s]
- 99%|#########8| 168M/170M [00:03&lt;00:00, 56.6MB/s]
-100%|##########| 170M/170M [00:03&lt;00:00, 45.8MB/s]
+  9%|8         | 14.8M/170M [00:00&lt;00:01, 155MB/s]
+ 17%|#7        | 29.5M/170M [00:00&lt;00:01, 117MB/s]
+ 24%|##4       | 41.2M/170M [00:00&lt;00:01, 110MB/s]
+ 31%|###       | 51.9M/170M [00:00&lt;00:01, 106MB/s]
+ 37%|###6      | 62.2M/170M [00:00&lt;00:01, 104MB/s]
+ 42%|####2     | 72.2M/170M [00:00&lt;00:01, 101MB/s]
+ 48%|####8     | 82.3M/170M [00:00&lt;00:00, 102MB/s]
+ 54%|#####4    | 92.1M/170M [00:00&lt;00:00, 102MB/s]
+ 60%|#####9    | 102M/170M [00:01&lt;00:00, 99.4MB/s]
+ 66%|######5   | 111M/170M [00:01&lt;00:00, 93.4MB/s]
+ 73%|#######2  | 124M/170M [00:01&lt;00:00, 103MB/s]
+ 79%|#######8  | 134M/170M [00:01&lt;00:00, 102MB/s]
+ 84%|########4 | 143M/170M [00:01&lt;00:00, 102MB/s]
+ 90%|######### | 153M/170M [00:01&lt;00:00, 98.8MB/s]
+ 96%|#########6| 164M/170M [00:01&lt;00:00, 101MB/s]
+100%|##########| 170M/170M [00:01&lt;00:00, 103MB/s]
 /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torch/nn/functional.py:3897: 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)
 /venv/apache-tvm-py3.7/lib/python3.7/site-packages/torchvision/models/detection/anchor_utils.py:124: 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=& [...]
@@ -579,7 +567,7 @@ torchvision rcnn models.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Get 9 valid boxes
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  25.919 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  28.246 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 7a0e2f00b7..5aaa6e81df 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -495,8 +495,8 @@ training. Other models require a full post training calibration.</p>
 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]
- 59%|#####8    | 7.99M/13.6M [00:00&lt;00:00, 38.6MB/s]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 46.5MB/s]
+ 50%|#####     | 6.78M/13.6M [00:00&lt;00:00, 71.1MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 64.0MB/s]
 </pre></div>
 </div>
 </div>
@@ -587,7 +587,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.6323      90.6150      92.9999      90.1514       0.3585
+  90.4052      90.3707      92.5329      90.0626       0.3050
 </pre></div>
 </div>
 <div class="admonition note">
@@ -626,7 +626,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  13.539 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  14.540 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 4cad701dd3..137cad3ea9 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -580,7 +580,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)
-  119.8491     119.8226     123.4787     118.4885      0.8758
+  119.9258     119.8923     125.9396     118.5444      0.7085
 </pre></div>
 </div>
 <div class="admonition note">
@@ -608,7 +608,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> ( 2 minutes  26.152 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  28.739 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 31b1d37965..7bd7d83b49 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -521,7 +521,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  47.384 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  46.481 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 7bb5be0cbf..0dfe790572 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -463,24 +463,23 @@ 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]
-  4%|3         | 5109/132723 [00:00&lt;00:02, 51074.46KB/s]
- 10%|9         | 12630/132723 [00:00&lt;00:01, 65267.17KB/s]
- 14%|#4        | 19157/132723 [00:00&lt;00:01, 61461.39KB/s]
- 20%|##        | 27051/132723 [00:00&lt;00:01, 68108.29KB/s]
- 26%|##5       | 33954/132723 [00:00&lt;00:01, 68431.62KB/s]
- 31%|###1      | 41705/132723 [00:00&lt;00:01, 71468.79KB/s]
- 37%|###7      | 49140/132723 [00:00&lt;00:01, 53333.66KB/s]
- 43%|####2     | 56995/132723 [00:00&lt;00:01, 59735.70KB/s]
- 49%|####9     | 65237/132723 [00:01&lt;00:01, 65772.08KB/s]
- 54%|#####4    | 72334/132723 [00:01&lt;00:01, 50727.27KB/s]
- 61%|######    | 80429/132723 [00:01&lt;00:00, 57647.65KB/s]
- 67%|######6   | 88501/132723 [00:01&lt;00:00, 63333.81KB/s]
- 73%|#######2  | 96455/132723 [00:01&lt;00:00, 67552.17KB/s]
- 78%|#######8  | 103767/132723 [00:01&lt;00:00, 60236.36KB/s]
- 84%|########4 | 111812/132723 [00:01&lt;00:00, 65339.27KB/s]
- 90%|########9 | 118804/132723 [00:02&lt;00:00, 42000.16KB/s]
- 96%|#########5| 126786/132723 [00:02&lt;00:00, 49294.38KB/s]
-100%|##########| 132723/132723 [00:02&lt;00:00, 57964.30KB/s]
+  3%|3         | 4559/132723 [00:00&lt;00:02, 45585.70KB/s]
+  9%|9         | 12477/132723 [00:00&lt;00:01, 65341.46KB/s]
+ 14%|#4        | 19012/132723 [00:00&lt;00:02, 53007.54KB/s]
+ 21%|##1       | 27987/132723 [00:00&lt;00:01, 65720.28KB/s]
+ 26%|##6       | 34876/132723 [00:00&lt;00:01, 56068.00KB/s]
+ 33%|###3      | 43811/132723 [00:00&lt;00:01, 65521.87KB/s]
+ 38%|###8      | 50796/132723 [00:00&lt;00:01, 63337.07KB/s]
+ 45%|####5     | 59760/132723 [00:00&lt;00:01, 70727.38KB/s]
+ 51%|#####     | 67128/132723 [00:01&lt;00:01, 63948.38KB/s]
+ 57%|#####7    | 76053/132723 [00:01&lt;00:00, 70722.24KB/s]
+ 63%|######2   | 83434/132723 [00:01&lt;00:00, 49717.72KB/s]
+ 70%|######9   | 92370/132723 [00:01&lt;00:00, 58256.25KB/s]
+ 75%|#######4  | 99259/132723 [00:01&lt;00:00, 59373.57KB/s]
+ 82%|########1 | 108261/132723 [00:01&lt;00:00, 66949.32KB/s]
+ 87%|########7 | 115657/132723 [00:01&lt;00:00, 54309.08KB/s]
+ 94%|#########3| 124559/132723 [00:02&lt;00:00, 62203.53KB/s]
+100%|##########| 132723/132723 [00:02&lt;00:00, 62237.45KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -519,7 +518,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> ( 3 minutes  41.640 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> ( 3 minutes  44.493 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 35aca0596d..d832472dea 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -340,7 +340,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>15:01.618</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>15:12.879</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 86%" />
@@ -349,43 +349,43 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><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>03:41.640</p></td>
+<td><p>03:44.493</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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>03:25.919</p></td>
+<td><p>03:28.246</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>02:26.152</p></td>
+<td><p>02:28.739</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:47.384</p></td>
+<td><p>01:46.481</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:13.539</p></td>
+<td><p>01:14.540</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_adreno.html#sphx-glr-how-to-deploy-models-deploy-model-on-adreno-py"><span class="std std-ref">Deploy the Pretrained Model on Adreno</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_adreno.py</span></code>)</p></td>
-<td><p>00:53.402</p></td>
+<td><p>00:55.478</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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:40.403</p></td>
+<td><p>00:40.872</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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:26.793</p></td>
+<td><p>00:27.189</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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:26.381</p></td>
+<td><p>00:26.835</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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>
-<td><p>00:00.006</p></td>
+<td><p>00:00.007</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
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 47e735e8dc..524d4b15c9 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -619,7 +619,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.zip0f77e3bf-f6ca-40da-9df1-eb270045ce2c 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.zip8f3bf3ba-3229-4172-9a54-ef678110088e 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 7061eabe63..6c5d122c9e 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -340,7 +340,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:52.250</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:53.713</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -349,19 +349,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:48.506</p></td>
+<td><p>00:49.879</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.683</p></td>
+<td><p>00:02.738</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:01.054</p></td>
+<td><p>00:01.088</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 215b1ebcf9..66437648c5 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -526,10 +526,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: 22385us [22385us] (48.23%; 48.23%)
-FoldScaleAxis: 24025us [7us] (51.77%; 51.77%)
-        FoldConstant: 24018us [2187us] (51.75%; 99.97%)
-                InferType: 21831us [21831us] (47.04%; 90.89%)
+InferType: 22470us [22470us] (49.04%; 49.04%)
+FoldScaleAxis: 23351us [8us] (50.96%; 50.96%)
+        FoldConstant: 23343us [1724us] (50.94%; 99.96%)
+                InferType: 21619us [21619us] (47.18%; 92.61%)
 </pre></div>
 </div>
 </div>
@@ -551,10 +551,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: 21370us [21370us] (48.37%; 48.37%)
-FoldScaleAxis: 22807us [5us] (51.63%; 51.63%)
-        FoldConstant: 22802us [1692us] (51.62%; 99.98%)
-                InferType: 21110us [21110us] (47.79%; 92.58%)
+InferType: 21545us [21545us] (48.22%; 48.22%)
+FoldScaleAxis: 23134us [5us] (51.78%; 51.78%)
+        FoldConstant: 23129us [1724us] (51.77%; 99.98%)
+                InferType: 21405us [21405us] (47.91%; 92.54%)
 </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 e507081a8c..9b9360cce0 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -575,7 +575,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: 54.165119 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 52.750175 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 a553b9c5a6..5af0c61fb7 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -867,7 +867,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: 7.627219 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 9.671062 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 cd7de10032..7a85619ff7 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -472,8 +472,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.017700
-Baseline: 3.250613
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018094
+Baseline: 3.442712
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -532,7 +532,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.304410
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.297318
 </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.343510
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.332836
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -644,7 +644,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.111824
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.117082
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -721,7 +721,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.108910
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.109271
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -799,7 +799,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.110500
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.111212
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -879,7 +879,7 @@ class Module:
 <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.146274
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.146735
 </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 50622dddcd..4e945777a5 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -340,7 +340,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:34.322</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.841</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -349,15 +349,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.779</p></td>
+<td><p>00:32.267</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.497</p></td>
+<td><p>00:01.532</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:01.046</p></td>
+<td><p>00:01.042</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 e9d5d86d11..2c303f84c0 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -340,7 +340,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>09:50.361</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>09:48.326</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 85%" />
@@ -349,27 +349,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>06:06.173</p></td>
+<td><p>06:01.558</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:39.497</p></td>
+<td><p>01:40.298</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>01:07.088</p></td>
+<td><p>01:07.998</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:30.238</p></td>
+<td><p>00:30.668</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <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:14.492</p></td>
+<td><p>00:14.662</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <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:12.872</p></td>
+<td><p>00:13.142</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 e35fe57b55..a7d05aaff4 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
@@ -506,13 +506,13 @@ class Module:
     def main(data: T.Buffer((1, 512, 7, 7), &quot;float32&quot;), kernel: T.Buffer((512, 512, 3, 3), &quot;float32&quot;), bias: T.Buffer((1, 512, 1, 1), &quot;float32&quot;), compute: T.Buffer((1, 512, 7, 7), &quot;float32&quot;)):
         T.func_attr({&quot;from_legacy_te_schedule&quot;: True, &quot;global_symbol&quot;: &quot;main&quot;, &quot;tir.noalias&quot;: True})
         blockIdx_x = T.env_thread(&quot;blockIdx.x&quot;)
-        T.launch_thread(blockIdx_x, 16)
-        conv2d_nchw = T.allocate([7], &quot;float32&quot;, &quot;local&quot;)
-        pad_temp_shared = T.allocate([324], &quot;float32&quot;, &quot;shared&quot;)
-        kernel_shared = T.allocate([1152], &quot;float32&quot;, &quot;shared&quot;)
+        T.launch_thread(blockIdx_x, 28)
+        conv2d_nchw = T.allocate([14], &quot;float32&quot;, &quot;local&quot;)
+        pad_temp_shared = T.allocate([72], &quot;float32&quot;, &quot;shared&quot;)
+        kernel_shared = T.allocate([3072], &quot;float32&quot;, &quot;shared&quot;)
         threadIdx_x = T.env_thread(&quot;threadIdx.x&quot;)
-        T.launch_thread(threadIdx_x, 224)
-        conv2d_nchw_1 = T.Buffer((7,), data=conv2d_nchw, scope=&quot;local&quot;, align=16)
+        T.launch_thread(threadIdx_x, 64)
+        conv2d_nchw_1 = T.Buffer((14,), data=conv2d_nchw, scope=&quot;local&quot;, align=32)
         conv2d_nchw_1[0] = T.float32(0)
         conv2d_nchw_1[1] = T.float32(0)
         conv2d_nchw_1[2] = T.float32(0)
@@ -520,100 +520,467 @@ class Module:
         conv2d_nchw_1[4] = T.float32(0)
         conv2d_nchw_1[5] = T.float32(0)
         conv2d_nchw_1[6] = T.float32(0)
-        for rc_outer_outer in range(128):
-            cse_var_1: T.int32 = rc_outer_outer * 36
+        conv2d_nchw_1[7] = T.float32(0)
+        conv2d_nchw_1[8] = T.float32(0)
+        conv2d_nchw_1[9] = T.float32(0)
+        conv2d_nchw_1[10] = T.float32(0)
+        conv2d_nchw_1[11] = T.float32(0)
+        conv2d_nchw_1[12] = T.float32(0)
+        conv2d_nchw_1[13] = T.float32(0)
+        for rc_outer_outer, ry_outer_outer in T.grid(64, 3):
+            cse_var_2: T.int32 = rc_outer_outer * 72
+            cse_var_1: T.int32 = ry_outer_outer * 3
             threadIdx_x_1 = T.env_thread(&quot;threadIdx.x&quot;)
-            pad_temp_shared_1 = T.Buffer((324,), data=pad_temp_shared, scope=&quot;shared&quot;)
-            data_1 = T.Buffer((25088,), data=data.data)
-            with T.launch_thread(threadIdx_x_1, 224):
-                pad_temp_shared_1[threadIdx_x_1] = T.if_then_else(9 &lt;= threadIdx_x_1 % 81 and threadIdx_x_1 % 81 &lt; 72 and 1 &lt;= threadIdx_x_1 % 9 and threadIdx_x_1 % 9 &lt; 8, data_1[rc_outer_outer * 196 + threadIdx_x_1 // 81 * 49 + threadIdx_x_1 % 81 // 9 * 7 + threadIdx_x_1 % 9 - 8], T.float32(0))
-            with T.launch_thread(threadIdx_x_1, 224):
-                if T.likely(threadIdx_x_1 &lt; 100):
-                    pad_temp_shared_1[threadIdx_x_1 + 224] = T.if_then_else(9 &lt;= (threadIdx_x_1 + 62) % 81 and (threadIdx_x_1 + 62) % 81 &lt; 72 and 1 &lt;= (threadIdx_x_1 + 8) % 9 and (threadIdx_x_1 + 8) % 9 &lt; 8, data_1[rc_outer_outer * 196 + (threadIdx_x_1 + 224) // 81 * 49 + (threadIdx_x_1 + 62) % 81 // 9 * 7 + (threadIdx_x_1 + 8) % 9 - 8], T.float32(0))
+            pad_temp_shared_1 = T.Buffer((72,), data=pad_temp_shared, scope=&quot;shared&quot;)
+            with T.launch_thread(threadIdx_x_1, 64):
+                data_1 = T.Buffer((25088,), data=data.data)
+                if T.likely(threadIdx_x_1 &lt; 18):
+                    pad_temp_shared_1[threadIdx_x_1 * 4] = T.if_then_else(1 &lt;= ry_outer_outer + blockIdx_x % 7 and ry_outer_outer + blockIdx_x % 7 &lt; 8 and 1 &lt;= threadIdx_x_1 * 4 % 9 and threadIdx_x_1 * 4 % 9 &lt; 8, data_1[rc_outer_outer * 392 + threadIdx_x_1 * 4 // 9 * 49 + ry_outer_outer * 7 + blockIdx_x % 7 * 7 + threadIdx_x_1 * 4 % 9 - 8], T.float32(0))
+                if T.likely(threadIdx_x_1 &lt; 18):
+                    pad_temp_shared_1[threadIdx_x_1 * 4 + 1] = T.if_then_else(1 &lt;= ry_outer_outer + blockIdx_x % 7 and ry_outer_outer + blockIdx_x % 7 &lt; 8 and 1 &lt;= (threadIdx_x_1 * 4 + 1) % 9 and (threadIdx_x_1 * 4 + 1) % 9 &lt; 8, data_1[rc_outer_outer * 392 + (threadIdx_x_1 * 4 + 1) // 9 * 49 + ry_outer_outer * 7 + blockIdx_x % 7 * 7 + (threadIdx_x_1 * 4 + 1) % 9 - 8], T.float32(0))
+                if T.likely(threadIdx_x_1 &lt; 18):
+                    pad_temp_shared_1[threadIdx_x_1 * 4 + 2] = T.if_then_else(1 &lt;= ry_outer_outer + blockIdx_x % 7 and ry_outer_outer + blockIdx_x % 7 &lt; 8 and 1 &lt;= (threadIdx_x_1 * 4 + 2) % 9 and (threadIdx_x_1 * 4 + 2) % 9 &lt; 8, data_1[rc_outer_outer * 392 + (threadIdx_x_1 * 4 + 2) // 9 * 49 + ry_outer_outer * 7 + blockIdx_x % 7 * 7 + (threadIdx_x_1 * 4 + 2) % 9 - 8], T.float32(0))
+                if T.likely(threadIdx_x_1 &lt; 18):
+                    pad_temp_shared_1[threadIdx_x_1 * 4 + 3] = T.if_then_else(1 &lt;= ry_outer_outer + blockIdx_x % 7 and ry_outer_outer + blockIdx_x % 7 &lt; 8 and 1 &lt;= (threadIdx_x_1 * 4 + 3) % 9 and (threadIdx_x_1 * 4 + 3) % 9 &lt; 8, data_1[rc_outer_outer * 392 + (threadIdx_x_1 * 4 + 3) // 9 * 49 + ry_outer_outer * 7 + blockIdx_x % 7 * 7 + (threadIdx_x_1 * 4 + 3) % 9 - 8], T.float32(0))
             threadIdx_x_2 = T.env_thread(&quot;threadIdx.x&quot;)
-            kernel_shared_1 = T.Buffer((1152,), data=kernel_shared, scope=&quot;shared&quot;)
+            kernel_shared_1 = T.Buffer((3072,), data=kernel_shared, scope=&quot;shared&quot;)
             kernel_1 = T.Buffer((2359296,), data=kernel.data)
-            with T.launch_thread(threadIdx_x_2, 224):
-                kernel_shared_1[threadIdx_x_2] = kernel_1[blockIdx_x * 147456 + threadIdx_x_2 // 36 * 4608 + cse_var_1 + threadIdx_x_2 % 36]
-            with T.launch_thread(threadIdx_x_2, 224):
-                kernel_shared_1[threadIdx_x_2 + 224] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 224) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 8) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-            with T.launch_thread(threadIdx_x_2, 224):
-                kernel_shared_1[threadIdx_x_2 + 448] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 448) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 16) % 36 // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-            with T.launch_thread(threadIdx_x_2, 224):
-                kernel_shared_1[threadIdx_x_2 + 672] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 672) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 // 3 + 8) % 12 * 3 + threadIdx_x_2 % 3]
-            with T.launch_thread(threadIdx_x_2, 224):
-                kernel_shared_1[threadIdx_x_2 + 896] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 896) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 32) % 36 // 3 * 3 + (threadIdx_x_2 + 2) % 3]
-            with T.launch_thread(threadIdx_x_2, 224):
-                if T.likely(threadIdx_x_2 &lt; 32):
-                    kernel_shared_1[threadIdx_x_2 + 1120] = kernel_1[blockIdx_x * 147456 + (threadIdx_x_2 + 1120) // 36 * 4608 + cse_var_1 + (threadIdx_x_2 + 4) // 3 * 3 + (threadIdx_x_2 + 1) % 3]
-            for rc_inner in range(4):
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 1] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 1]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 2] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 2]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 9] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 3]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 10] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 4]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 11] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 5]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 18] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 27] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 36] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 45] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 54] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 63] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 72] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 6]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 19] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 28] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 37] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 46] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 55] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 64] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 73] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 7]
-                conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 20] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 29] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 38] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 47] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 56] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 65] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-                conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[rc_inner * 81 + threadIdx_x % 7 + 74] * kernel_shared_1[threadIdx_x // 7 * 36 + rc_inner * 9 + 8]
-        for i2_inner in range(7):
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 64) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 64) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 128) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 128) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 192] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 36864]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 256) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 256) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 320) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 320) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 384] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 73728]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 448) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 448) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 512) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 512) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 576] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 110592]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 640) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 640) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 704) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 704) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 768] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 147456]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 832) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 832) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 896) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 896) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 960] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 184320]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1024) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1024) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1088) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1088) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 1152] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 221184]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1216) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1216) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1280) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1280) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 1344] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 258048]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1408) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1408) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1472) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1472) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 1536] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 294912]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1600) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1600) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1664) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1664) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 1728] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 331776]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1792) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1792) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1856) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1856) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 1920] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 368640]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 1984) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 1984) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2048) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2048) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 2112] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 405504]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2176) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2176) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2240) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2240) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 2304] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 442368]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2368) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2368) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2432) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2432) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 2496] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 479232]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2560) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2560) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2624) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2624) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 2688] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 516096]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2752) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2752) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2816) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2816) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[threadIdx_x_2 + 2880] = kernel_1[blockIdx_x // 7 * 589824 + threadIdx_x_2 // 24 * 4608 + cse_var_2 + threadIdx_x_2 % 24 // 3 * 9 + cse_var_1 + threadIdx_x_2 % 3 + 552960]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 2944) // 24 * 24 + (threadIdx_x_2 + 16) % 24 // 3 * 3 + (threadIdx_x_2 + 1) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 2944) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 16) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 1) % 3]
+            with T.launch_thread(threadIdx_x_2, 64):
+                kernel_shared_1[(threadIdx_x_2 + 3008) // 24 * 24 + (threadIdx_x_2 + 8) % 24 // 3 * 3 + (threadIdx_x_2 + 2) % 3] = kernel_1[blockIdx_x // 7 * 589824 + (threadIdx_x_2 + 3008) // 24 * 4608 + cse_var_2 + (threadIdx_x_2 + 8) % 24 // 3 * 9 + cse_var_1 + (threadIdx_x_2 + 2) % 3]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[0] * kernel_shared_1[threadIdx_x * 48]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[9] * kernel_shared_1[threadIdx_x * 48 + 3]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[1] * kernel_shared_1[threadIdx_x * 48]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[10] * kernel_shared_1[threadIdx_x * 48 + 3]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 3]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 3]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 3]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 3]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 3]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[0] * kernel_shared_1[threadIdx_x * 48 + 24]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[9] * kernel_shared_1[threadIdx_x * 48 + 27]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[1] * kernel_shared_1[threadIdx_x * 48 + 24]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[10] * kernel_shared_1[threadIdx_x * 48 + 27]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 24]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 27]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 24]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 27]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 24]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 27]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 24]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 27]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 24]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 27]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[1] * kernel_shared_1[threadIdx_x * 48 + 1]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[10] * kernel_shared_1[threadIdx_x * 48 + 4]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 1]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 4]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 1]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 4]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 1]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 4]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 1]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 4]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 1]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 4]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[7] * kernel_shared_1[threadIdx_x * 48 + 1]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[16] * kernel_shared_1[threadIdx_x * 48 + 4]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[1] * kernel_shared_1[threadIdx_x * 48 + 25]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[10] * kernel_shared_1[threadIdx_x * 48 + 28]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 25]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 28]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 25]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 28]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 25]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 28]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 25]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 28]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 25]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 28]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[7] * kernel_shared_1[threadIdx_x * 48 + 25]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[16] * kernel_shared_1[threadIdx_x * 48 + 28]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 2]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 5]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 2]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 5]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 2]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 5]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 2]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 5]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 2]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 5]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[7] * kernel_shared_1[threadIdx_x * 48 + 2]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[16] * kernel_shared_1[threadIdx_x * 48 + 5]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[8] * kernel_shared_1[threadIdx_x * 48 + 2]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[17] * kernel_shared_1[threadIdx_x * 48 + 5]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[2] * kernel_shared_1[threadIdx_x * 48 + 26]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[11] * kernel_shared_1[threadIdx_x * 48 + 29]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[3] * kernel_shared_1[threadIdx_x * 48 + 26]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[12] * kernel_shared_1[threadIdx_x * 48 + 29]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[4] * kernel_shared_1[threadIdx_x * 48 + 26]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[13] * kernel_shared_1[threadIdx_x * 48 + 29]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[5] * kernel_shared_1[threadIdx_x * 48 + 26]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[14] * kernel_shared_1[threadIdx_x * 48 + 29]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[6] * kernel_shared_1[threadIdx_x * 48 + 26]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[15] * kernel_shared_1[threadIdx_x * 48 + 29]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[7] * kernel_shared_1[threadIdx_x * 48 + 26]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[16] * kernel_shared_1[threadIdx_x * 48 + 29]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[8] * kernel_shared_1[threadIdx_x * 48 + 26]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[17] * kernel_shared_1[threadIdx_x * 48 + 29]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[18] * kernel_shared_1[threadIdx_x * 48 + 6]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[27] * kernel_shared_1[threadIdx_x * 48 + 9]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[19] * kernel_shared_1[threadIdx_x * 48 + 6]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[28] * kernel_shared_1[threadIdx_x * 48 + 9]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 6]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 9]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 6]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 9]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 6]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 9]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 6]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 9]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 6]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 9]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[18] * kernel_shared_1[threadIdx_x * 48 + 30]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[27] * kernel_shared_1[threadIdx_x * 48 + 33]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[19] * kernel_shared_1[threadIdx_x * 48 + 30]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[28] * kernel_shared_1[threadIdx_x * 48 + 33]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 30]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 33]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 30]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 33]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 30]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 33]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 30]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 33]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 30]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 33]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[19] * kernel_shared_1[threadIdx_x * 48 + 7]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[28] * kernel_shared_1[threadIdx_x * 48 + 10]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 7]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 10]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 7]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 10]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 7]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 10]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 7]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 10]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 7]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 10]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[25] * kernel_shared_1[threadIdx_x * 48 + 7]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[34] * kernel_shared_1[threadIdx_x * 48 + 10]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[19] * kernel_shared_1[threadIdx_x * 48 + 31]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[28] * kernel_shared_1[threadIdx_x * 48 + 34]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 31]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 34]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 31]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 34]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 31]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 34]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 31]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 34]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 31]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 34]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[25] * kernel_shared_1[threadIdx_x * 48 + 31]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[34] * kernel_shared_1[threadIdx_x * 48 + 34]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 8]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 11]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 8]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 11]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 8]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 11]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 8]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 11]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 8]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 11]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[25] * kernel_shared_1[threadIdx_x * 48 + 8]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[34] * kernel_shared_1[threadIdx_x * 48 + 11]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[26] * kernel_shared_1[threadIdx_x * 48 + 8]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[35] * kernel_shared_1[threadIdx_x * 48 + 11]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[20] * kernel_shared_1[threadIdx_x * 48 + 32]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[29] * kernel_shared_1[threadIdx_x * 48 + 35]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[21] * kernel_shared_1[threadIdx_x * 48 + 32]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[30] * kernel_shared_1[threadIdx_x * 48 + 35]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[22] * kernel_shared_1[threadIdx_x * 48 + 32]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[31] * kernel_shared_1[threadIdx_x * 48 + 35]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[23] * kernel_shared_1[threadIdx_x * 48 + 32]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[32] * kernel_shared_1[threadIdx_x * 48 + 35]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[24] * kernel_shared_1[threadIdx_x * 48 + 32]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[33] * kernel_shared_1[threadIdx_x * 48 + 35]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[25] * kernel_shared_1[threadIdx_x * 48 + 32]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[34] * kernel_shared_1[threadIdx_x * 48 + 35]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[26] * kernel_shared_1[threadIdx_x * 48 + 32]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[35] * kernel_shared_1[threadIdx_x * 48 + 35]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[36] * kernel_shared_1[threadIdx_x * 48 + 12]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[45] * kernel_shared_1[threadIdx_x * 48 + 15]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[37] * kernel_shared_1[threadIdx_x * 48 + 12]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[46] * kernel_shared_1[threadIdx_x * 48 + 15]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 12]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 15]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 12]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 15]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 12]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 15]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 12]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 15]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 12]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 15]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[36] * kernel_shared_1[threadIdx_x * 48 + 36]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[45] * kernel_shared_1[threadIdx_x * 48 + 39]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[37] * kernel_shared_1[threadIdx_x * 48 + 36]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[46] * kernel_shared_1[threadIdx_x * 48 + 39]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 36]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 39]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 36]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 39]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 36]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 39]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 36]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 39]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 36]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 39]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[37] * kernel_shared_1[threadIdx_x * 48 + 13]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[46] * kernel_shared_1[threadIdx_x * 48 + 16]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 13]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 16]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 13]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 16]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 13]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 16]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 13]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 16]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 13]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 16]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[43] * kernel_shared_1[threadIdx_x * 48 + 13]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[52] * kernel_shared_1[threadIdx_x * 48 + 16]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[37] * kernel_shared_1[threadIdx_x * 48 + 37]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[46] * kernel_shared_1[threadIdx_x * 48 + 40]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 37]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 40]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 37]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 40]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 37]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 40]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 37]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 40]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 37]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 40]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[43] * kernel_shared_1[threadIdx_x * 48 + 37]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[52] * kernel_shared_1[threadIdx_x * 48 + 40]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 14]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 17]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 14]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 17]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 14]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 17]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 14]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 17]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 14]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 17]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[43] * kernel_shared_1[threadIdx_x * 48 + 14]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[52] * kernel_shared_1[threadIdx_x * 48 + 17]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[44] * kernel_shared_1[threadIdx_x * 48 + 14]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[53] * kernel_shared_1[threadIdx_x * 48 + 17]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[38] * kernel_shared_1[threadIdx_x * 48 + 38]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[47] * kernel_shared_1[threadIdx_x * 48 + 41]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[39] * kernel_shared_1[threadIdx_x * 48 + 38]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[48] * kernel_shared_1[threadIdx_x * 48 + 41]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[40] * kernel_shared_1[threadIdx_x * 48 + 38]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[49] * kernel_shared_1[threadIdx_x * 48 + 41]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[41] * kernel_shared_1[threadIdx_x * 48 + 38]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[50] * kernel_shared_1[threadIdx_x * 48 + 41]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[42] * kernel_shared_1[threadIdx_x * 48 + 38]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[51] * kernel_shared_1[threadIdx_x * 48 + 41]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[43] * kernel_shared_1[threadIdx_x * 48 + 38]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[52] * kernel_shared_1[threadIdx_x * 48 + 41]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[44] * kernel_shared_1[threadIdx_x * 48 + 38]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[53] * kernel_shared_1[threadIdx_x * 48 + 41]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[54] * kernel_shared_1[threadIdx_x * 48 + 18]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[63] * kernel_shared_1[threadIdx_x * 48 + 21]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[55] * kernel_shared_1[threadIdx_x * 48 + 18]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[64] * kernel_shared_1[threadIdx_x * 48 + 21]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 18]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 21]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 18]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 21]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 18]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 21]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 18]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 21]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 18]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 21]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[54] * kernel_shared_1[threadIdx_x * 48 + 42]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[63] * kernel_shared_1[threadIdx_x * 48 + 45]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[55] * kernel_shared_1[threadIdx_x * 48 + 42]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[64] * kernel_shared_1[threadIdx_x * 48 + 45]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 42]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 45]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 42]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 45]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 42]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 45]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 42]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 45]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 42]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 45]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[55] * kernel_shared_1[threadIdx_x * 48 + 19]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[64] * kernel_shared_1[threadIdx_x * 48 + 22]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 19]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 22]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 19]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 22]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 19]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 22]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 19]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 22]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 19]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 22]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[61] * kernel_shared_1[threadIdx_x * 48 + 19]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[70] * kernel_shared_1[threadIdx_x * 48 + 22]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[55] * kernel_shared_1[threadIdx_x * 48 + 43]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[64] * kernel_shared_1[threadIdx_x * 48 + 46]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 43]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 46]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 43]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 46]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 43]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 46]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 43]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 46]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 43]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 46]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[61] * kernel_shared_1[threadIdx_x * 48 + 43]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[70] * kernel_shared_1[threadIdx_x * 48 + 46]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 20]
+            conv2d_nchw_1[0] = conv2d_nchw_1[0] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 23]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 20]
+            conv2d_nchw_1[1] = conv2d_nchw_1[1] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 23]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 20]
+            conv2d_nchw_1[2] = conv2d_nchw_1[2] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 23]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 20]
+            conv2d_nchw_1[3] = conv2d_nchw_1[3] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 23]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 20]
+            conv2d_nchw_1[4] = conv2d_nchw_1[4] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 23]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[61] * kernel_shared_1[threadIdx_x * 48 + 20]
+            conv2d_nchw_1[5] = conv2d_nchw_1[5] + pad_temp_shared_1[70] * kernel_shared_1[threadIdx_x * 48 + 23]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[62] * kernel_shared_1[threadIdx_x * 48 + 20]
+            conv2d_nchw_1[6] = conv2d_nchw_1[6] + pad_temp_shared_1[71] * kernel_shared_1[threadIdx_x * 48 + 23]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[56] * kernel_shared_1[threadIdx_x * 48 + 44]
+            conv2d_nchw_1[7] = conv2d_nchw_1[7] + pad_temp_shared_1[65] * kernel_shared_1[threadIdx_x * 48 + 47]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[57] * kernel_shared_1[threadIdx_x * 48 + 44]
+            conv2d_nchw_1[8] = conv2d_nchw_1[8] + pad_temp_shared_1[66] * kernel_shared_1[threadIdx_x * 48 + 47]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[58] * kernel_shared_1[threadIdx_x * 48 + 44]
+            conv2d_nchw_1[9] = conv2d_nchw_1[9] + pad_temp_shared_1[67] * kernel_shared_1[threadIdx_x * 48 + 47]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[59] * kernel_shared_1[threadIdx_x * 48 + 44]
+            conv2d_nchw_1[10] = conv2d_nchw_1[10] + pad_temp_shared_1[68] * kernel_shared_1[threadIdx_x * 48 + 47]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[60] * kernel_shared_1[threadIdx_x * 48 + 44]
+            conv2d_nchw_1[11] = conv2d_nchw_1[11] + pad_temp_shared_1[69] * kernel_shared_1[threadIdx_x * 48 + 47]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[61] * kernel_shared_1[threadIdx_x * 48 + 44]
+            conv2d_nchw_1[12] = conv2d_nchw_1[12] + pad_temp_shared_1[70] * kernel_shared_1[threadIdx_x * 48 + 47]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[62] * kernel_shared_1[threadIdx_x * 48 + 44]
+            conv2d_nchw_1[13] = conv2d_nchw_1[13] + pad_temp_shared_1[71] * kernel_shared_1[threadIdx_x * 48 + 47]
+        for i1_inner, i3_inner in T.grid(2, 7):
             compute_1 = T.Buffer((25088,), data=compute.data)
             bias_1 = T.Buffer((512,), data=bias.data)
-            compute_1[blockIdx_x * 1568 + threadIdx_x // 7 * 49 + i2_inner * 7 + threadIdx_x % 7] = T.max(conv2d_nchw_1[i2_inner] + bias_1[blockIdx_x * 32 + threadIdx_x // 7], T.float32(0))
+            compute_1[blockIdx_x // 7 * 6272 + threadIdx_x * 98 + i1_inner * 49 + blockIdx_x % 7 * 7 + i3_inner] = T.max(conv2d_nchw_1[i1_inner * 7 + i3_inner] + bias_1[blockIdx_x // 7 * 128 + threadIdx_x * 2 + i1_inner], T.float32(0))
 </pre></div>
 </div>
 </div>
@@ -647,7 +1014,7 @@ class Module:
 <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.342 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.355 ms
 </pre></div>
 </div>
 </div>
@@ -677,35 +1044,35 @@ conv2d_nchw_nn_o_o_i, conv2d_nchw_nn_o_i = s[conv2d_nchw].split(conv2d_nchw_nn_o
 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=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=32)
+conv2d_nchw_ff_o_o_i, conv2d_nchw_ff_o_i = s[conv2d_nchw].split(conv2d_nchw_ff_o_i, factor=2)
+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_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=7)
+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_o, conv2d_nchw_yy_o_o_o_i = s[conv2d_nchw].split(conv2d_nchw_yy_o_o_o_i, factor=1)
 conv2d_nchw_xx_o_i, conv2d_nchw_xx_i = s[conv2d_nchw].split(conv2d_nchw_xx, factor=1)
-conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=1)
-conv2d_nchw_xx_o_o_o_i, conv2d_nchw_xx_o_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_o_i, factor=7)
+conv2d_nchw_xx_o_o_i, conv2d_nchw_xx_o_i = s[conv2d_nchw].split(conv2d_nchw_xx_o_i, factor=7)
+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=1)
-conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=4)
-conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=1)
-conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=3)
+conv2d_nchw_rc_o_i, conv2d_nchw_rc_i = s[conv2d_nchw].split(conv2d_nchw_rc, factor=2)
+conv2d_nchw_rc_o_o, conv2d_nchw_rc_o_i = s[conv2d_nchw].split(conv2d_nchw_rc_o_i, factor=4)
+conv2d_nchw_ry_o_i, conv2d_nchw_ry_i = s[conv2d_nchw].split(conv2d_nchw_ry, factor=1)
 conv2d_nchw_ry_o_o, conv2d_nchw_ry_o_i = s[conv2d_nchw].split(conv2d_nchw_ry_o_i, factor=1)
-conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=3)
-conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=1)
+conv2d_nchw_rx_o_i, conv2d_nchw_rx_i = s[conv2d_nchw].split(conv2d_nchw_rx, factor=1)
+conv2d_nchw_rx_o_o, conv2d_nchw_rx_o_i = s[conv2d_nchw].split(conv2d_nchw_rx_o_i, factor=3)
 s[conv2d_nchw].reorder(conv2d_nchw_nn_o_o_o_o, conv2d_nchw_ff_o_o_o_o, conv2d_nchw_yy_o_o_o_o, conv2d_nchw_xx_o_o_o_o, conv2d_nchw_nn_o_o_o_i, conv2d_nchw_ff_o_o_o_i, conv2d_nchw_yy_o_o_o_i, conv2d_nchw_xx_o_o_o_i, conv2d_nchw_nn_o_o_i, conv2d_nchw_ff_o_o_i, conv2d_nchw_yy_o_o_i, conv2d_nchw_xx_o_o_i, conv2d_nchw_rc_o_o, conv2d_nchw_ry_o_o, conv2d_nchw_rx_o_o, conv2d_nchw_rc_o_i, conv2d_nchw_ry_o_i, conv2d_nchw_rx_o_i, conv2d_nchw_nn_o_i, conv2d_nchw_ff_o_i, conv2d_nchw_yy_o_i, conv2d_nc [...]
 compute_i0_o_i, compute_i0_i = s[compute].split(compute_i0, factor=1)
 compute_i0_o_o_i, compute_i0_o_i = s[compute].split(compute_i0_o_i, factor=1)
 compute_i0_o_o_o, compute_i0_o_o_i = s[compute].split(compute_i0_o_o_i, factor=1)
-compute_i1_o_i, compute_i1_i = s[compute].split(compute_i1, factor=1)
-compute_i1_o_o_i, compute_i1_o_i = s[compute].split(compute_i1_o_i, factor=32)
+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_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=7)
+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_o, compute_i2_o_o_i = s[compute].split(compute_i2_o_o_i, factor=1)
-compute_i3_o_i, compute_i3_i = s[compute].split(compute_i3, factor=1)
-compute_i3_o_o_i, compute_i3_o_i = s[compute].split(compute_i3_o_i, factor=7)
+compute_i3_o_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=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)
@@ -725,14 +1092,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=224)
+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)
 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)
+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=4)
 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=224)
+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)
 s[pad_temp_shared].bind(pad_temp_shared_ax0_ax1_fused_ax2_fused_ax3_fused_o_i, te.thread_axis(&quot;threadIdx.x&quot;))
-s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;auto_unroll_max_step&quot;, 64)
+s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;auto_unroll_max_step&quot;, 512)
 s[conv2d_nchw].pragma(conv2d_nchw_nn_o_o_o_o, &quot;unroll_explicit&quot;, True)
 
 CUDA source code:
@@ -750,10 +1117,10 @@ CUDA source code:
   #define int64_t long long
   #define uint64_t unsigned long long
 #endif
-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[324];
-  __shared__ float kernel_shared[1152];
+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[72];
+  __shared__ float kernel_shared[3072];
   conv2d_nchw[0] = 0.000000e+00f;
   conv2d_nchw[1] = 0.000000e+00f;
   conv2d_nchw[2] = 0.000000e+00f;
@@ -761,89 +1128,419 @@ extern &quot;C&quot; __global__ void __launch_bounds__(224) default_function_ker
   conv2d_nchw[4] = 0.000000e+00f;
   conv2d_nchw[5] = 0.000000e+00f;
   conv2d_nchw[6] = 0.000000e+00f;
-  for (int rc_outer_outer = 0; rc_outer_outer &lt; 128; ++rc_outer_outer) {
-    __syncthreads();
-    pad_temp_shared[((int)threadIdx.x)] = (((((9 &lt;= (((int)threadIdx.x) % 81)) &amp;&amp; ((((int)threadIdx.x) % 81) &lt; 72)) &amp;&amp; (1 &lt;= (((int)threadIdx.x) % 9))) &amp;&amp; ((((int)threadIdx.x) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 196) + ((((int)threadIdx.x) / 81) * 49)) + (((((int)threadIdx.x) % 81) / 9) * 7)) + (((int)threadIdx.x) % 9)) - 8)] : 0.000000e+00f);
-    if (((int)threadIdx.x) &lt; 100) {
-      pad_temp_shared[(((int)threadIdx.x) + 224)] = (((((9 &lt;= ((((int)threadIdx.x) + 62) % 81)) &amp;&amp; (((((int)threadIdx.x) + 62) % 81) &lt; 72)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) + 8) % 9))) &amp;&amp; (((((int)threadIdx.x) + 8) % 9) &lt; 8)) ? data[(((((rc_outer_outer * 196) + (((((int)threadIdx.x) + 224) / 81) * 49)) + ((((((int)threadIdx.x) + 62) % 81) / 9) * 7)) + ((((int)threadIdx.x) + 8) % 9)) - 8)] : 0.000000e+00f);
-    }
-    kernel_shared[((int)threadIdx.x)] = kernel[((((((int)blockIdx.x) * 147456) + ((((int)threadIdx.x) / 36) * 4608)) + (rc_outer_outer * 36)) + (((int)threadIdx.x) % 36))];
-    kernel_shared[(((int)threadIdx.x) + 224)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 224) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 8) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 448)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 448) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 16) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 672)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 672) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) / 3) + 8) % 12) * 3)) + (((int)threadIdx.x) % 3))];
-    kernel_shared[(((int)threadIdx.x) + 896)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 896) / 36) * 4608)) + (rc_outer_outer * 36)) + ((((((int)threadIdx.x) + 32) % 36) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))];
-    if (((int)threadIdx.x) &lt; 32) {
-      kernel_shared[(((int)threadIdx.x) + 1120)] = kernel[(((((((int)blockIdx.x) * 147456) + (((((int)threadIdx.x) + 1120) / 36) * 4608)) + (rc_outer_outer * 36)) + (((((int)threadIdx.x) + 4) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))];
-    }
-    __syncthreads();
-    for (int rc_inner = 0; rc_inner &lt; 4; ++rc_inner) {
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[((rc_inner * 81) + (((int)threadIdx.x) % 7))] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[(((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9))]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 1)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 1)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 2)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 2)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 9)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 3)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 10)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 4)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 11)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 5)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 18)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 27)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 36)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 45)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 54)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 63)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 72)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 6)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 19)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 28)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 37)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 46)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 55)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 64)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 73)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 7)]));
-      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 20)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 29)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 38)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 47)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 56)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 65)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
-      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[(((rc_inner * 81) + (((int)threadIdx.x) % 7)) + 74)] * kernel_shared[((((((int)threadIdx.x) / 7) * 36) + (rc_inner * 9)) + 8)]));
+  conv2d_nchw[7] = 0.000000e+00f;
+  conv2d_nchw[8] = 0.000000e+00f;
+  conv2d_nchw[9] = 0.000000e+00f;
+  conv2d_nchw[10] = 0.000000e+00f;
+  conv2d_nchw[11] = 0.000000e+00f;
+  conv2d_nchw[12] = 0.000000e+00f;
+  conv2d_nchw[13] = 0.000000e+00f;
+  for (int rc_outer_outer = 0; rc_outer_outer &lt; 64; ++rc_outer_outer) {
+    for (int ry_outer_outer = 0; ry_outer_outer &lt; 3; ++ry_outer_outer) {
+      __syncthreads();
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[(((int)threadIdx.x) * 4)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= ((((int)threadIdx.x) * 4) % 9))) &amp;&amp; (((((int)threadIdx.x) * 4) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + (((((int)threadIdx.x) * 4) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + ((((int)threadIdx.x) * 4) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 1)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 1) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 1) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 1) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 1) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 2)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 2) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 2) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 2) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 2) % 9)) - 8)] : 0.000000e+00f);
+      }
+      if (((int)threadIdx.x) &lt; 18) {
+        pad_temp_shared[((((int)threadIdx.x) * 4) + 3)] = (((((1 &lt;= (ry_outer_outer + (((int)blockIdx.x) % 7))) &amp;&amp; ((ry_outer_outer + (((int)blockIdx.x) % 7)) &lt; 8)) &amp;&amp; (1 &lt;= (((((int)threadIdx.x) * 4) + 3) % 9))) &amp;&amp; ((((((int)threadIdx.x) * 4) + 3) % 9) &lt; 8)) ? data[((((((rc_outer_outer * 392) + ((((((int)threadIdx.x) * 4) + 3) / 9) * 49)) + (ry_outer_outer * 7)) + ((((int)blockIdx.x) % 7) * 7)) + (((((int)threadIdx.x) * 4) + 3) % 9)) - 8)] : 0.000000e+00f);
+      }
+      kernel_shared[((int)threadIdx.x)] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 64) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 64) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 128) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 128) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 192)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 36864)];
+      kernel_shared[(((((((int)threadIdx.x) + 256) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 256) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 320) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 320) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 384)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 73728)];
+      kernel_shared[(((((((int)threadIdx.x) + 448) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 448) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 512) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 512) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 576)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 110592)];
+      kernel_shared[(((((((int)threadIdx.x) + 640) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 640) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 704) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 704) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 768)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 147456)];
+      kernel_shared[(((((((int)threadIdx.x) + 832) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 832) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 896) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 896) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 960)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 184320)];
+      kernel_shared[(((((((int)threadIdx.x) + 1024) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1024) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 1088) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1088) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1152)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 221184)];
+      kernel_shared[(((((((int)threadIdx.x) + 1216) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1216) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 1280) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1280) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1344)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 258048)];
+      kernel_shared[(((((((int)threadIdx.x) + 1408) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1408) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 1472) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1472) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1536)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 294912)];
+      kernel_shared[(((((((int)threadIdx.x) + 1600) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1600) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 1664) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1664) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1728)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 331776)];
+      kernel_shared[(((((((int)threadIdx.x) + 1792) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1792) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 1856) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1856) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 1920)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 368640)];
+      kernel_shared[(((((((int)threadIdx.x) + 1984) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 1984) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 2048) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2048) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2112)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 405504)];
+      kernel_shared[(((((((int)threadIdx.x) + 2176) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2176) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 2240) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2240) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2304)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 442368)];
+      kernel_shared[(((((((int)threadIdx.x) + 2368) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2368) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 2432) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2432) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2496)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 479232)];
+      kernel_shared[(((((((int)threadIdx.x) + 2560) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2560) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 2624) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2624) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2688)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 516096)];
+      kernel_shared[(((((((int)threadIdx.x) + 2752) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2752) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 2816) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2816) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      kernel_shared[(((int)threadIdx.x) + 2880)] = kernel[((((((((((int)blockIdx.x) / 7) * 589824) + ((((int)threadIdx.x) / 24) * 4608)) + (rc_outer_outer * 72)) + (((((int)threadIdx.x) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + (((int)threadIdx.x) % 3)) + 552960)];
+      kernel_shared[(((((((int)threadIdx.x) + 2944) / 24) * 24) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 1) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 2944) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 16) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 1) % 3))];
+      kernel_shared[(((((((int)threadIdx.x) + 3008) / 24) * 24) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 3)) + ((((int)threadIdx.x) + 2) % 3))] = kernel[(((((((((int)blockIdx.x) / 7) * 589824) + (((((int)threadIdx.x) + 3008) / 24) * 4608)) + (rc_outer_outer * 72)) + ((((((int)threadIdx.x) + 8) % 24) / 3) * 9)) + (ry_outer_outer * 3)) + ((((int)threadIdx.x) + 2) % 3))];
+      __syncthreads();
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[0] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[1] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[2] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[3] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[4] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[5] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[6] * kernel_shared[(((int)threadIdx.x) * 48)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 3)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[0] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[9] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 24)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 27)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 1)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 4)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[1] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[10] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 25)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 28)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 2)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 5)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[2] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[11] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[3] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[12] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[4] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[13] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[5] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[14] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[6] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[15] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[7] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[16] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[8] * kernel_shared[((((int)threadIdx.x) * 48) + 26)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[17] * kernel_shared[((((int)threadIdx.x) * 48) + 29)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 6)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 9)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[18] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[27] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 30)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 33)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 7)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 10)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[19] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[28] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 31)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 34)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 8)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 11)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[20] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[29] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[21] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[30] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[22] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[31] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[23] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[32] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[24] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[33] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[25] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[34] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[26] * kernel_shared[((((int)threadIdx.x) * 48) + 32)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[35] * kernel_shared[((((int)threadIdx.x) * 48) + 35)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 12)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 15)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[36] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[45] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 36)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 39)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 13)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 16)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[37] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[46] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 37)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 40)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 14)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 17)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[38] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[47] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[39] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[48] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[40] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[49] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[41] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[50] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[42] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[51] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[43] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[52] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[44] * kernel_shared[((((int)threadIdx.x) * 48) + 38)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[53] * kernel_shared[((((int)threadIdx.x) * 48) + 41)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 18)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 21)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[54] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[63] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 42)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 45)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 19)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 22)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[55] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[64] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 43)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 46)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[0] = (conv2d_nchw[0] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[1] = (conv2d_nchw[1] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[2] = (conv2d_nchw[2] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[3] = (conv2d_nchw[3] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[4] = (conv2d_nchw[4] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[5] = (conv2d_nchw[5] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 20)]));
+      conv2d_nchw[6] = (conv2d_nchw[6] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 23)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[56] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[7] = (conv2d_nchw[7] + (pad_temp_shared[65] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[57] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[8] = (conv2d_nchw[8] + (pad_temp_shared[66] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[58] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[9] = (conv2d_nchw[9] + (pad_temp_shared[67] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[59] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[10] = (conv2d_nchw[10] + (pad_temp_shared[68] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[60] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[11] = (conv2d_nchw[11] + (pad_temp_shared[69] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[61] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[12] = (conv2d_nchw[12] + (pad_temp_shared[70] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[62] * kernel_shared[((((int)threadIdx.x) * 48) + 44)]));
+      conv2d_nchw[13] = (conv2d_nchw[13] + (pad_temp_shared[71] * kernel_shared[((((int)threadIdx.x) * 48) + 47)]));
     }
   }
-  for (int i2_inner = 0; i2_inner &lt; 7; ++i2_inner) {
-    compute[((((((int)blockIdx.x) * 1568) + ((((int)threadIdx.x) / 7) * 49)) + (i2_inner * 7)) + (((int)threadIdx.x) % 7))] = max((conv2d_nchw[i2_inner] + bias[((((int)blockIdx.x) * 32) + (((int)threadIdx.x) / 7))]), 0.000000e+00f);
+  for (int i1_inner = 0; i1_inner &lt; 2; ++i1_inner) {
+    for (int i3_inner = 0; i3_inner &lt; 7; ++i3_inner) {
+      compute[((((((((int)blockIdx.x) / 7) * 6272) + (((int)threadIdx.x) * 98)) + (i1_inner * 49)) + ((((int)blockIdx.x) % 7) * 7)) + i3_inner)] = max((conv2d_nchw[((i1_inner * 7) + i3_inner)] + bias[((((((int)blockIdx.x) / 7) * 128) + (((int)threadIdx.x) * 2)) + i1_inner)]), 0.000000e+00f);
+    }
   }
 }
 </pre></div>
@@ -880,7 +1577,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> ( 6 minutes  6.173 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 6 minutes  1.558 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 1199c0fb91..53126bd88c 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -916,7 +916,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)
-   7.8472       7.8473       7.8509       7.8433       0.0031
+   7.9054       7.9072       7.9157       7.8933       0.0092
 </pre></div>
 </div>
 </div>
@@ -938,7 +938,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  7.088 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  7.998 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-cuda-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/eafe360d52540634c9eea0fa89e804bd/tune_network_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_network_cuda.py</span></code></a></p>
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 286b272344..7883cc5ec1 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -935,7 +935,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)
-  761.2231     761.2819     762.5220     759.8655      1.0853
+  749.4978     748.9964     750.7749     748.7221      0.9099
 </pre></div>
 </div>
 </div>
@@ -957,7 +957,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  39.497 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  40.298 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 4ef899c2f6..40d0550e34 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -632,11 +632,11 @@ class Module:
     @T.prim_func
     def main(placeholder: T.Buffer((128, 256), &quot;float32&quot;), placeholder_1: T.Buffer((4916, 16, 1), &quot;float32&quot;), placeholder_2: T.Buffer((4916,), &quot;int32&quot;), placeholder_3: T.Buffer((33,), &quot;int32&quot;), placeholder_4: T.Buffer((128, 512), &quot;float32&quot;), compute: T.Buffer((128, 512), &quot;float32&quot;)):
         T.func_attr({&quot;from_legacy_te_schedule&quot;: True, &quot;global_symbol&quot;: &quot;main&quot;, &quot;tir.noalias&quot;: True})
-        for i0_outer_i1_outer_fused in T.parallel(128):
-            compute_1 = T.allocate([512], &quot;float32&quot;, &quot;global&quot;)
-            compute_2 = T.Buffer((512,), data=compute_1)
+        for i0_outer_i1_outer_fused in T.parallel(256):
+            compute_1 = T.allocate([256], &quot;float32&quot;, &quot;global&quot;)
+            compute_2 = T.Buffer((256,), data=compute_1)
             for nb_j_inner in range(2):
-                for i_inner_init in range(16):
+                for i_inner_init in range(8):
                     cse_var_1: T.int32 = i_inner_init * 32 + nb_j_inner * 16
                     compute_2[cse_var_1] = T.float32(0)
                     compute_2[cse_var_1 + 1] = T.float32(0)
@@ -654,13 +654,13 @@ class Module:
                     compute_2[cse_var_1 + 13] = T.float32(0)
                     compute_2[cse_var_1 + 14] = T.float32(0)
                     compute_2[cse_var_1 + 15] = T.float32(0)
-                for elem_idx, i_inner in T.grid(T.let(cse_var_2, i0_outer_i1_outer_fused % 16 * 2 + nb_j_inner, placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2]), 16):
+                for elem_idx, i_inner in T.grid(T.let(cse_var_2, i0_outer_i1_outer_fused % 16 * 2 + nb_j_inner, placeholder_5[cse_var_2 + 1] - placeholder_5[cse_var_2]), 8):
                     cse_var_2 = T.int32()
                     placeholder_5 = T.Buffer((33,), &quot;int32&quot;, data=placeholder_3.data)
                     cse_var_21: T.int32 = elem_idx * 16
                     cse_var_20: T.int32 = i_inner * 32 + nb_j_inner * 16
                     cse_var_19: T.int32 = i0_outer_i1_outer_fused % 16 * 2 + nb_j_inner
-                    cse_var_18: T.int32 = i0_outer_i1_outer_fused // 16 * 4096 + i_inner * 256
+                    cse_var_18: T.int32 = i0_outer_i1_outer_fused // 16 * 2048 + i_inner * 256
                     cse_var_17: T.int32 = cse_var_20 + 9
                     cse_var_16: T.int32 = cse_var_20 + 8
                     cse_var_15: T.int32 = cse_var_20 + 7
@@ -695,8 +695,8 @@ class Module:
                     compute_2[cse_var_7] = compute_2[cse_var_7] + placeholder_6[placeholder_5[cse_var_19] * 16 + cse_var_21 + 13] * T.max(placeholder_7[cse_var_18 + placeholder_8[placeholder_5[cse_var_19] + elem_idx]], T.float32(0))
                     compute_2[cse_var_8] = compute_2[cse_var_8] + placeholder_6[placeholder_5[cse_var_19] * 16 + cse_var_21 + 14] * T.max(placeholder_7[cse_var_18 + placeholder_8[placeholder_5[cse_var_19] + elem_idx]], T.float32(0))
                     compute_2[cse_var_9] = compute_2[cse_var_9] + placeholder_6[placeholder_5[cse_var_19] * 16 + cse_var_21 + 15] * T.max(placeholder_7[cse_var_18 + placeholder_8[placeholder_5[cse_var_19] + elem_idx]], T.float32(0))
-            for i0_inner, i1_inner in T.grid(16, 32):
-                cse_var_22: T.int32 = i0_outer_i1_outer_fused // 16 * 8192 + i0_inner * 512 + i0_outer_i1_outer_fused % 16 * 32 + i1_inner
+            for i0_inner, i1_inner in T.grid(8, 32):
+                cse_var_22: T.int32 = i0_outer_i1_outer_fused // 16 * 4096 + i0_inner * 512 + i0_outer_i1_outer_fused % 16 * 32 + i1_inner
                 compute_3 = T.Buffer((65536,), data=compute.data)
                 placeholder_5 = T.Buffer((65536,), data=placeholder_4.data)
                 compute_3[cse_var_22] = T.max(compute_2[i0_inner * 32 + i1_inner] + placeholder_5[cse_var_22], T.float32(0))
@@ -733,7 +733,7 @@ class Module:
 <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.676 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.932 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 41f2238743..360cad3f81 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -340,7 +340,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:41.274</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:41.558</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -349,7 +349,7 @@
 </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:41.240</p></td>
+<td><p>00:41.524</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>
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 958a23f05d..b5a9337df5 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -690,7 +690,7 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 16, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7830203
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 16, 2, 2]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 8, 16]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,1101168
 No: 2   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
@@ -813,9 +813,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 128, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7999203
-No: 3   GFLOPS: 6.53/6.53       result: MeasureResult(costs=(0.0354734305,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.734271764755249, timestamp=1676580955.0393226)        [(&#39;tile_f&#39;, [-1, 8, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,454963
-No: 4   GFLOPS: 0.00/6.53       result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 64, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 32]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4605716
+No: 3   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -937,8 +936,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 16, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 2, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,3469362
-No: 5   GFLOPS: 0.00/6.53       result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 16, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 16, 32]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5579179
+No: 4   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1060,8 +1059,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 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;, 1)],None,9504667
-No: 6   GFLOPS: 0.00/6.53       result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 16, 8, 2]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 16, 32]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8093003
+No: 5   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1183,8 +1182,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 4, 64]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7822748
-No: 7   GFLOPS: 0.00/6.53       result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 16, 8, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,3362343
+No: 6   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1306,9 +1305,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 4, 64]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8708688
-No: 8   GFLOPS: 124.16/124.16   result: MeasureResult(costs=(0.00186450396875,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.475013494491577, timestamp=1676580961.6172936)    [(&#39;tile_f&#39;, [-1, 2, 2, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 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,10307505
-No: 9   GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 1, 16]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 128]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5990766
+No: 7   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1430,8 +1428,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 2, 256]), (&#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;, 1)],None,7740334
-No: 10  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 8, 2]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 16]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,315564
+No: 8   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1553,254 +1551,28 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 16]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,1105302
-No: 11  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
-  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
-    func = build(s, args, target=target, runtime=runtime)
-  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 227, in build
-    input_mod = lower(inputs, args, name=name, binds=binds)
-  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 134, in lower
-    return ffi.lower_schedule(inp, args, name, binds, simple_mode)
-  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
-  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 276, in tvm._ffi._cy3.core.FuncCall
-  File &quot;tvm/_ffi/_cython/./base.pxi&quot;, line 181, in tvm._ffi._cy3.core.CHECK_CALL
-tvm._ffi.base.TVMError: Traceback (most recent call last):
-  24: TVMFuncCall
-        at ../src/runtime/c_runtime_api.cc:477
-  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-        at ../include/tvm/runtime/packed_func.h:1217
-  22: Call
-        at ../include/tvm/runtime/packed_func.h:1213
-  21: operator()
-        at ../include/tvm/runtime/packed_func.h:1730
-  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
-        at ../include/tvm/runtime/packed_func.h:1670
-  19: run&lt;&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1645
-  13: operator()
-        at ../src/driver/driver_api.cc:395
-  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
-        at ../src/driver/driver_api.cc:381
-  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:276
-  10: tvm::transform::Pass::operator()(tvm::IRModule) const
-        at ../src/ir/transform.cc:258
-  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:274
-  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:451
-  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:274
-  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/tir/ir/transform.cc:100
-  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
-        at ../include/tvm/runtime/packed_func.h:1749
-  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
-        at ../include/tvm/runtime/packed_func.h:1693
-  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
-        at ../include/tvm/runtime/packed_func.h:1617
-  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-        at ../include/tvm/runtime/packed_func.h:1217
-  1: Call
-        at ../include/tvm/runtime/packed_func.h:1213
-  0: operator()
-        at ../src/runtime/c_runtime_api.cc:534
-  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
-  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
-    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
-
-Traceback (most recent call last):
-  24: TVMFuncCall
-        at ../src/runtime/c_runtime_api.cc:477
-  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-        at ../include/tvm/runtime/packed_func.h:1217
-  22: Call
-        at ../include/tvm/runtime/packed_func.h:1213
-  21: operator()
-        at ../include/tvm/runtime/packed_func.h:1730
-  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
-        at ../include/tvm/runtime/packed_func.h:1670
-  19: run&lt;&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1645
-  13: operator()
-        at ../src/driver/driver_api.cc:395
-  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
-        at ../src/driver/driver_api.cc:381
-  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:276
-  10: tvm::transform::Pass::operator()(tvm::IRModule) const
-        at ../src/ir/transform.cc:258
-  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:274
-  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:451
-  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:274
-  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/tir/ir/transform.cc:100
-  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
-        at ../include/tvm/runtime/packed_func.h:1749
-  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
-        at ../include/tvm/runtime/packed_func.h:1693
-  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
-        at ../include/tvm/runtime/packed_func.h:1617
-  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-        at ../include/tvm/runtime/packed_func.h:1217
-  1: Call
-        at ../include/tvm/runtime/packed_func.h:1213
-  0: operator()
-        at ../src/runtime/c_runtime_api.cc:534
-  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
-  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
-    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 8]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,887931
-No: 12  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
-  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
-    func = build(s, args, target=target, runtime=runtime)
-  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 227, in build
-    input_mod = lower(inputs, args, name=name, binds=binds)
-  File &quot;/workspace/python/tvm/driver/build_module.py&quot;, line 134, in lower
-    return ffi.lower_schedule(inp, args, name, binds, simple_mode)
-  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
-  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 276, in tvm._ffi._cy3.core.FuncCall
-  File &quot;tvm/_ffi/_cython/./base.pxi&quot;, line 181, in tvm._ffi._cy3.core.CHECK_CALL
-tvm._ffi.base.TVMError: Traceback (most recent call last):
-  24: TVMFuncCall
-        at ../src/runtime/c_runtime_api.cc:477
-  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-        at ../include/tvm/runtime/packed_func.h:1217
-  22: Call
-        at ../include/tvm/runtime/packed_func.h:1213
-  21: operator()
-        at ../include/tvm/runtime/packed_func.h:1730
-  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
-        at ../include/tvm/runtime/packed_func.h:1670
-  19: run&lt;&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1645
-  13: operator()
-        at ../src/driver/driver_api.cc:395
-  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
-        at ../src/driver/driver_api.cc:381
-  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:276
-  10: tvm::transform::Pass::operator()(tvm::IRModule) const
-        at ../src/ir/transform.cc:258
-  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:274
-  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:451
-  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:274
-  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/tir/ir/transform.cc:100
-  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
-        at ../include/tvm/runtime/packed_func.h:1749
-  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
-        at ../include/tvm/runtime/packed_func.h:1693
-  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
-        at ../include/tvm/runtime/packed_func.h:1617
-  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-        at ../include/tvm/runtime/packed_func.h:1217
-  1: Call
-        at ../include/tvm/runtime/packed_func.h:1213
-  0: operator()
-        at ../src/runtime/c_runtime_api.cc:534
-  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
-  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
-    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 2, 32]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 16, 32]), (&#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,155290
+No: 9   GFLOPS: 43.54/43.54     result: MeasureResult(costs=(0.005317119875000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.584394931793213, timestamp=1676587675.7939022)        [(&#39;tile_f&#39;, [-1, 1, 32, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 8, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3533990
+No: 10  GFLOPS: 20.24/43.54     result: MeasureResult(costs=(0.011439463222222222,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.389111280441284, timestamp=1676587676.585565) [(&#39;tile_f&#39;, [-1, 1, 1, 64]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 2, 8]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4747360
+No: 11  GFLOPS: 0.00/43.54      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
+    return self.__get_result()
+  File &quot;/usr/lib/python3.7/concurrent/futures/_base.py&quot;, line 384, in __get_result
+    raise self._exception
+  File &quot;/usr/lib/python3.7/concurrent/futures/thread.py&quot;, line 57, in run
+    result = self.fn(*self.args, **self.kwargs)
+  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 432, in &lt;lambda&gt;
+    worker = lambda *args: self._worker_run(*args)
+  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 401, in _worker_run
+    return proc.recv()
+  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 309, in recv
+    raise TimeoutError()
+TimeoutError
 
-Traceback (most recent call last):
-  24: TVMFuncCall
-        at ../src/runtime/c_runtime_api.cc:477
-  23: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-        at ../include/tvm/runtime/packed_func.h:1217
-  22: Call
-        at ../include/tvm/runtime/packed_func.h:1213
-  21: operator()
-        at ../include/tvm/runtime/packed_func.h:1730
-  20: unpack_call&lt;tvm::IRModule, 5, tvm::&lt;lambda(tvm::te::Schedule, const tvm::runtime::Array&lt;tvm::runtime::ObjectRef&gt;&amp;, const tvm::runtime::String&amp;, const tvm::runtime::Map&lt;tvm::te::Tensor, tvm::tir::Buffer&gt;&amp;, bool)&gt; &gt;
-        at ../include/tvm/runtime/packed_func.h:1670
-  19: run&lt;&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1630
-  14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
-        at ../include/tvm/runtime/packed_func.h:1645
-  13: operator()
-        at ../src/driver/driver_api.cc:395
-  12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, tvm::GlobalVarSupply, bool)
-        at ../src/driver/driver_api.cc:381
-  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:276
-  10: tvm::transform::Pass::operator()(tvm::IRModule) const
-        at ../src/ir/transform.cc:258
-  9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:274
-  8: tvm::transform::SequentialNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:451
-  7: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/ir/transform.cc:274
-  6: tvm::tir::transform::PrimFuncPassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
-        at ../src/tir/ir/transform.cc:100
-  5: tvm::runtime::TypedPackedFunc&lt;tvm::tir::PrimFunc (tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext)&gt;::operator()(tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext) const
-        at ../include/tvm/runtime/packed_func.h:1749
-  4: tvm::tir::PrimFunc tvm::runtime::detail::typed_packed_call_dispatcher&lt;tvm::tir::PrimFunc&gt;::run&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::runtime::PackedFunc const&amp;, tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;)
-        at ../include/tvm/runtime/packed_func.h:1693
-  3: tvm::runtime::TVMRetValue tvm::runtime::PackedFunc::operator()&lt;tvm::tir::PrimFunc, tvm::IRModule, tvm::transform::PassContext&gt;(tvm::tir::PrimFunc&amp;&amp;, tvm::IRModule&amp;&amp;, tvm::transform::PassContext&amp;&amp;) const
-        at ../include/tvm/runtime/packed_func.h:1617
-  2: tvm::runtime::PackedFuncObj::CallPacked(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const
-        at ../include/tvm/runtime/packed_func.h:1217
-  1: Call
-        at ../include/tvm/runtime/packed_func.h:1213
-  0: operator()
-        at ../src/runtime/c_runtime_api.cc:534
-  File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
-  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
-    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 1, 8]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 16, 32]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9835461
-No: 13  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
+        [(&#39;tile_f&#39;, [-1, 1, 1, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 16, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8601284
+No: 12  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -1922,8 +1694,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 256, 2]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7227816
-No: 14  GFLOPS: 0.00/124.16     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 4, 2]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4258613
+No: 13  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -2045,9 +1817,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 32, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 16, 4]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5889003
-No: 15  GFLOPS: 154.74/154.74   result: MeasureResult(costs=(0.0014960860135135134,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.9656424522399902, timestamp=1676580966.0107188)      [(&#39;tile_f&#39;, [-1, 1, 4, 8]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 1, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8616669
-No: 16  GFLOPS: 0.00/154.74     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 4, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 16]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3800036
+No: 14  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -2169,8 +1940,9 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 8, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 16, 16]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7494040
-No: 17  GFLOPS: 0.00/154.74     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 1, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 64, 4]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9382947
+No: 15  GFLOPS: 3.69/43.54      result: MeasureResult(costs=(0.062749111,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.9768059253692627, timestamp=1676587679.3913891)        [(&#39;tile_f&#39;, [-1, 2, 2, 32]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6436071
+No: 16  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -2292,8 +2064,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 32, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 32, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8573932
-No: 18  GFLOPS: 0.00/154.74     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 8, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 8]), (&#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,10171952
+No: 17  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -2415,26 +2187,8 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 64, 1]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 128, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7835786
-No: 19  GFLOPS: 0.00/154.74     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
-    return self.__get_result()
-  File &quot;/usr/lib/python3.7/concurrent/futures/_base.py&quot;, line 384, in __get_result
-    raise self._exception
-  File &quot;/usr/lib/python3.7/concurrent/futures/thread.py&quot;, line 57, in run
-    result = self.fn(*self.args, **self.kwargs)
-  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 432, in &lt;lambda&gt;
-    worker = lambda *args: self._worker_run(*args)
-  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 401, in _worker_run
-    return proc.recv()
-  File &quot;/workspace/python/tvm/contrib/popen_pool.py&quot;, line 309, in recv
-    raise TimeoutError()
-TimeoutError
-
-        [(&#39;tile_f&#39;, [-1, 2, 2, 32]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 8]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2036071
-No: 20  GFLOPS: 0.00/154.74     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 16, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 32, 16]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4786722
+No: 18  GFLOPS: 0.00/43.54      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 592, 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 544, in _build_func_common
@@ -2556,7 +2310,9 @@ Traceback (most recent call last):
   File &quot;tvm/_ffi/_cython/./packed_func.pxi&quot;, line 56, in tvm._ffi._cy3.core.tvm_callback
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 875, 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, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 1, 256]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6380909
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 128, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 64, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9188087
+No: 19  GFLOPS: 1.04/43.54      result: MeasureResult(costs=(0.222811157,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.980097770690918, timestamp=1676587684.8174598) [(&#39;tile_f&#39;, [-1, 2, 1, 128]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 16, 2]), (&#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,50811
+No: 20  GFLOPS: 39.10/43.54     result: MeasureResult(costs=(0.005920064117647059,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.49173641204834, timestamp=1676587685.5752888) [(&#39;tile_f&#39;, [-1, 1, 4, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 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;, 1)],None,7361394
 </pre></div>
 </div>
 <p>Finally we can inspect the best config from log file, check correctness,
@@ -2595,9 +2351,9 @@ and measure running time.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Finish loading 20 records
 
 Best config:
-[(&#39;tile_f&#39;, [-1, 1, 4, 8]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 1, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,8616669
+[(&#39;tile_f&#39;, [-1, 1, 32, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 8, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3533990
 Finish loading 20 records
-Time cost of this operator: 0.001827
+Time cost of this operator: 0.005164
 </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 26abde07ca..1fb6eb008d 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -643,10 +643,10 @@ the tuned operator.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)
 ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  311.3     98.732   (1, 2, 10, 10, 3)  2       1        [311.3]
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.018     0.957    (1, 6, 10, 10)     1       1        [3.018]
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.981     0.311    (1, 1, 10, 10, 3)  1       1        [0.981]
-Total_time                                    -                                             315.299   -        -                  -       -        -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  309.7     98.725   (1, 2, 10, 10, 3)  2       1        [309.7]
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.018     0.962    (1, 6, 10, 10)     1       1        [3.018]
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.983     0.313    (1, 1, 10, 10, 3)  1       1        [0.983]
+Total_time                                    -                                             313.701   -        -                  -       -        -
 </pre></div>
 </div>
 </div>
@@ -698,10 +698,10 @@ Total_time                                    -
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build with Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)
 ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  102.5     97.522   (1, 6, 10, 10, 1)  2       1        [102.5]
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.755     1.67     (1, 6, 10, 10)     1       1        [1.755]
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.85      0.809    (1, 3, 10, 10, 1)  1       1        [0.85]
-Total_time                                    -                                             105.105   -        -                  -       -        -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  100.2     97.269   (1, 6, 10, 10, 1)  2       1        [100.2]
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.827     1.773    (1, 6, 10, 10)     1       1        [1.827]
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.987     0.958    (1, 1, 10, 10, 3)  1       1        [0.987]
+Total_time                                    -                                             103.013   -        -                  -       -        -
 </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_pytorch.html b/docs/how_to/work_with_microtvm/micro_pytorch.html
index 82bd922eb3..12354c6778 100644
--- a/docs/how_to/work_with_microtvm/micro_pytorch.html
+++ b/docs/how_to/work_with_microtvm/micro_pytorch.html
@@ -454,8 +454,8 @@ download a cat image and preprocess it to use as the model input.</p>
 Downloading: &quot;https://download.pytorch.org/models/quantized/mobilenet_v2_qnnpack_37f702c5.pth&quot; to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2_qnnpack_37f702c5.pth
 
   0%|          | 0.00/3.42M [00:00&lt;?, ?B/s]
- 61%|######    | 2.09M/3.42M [00:00&lt;00:00, 17.6MB/s]
-100%|##########| 3.42M/3.42M [00:00&lt;00:00, 26.9MB/s]
+ 83%|########2 | 2.84M/3.42M [00:00&lt;00:00, 29.7MB/s]
+100%|##########| 3.42M/3.42M [00:00&lt;00:00, 34.6MB/s]
 /workspace/python/tvm/relay/frontend/pytorch_utils.py:47: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
   return LooseVersion(torch_ver) &gt; ver
 /venv/apache-tvm-py3.7/lib/python3.7/site-packages/setuptools/_distutils/version.py:346: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
@@ -581,7 +581,7 @@ via the host <cite>main.cc`</cite> or if a Zephyr emulated board is selected as
 Torch top-1 id: 282, class name: tiger cat
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  10.045 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  10.862 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-pytorch-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/12b9ecc04c41abaa12022061771821d1/micro_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">micro_pytorch.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/micro_train.html b/docs/how_to/work_with_microtvm/micro_train.html
index 0bf93c9693..c0e173fa54 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -523,7 +523,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/tmpou7_uo5r/images/random&#39;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmpajpgm9ga/images/random&#39;
 </pre></div>
 </div>
 </div>
@@ -583,8 +583,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="[0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.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/tmpou7_uo5r/images/target contains 8144 images
-/tmp/tmpou7_uo5r/images/random contains 5000 images
+<img src="../../_images/sphx_glr_micro_train_001.png" srcset="../../_images/sphx_glr_micro_train_001.png" alt="[0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0], [0.0, 1.0], [1.0, 0.0], [0.0, 1.0], [0.0, 1.0]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpajpgm9ga/images/target contains 8144 images
+/tmp/tmpajpgm9ga/images/random contains 5000 images
 </pre></div>
 </div>
 </div>
@@ -696,13 +696,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 - 46s - loss: 0.2072 - accuracy: 0.9291 - val_loss: 0.0887 - val_accuracy: 0.9649 - 46s/epoch - 142ms/step
+328/328 - 47s - loss: 0.2264 - accuracy: 0.9259 - val_loss: 0.1412 - val_accuracy: 0.9517 - 47s/epoch - 143ms/step
 Epoch 2/3
-328/328 - 43s - loss: 0.1025 - accuracy: 0.9617 - val_loss: 0.0884 - val_accuracy: 0.9694 - 43s/epoch - 131ms/step
+328/328 - 43s - loss: 0.1006 - accuracy: 0.9637 - val_loss: 0.0984 - val_accuracy: 0.9702 - 43s/epoch - 132ms/step
 Epoch 3/3
-328/328 - 43s - loss: 0.0691 - accuracy: 0.9735 - val_loss: 0.0982 - val_accuracy: 0.9645 - 43s/epoch - 131ms/step
+328/328 - 43s - loss: 0.0692 - accuracy: 0.9743 - val_loss: 0.0993 - val_accuracy: 0.9728 - 43s/epoch - 131ms/step
 
-&lt;keras.callbacks.History object at 0x7fc484365750&gt;
+&lt;keras.callbacks.History object at 0x7f235259aa90&gt;
 </pre></div>
 </div>
 </div>
@@ -966,7 +966,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> ( 4 minutes  54.712 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes  59.479 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 e7128d81c7..cb53ba3719 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -340,7 +340,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>07:12.132</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>07:19.040</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 82%" />
@@ -349,23 +349,23 @@
 </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">5. 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>04:54.712</p></td>
+<td><p>04:59.479</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="micro_pytorch.html#sphx-glr-how-to-work-with-microtvm-micro-pytorch-py"><span class="std std-ref">4. microTVM PyTorch Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_pytorch.py</span></code>)</p></td>
-<td><p>01:10.045</p></td>
+<td><p>01:10.862</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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">6. Model Tuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>00:54.201</p></td>
+<td><p>00:55.213</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><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">3. microTVM Ahead-of-Time (AOT) Compilation</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_aot.py</span></code>)</p></td>
-<td><p>00:07.982</p></td>
+<td><p>00:08.110</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><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">2. microTVM TFLite Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></td>
-<td><p>00:05.192</p></td>
+<td><p>00:05.375</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="micro_tvmc.html#sphx-glr-how-to-work-with-microtvm-micro-tvmc-py"><span class="std std-ref">1. microTVM CLI Tool</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tvmc.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 2f52b849dc..7c66d4a6d6 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -340,7 +340,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:44.035</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:44.784</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 84%" />
@@ -349,15 +349,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:31.971</p></td>
+<td><p>00:32.579</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:10.361</p></td>
+<td><p>00:10.473</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.697</p></td>
+<td><p>00:01.726</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 fb291252ca..7ccb5d45a0 100644
--- a/docs/how_to/work_with_schedules/intrin_math.html
+++ b/docs/how_to/work_with_schedules/intrin_math.html
@@ -535,7 +535,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 0x7fc319d4c830&gt;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7f21fcb73320&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 c2cd86303e..599dabfc0a 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -340,7 +340,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:08.849</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:08.492</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -349,35 +349,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:06.387</p></td>
+<td><p>00:05.960</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:01.111</p></td>
+<td><p>00:01.154</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.574</p></td>
+<td><p>00:00.585</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.551</p></td>
+<td><p>00:00.561</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.115</p></td>
+<td><p>00:00.118</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.053</p></td>
+<td><p>00:00.054</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.032</p></td>
+<td><p>00:00.033</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.027</p></td>
+<td><p>00:00.028</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/install/nnpack.html b/docs/install/nnpack.html
index 23d2181e9d..1ef28de467 100644
--- a/docs/install/nnpack.html
+++ b/docs/install/nnpack.html
@@ -229,17 +229,7 @@
               <p class="caption" role="heading"><span class="caption-text">Getting Started</span></p>
 <ul class="current">
 <li class="toctree-l1 current"><a class="reference internal" href="index.html">Installing TVM</a><ul class="current">
-<li class="toctree-l2 current"><a class="reference internal" href="from_source.html">Install from Source</a><ul class="current">
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#developers-get-source-from-github">Developers: Get Source from Github</a></li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#build-the-shared-library">Build the Shared Library</a></li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#python-package-installation">Python Package Installation</a></li>
-<li class="toctree-l3 current"><a class="reference internal" href="from_source.html#install-contrib-libraries">Install Contrib Libraries</a><ul class="current">
-<li class="toctree-l4 current"><a class="current reference internal" href="#">NNPACK Contrib Installation</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="from_source.html#enable-c-tests">Enable C++ Tests</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="from_source.html">Install from Source</a></li>
 <li class="toctree-l2"><a class="reference internal" href="docker.html">Docker Images</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">NNPACK Contrib Installation</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#conditions">Conditions</a></li>
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index ad0510c7d7..53805e0411 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -501,58 +501,59 @@ $(function() {
 <tr id="row_1_5_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_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in cumsum and cumprod operator </td></tr>
 <tr id="row_1_5_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_1ScatterAddAttrs.html" target="_self">ScatterAddAttrs</a></td><td class="desc"></td></tr>
 <tr id="row_1_5_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_1ScatterAttrs.html" target="_self">ScatterAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">SearchSortedAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1SequenceMaskAttrs.html" target="_self">SequenceMaskAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1ShapeFuncAttrs.html" target="_self">ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
-<tr id="row_1_5_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_1ShapeOfAttrs.html" target="_self">ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
-<tr id="row_1_5_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="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_5_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="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_5_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_1SliceLikeAttrs.html" target="_self">SliceLikeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1SlidingWindowAttrs.html" target="_self">SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
-<tr id="row_1_5_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_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_1_5_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_1SpaceToBatchNDAttrs.html" target="_self">SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
-<tr id="row_1_5_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_1SparseConv2DAttrs.html" target="_self">SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_1_5_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_1SparseDenseAttrs.html" target="_self">SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
-<tr id="row_1_5_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_1SparseToDenseAttrs.html" target="_self">SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
-<tr id="row_1_5_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_1SparseTransposeAttrs.html" target="_self">SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
-<tr id="row_1_5_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_1SplitAttrs.html" target="_self">SplitAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1SqueezeAttrs.html" target="_self">SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
-<tr id="row_1_5_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_1StackAttrs.html" target="_self">StackAttrs</a></td><td class="desc">Attributes used in stack operators </td></tr>
-<tr id="row_1_5_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="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_5_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_1StridedSliceAttrs.html" target="_self">StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
-<tr id="row_1_5_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_1SubPixelAttrs.html" target="_self">SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
-<tr id="row_1_5_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_1TakeAttrs.html" target="_self">TakeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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="classtvm_1_1relay_1_1TempExpr.html" target="_self">TempExpr</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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="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_5_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_1ThreefryGenerateAttrs.html" target="_self">ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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="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_5_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="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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="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_5_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="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">TriluAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_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_5_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="classtvm_1_1relay_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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="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_5_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="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_5_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="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_5_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_1UniformAttrs.html" target="_self">UniformAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_1UniqueAttrs.html" target="_self">UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
-<tr id="row_1_5_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_1UpSampling3DAttrs.html" target="_self">UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
-<tr id="row_1_5_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="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
-<tr id="row_1_5_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="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_5_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_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">VarianceAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_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_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_5_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="classtvm_1_1relay_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_246_" class="even" style="display:none;"><td 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_5_247_" class="even" style="display:none;"><td 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_5_248_" class="even" style="display:none;"><td 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_5_249_" class="even" style="display:none;"><td 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_5_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_1ScatterElementsAttrs.html" target="_self">ScatterElementsAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1SearchSortedAttrs.html" target="_self">SearchSortedAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1SequenceMaskAttrs.html" target="_self">SequenceMaskAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1ShapeFuncAttrs.html" target="_self">ShapeFuncAttrs</a></td><td class="desc">Options for the shape function operator </td></tr>
+<tr id="row_1_5_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_1ShapeOfAttrs.html" target="_self">ShapeOfAttrs</a></td><td class="desc">Attributes for ShapeOf operator </td></tr>
+<tr id="row_1_5_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="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_5_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="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_5_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_1SliceLikeAttrs.html" target="_self">SliceLikeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1SlidingWindowAttrs.html" target="_self">SlidingWindowAttrs</a></td><td class="desc">Attributes used for the sliding_window operator </td></tr>
+<tr id="row_1_5_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_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_1_5_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_1SpaceToBatchNDAttrs.html" target="_self">SpaceToBatchNDAttrs</a></td><td class="desc">Attributes used in SpaceToBatchND operator </td></tr>
+<tr id="row_1_5_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_1SparseConv2DAttrs.html" target="_self">SparseConv2DAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_1_5_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_1SparseDenseAttrs.html" target="_self">SparseDenseAttrs</a></td><td class="desc">Attributes for sparse_dense operator </td></tr>
+<tr id="row_1_5_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_1SparseToDenseAttrs.html" target="_self">SparseToDenseAttrs</a></td><td class="desc">Attributes used in sparse_to_dense operator </td></tr>
+<tr id="row_1_5_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_1SparseTransposeAttrs.html" target="_self">SparseTransposeAttrs</a></td><td class="desc">Attributes for sparse_transpose operator </td></tr>
+<tr id="row_1_5_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_1SplitAttrs.html" target="_self">SplitAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1SqueezeAttrs.html" target="_self">SqueezeAttrs</a></td><td class="desc">Attributes used in squeeze operators </td></tr>
+<tr id="row_1_5_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="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_5_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_1StftAttrs.html" target="_self">StftAttrs</a></td><td class="desc">Attributes used in stft operator </td></tr>
+<tr id="row_1_5_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_1StridedSliceAttrs.html" target="_self">StridedSliceAttrs</a></td><td class="desc">Attributes for StridedSlice operator </td></tr>
+<tr id="row_1_5_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_1SubPixelAttrs.html" target="_self">SubPixelAttrs</a></td><td class="desc">Attributes used in subpixel operators </td></tr>
+<tr id="row_1_5_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_1TakeAttrs.html" target="_self">TakeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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="classtvm_1_1relay_1_1TempExpr.html" target="_self">TempExpr</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1TempExprNode.html" target="_self">TempExprNode</a></td><td class="desc">Base class of the temporary expression </td></tr>
+<tr id="row_1_5_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="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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="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_5_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="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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="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_5_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="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">TriluAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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="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_5_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="classtvm_1_1relay_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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="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_5_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="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_5_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_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_5_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_1UniformAttrs.html" target="_self">UniformAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1UniqueAttrs.html" target="_self">UniqueAttrs</a></td><td class="desc">Attributes used in unique operator </td></tr>
+<tr id="row_1_5_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="structtvm_1_1relay_1_1UpSampling3DAttrs.html" target="_self">UpSampling3DAttrs</a></td><td class="desc">Attributes for upsampling3d operator </td></tr>
+<tr id="row_1_5_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="structtvm_1_1relay_1_1UpSamplingAttrs.html" target="_self">UpSamplingAttrs</a></td><td class="desc">Attributes for upsampling operator </td></tr>
+<tr id="row_1_5_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="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_5_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_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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_1VarianceAttrs.html" target="_self">VarianceAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_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="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_5_246_" class="even" style="display:none;"><td 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_5_247_" class="even" style="display:none;"><td 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_5_248_" class="even" style="display:none;"><td 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_5_249_" class="even" style="display:none;"><td 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_5_250_" class="even" style="display:none;"><td 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_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_6_" class="arrow" onclick="toggleFolder('1_6_')">&#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_6_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_6_0_" class="arrow" onclick="toggleFolder('1_6_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_6_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 a994ce058c..d23680c200 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -65,260 +65,260 @@ $(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_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_1relay_1_1PatternVisitor.html">PatternVisitor</a> (<a class="el" href="namespacetvm_1_1re [...]
-<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_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_1relay_1_1PatternWildcard.html">PatternWildcard</a> (<a class="el" href="na [...]
-<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_1arith_1_1In [...]
-<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_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a [...]
-<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_1script_1_1ir__builder_1_1IRBuilderFrame.ht [...]
-<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="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame [...]
-<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_1script_1_1ir__builder_1_1IRBuilderNode.html">IRBuilderNode</a> (<a class= [...]
-<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_1script_1_1printer_1_1IRDocsifier.html">IRDocsifier</a> (<a cla [...]
-<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_1script_1_1printer_1_1IRDocsifierFunctor.html">IRDocs [...]
-<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_1script_1_1printer_1_1IRDocsifierNode.html">IRDocsifierNode</a> (<a cla [...]
+</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_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_1relay_1_1PatternVisitor.html">PatternVisitor</a> (<a class="el" href="namespacetvm_1_1re [...]
+<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_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_1relay_1_1PatternWildcard.html">PatternWildcard</a> (<a class="el" href="na [...]
+<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_1arith_1_1In [...]
+<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_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a [...]
+<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_1script_1_1ir__builder_1_1IRBuilderFrame.ht [...]
+<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="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame [...]
+<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_1script_1_1ir__builder_1_1IRBuilderNode.html">IRBuilderNode</a> (<a class= [...]
+<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_1script_1_1printer_1_1IRDocsifier.html">IRDocsifier</a> (<a cla [...]
+<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_1script_1_1printer_1_1IRDocsifierFunctor.html">IRDocs [...]
+<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_1script_1_1printer_1_1IRDocsifierNode.html">IRDocsifierNode</a> (<a cla [...]
 <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_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 valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1StageNode.html">StageNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)& [...]
+</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 valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1StageAttributes.html">StageAttributes</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_sc [...]
 <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_1script_1_1ir__builder_1_1ir_1_1IRModuleFrame.html">IRModuleFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1ir.html">tvm::script::ir_builder::ir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1PoolInfoProperties.html">PoolInfoProperties [...]
-<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_1script_1_1ir__builder_1_1ir_1_1IRModuleFrameNode.html">IRModuleFrameNode</a> (<a [...]
-<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_1IRModu [...]
-<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="structtvm_1_1detail_1_1is__specialized.html">is_specialized</a> (<a class="el" href="namespacetvm_1_1detail.h [...]
-<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="structtvm_1_1detail_1_1is__specialized_3_01Container_3_01Args_8_8_8_01_4_00_01Container_01_ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrame.html">AllocateConstFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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="structtvm_1_1ru [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">AllocateConstFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataTypeLegalizer.html">DataTypeLegalizer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="s [...]
-<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_1runtime_1_1IterAdapter.html">IterAdapter</a> (<a class="el" href="n [...]
-<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_1runtime_1_1MapNode_1_1iterator.html"> [...]
-<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_1runtime_1_1Map_1_1iterator.html">Map::iterato [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrame.html">AllocateFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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_1auto__scheduler_1_1It [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">AllocateFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrame.html">DeclBufferFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160 [...]
-<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_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">DeclBufferFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto_ [...]
-<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 valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterKeyHash.html">AttachMa [...]
-<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_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a  [...]
-<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="classtvm_1_1arith_1_1IterMapExprNode.html">IterMapExprNode</a> (<a class="el" href= [...]
-<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_1arith_1_1IterMapResult.html">IterMapResult</a> (<a class="el" href="namespa [...]
-<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_1arith_1_1IterMapResultNode.html">IterMapResultNode</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="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_1arith_1_1IterMark.html">IterMark</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arit [...]
-<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_1arith_1_1IterMarkNode.html">IterMarkNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arit [...]
-<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_1arith_1_1IterSplitExpr.html">IterSplitExpr</a> (<a class="el" href= [...]
-<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_1arith_1_1IterSplitExprNode.html">IterSplitEx [...]
-<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="classtvm_1_1arith_1_1IterSumExpr.html">It [...]
-<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_1arith_1_1IterSumExprNode.html">IterSumExprNode</a> (<a c [...]
-<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="classtvm_1_1tir_1_1IterVar.html">IterVar</a> (<a cl [...]
-<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_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="classtvm_1_1te_1_1IterVarAttr.html">IterVarAttr</a> (<a class="el" href="namespacetvm_1_1te.html [...]
-<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_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_1te_1_1IterVarAttrNode.html">IterVarAttrNode</a> (<a [...]
-<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_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_1IterVarNode.html">IterVarNod [...]
-<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.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_1te_1_1IterVarRelation.html">IterVarRelation</a> (<a class="el" h [...]
-<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_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html">DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a c [...]
+<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_1script_1_1ir__builder_1_1ir_1_1IRModuleFrameNode.html">IRModuleFrameNode</a> (<a [...]
+<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_1IRModu [...]
+<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="structtvm_1_1detail_1_1is__specialized.html">is_specialized</a> (<a class="el" href="namespacetvm_1_1detail.h [...]
+<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="structtvm_1_1detail_1_1is__specialized_3_01Container_3_01Args_8_8_8_01_4_00_01Container_01_ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrame.html">AllocateConstFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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="structtvm_1_1ru [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">AllocateConstFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1DataTypeLegalizer.html">DataTypeLegalizer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="s [...]
+<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_1runtime_1_1IterAdapter.html">IterAdapter</a> (<a class="el" href="n [...]
+<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_1runtime_1_1MapNode_1_1iterator.html"> [...]
+<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_1runtime_1_1Map_1_1iterator.html">Map::iterato [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrame.html">AllocateFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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_1auto__scheduler_1_1It [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">AllocateFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrame.html">DeclBufferFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160 [...]
+<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_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">DeclBufferFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto_ [...]
+<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 valign="top"><a class="el" href="structtvm_1_1auto__scheduler_1_1AttachMapNode_1_1IterKeyHash.html">AttachMa [...]
+<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_1arith_1_1IterMapExpr.html">IterMapExpr</a> (<a  [...]
+<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="classtvm_1_1arith_1_1IterMapExprNode.html">IterMapExprNode</a> (<a class="el" href= [...]
+<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_1arith_1_1IterMapResult.html">IterMapResult</a> (<a class="el" href="namespa [...]
+<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_1arith_1_1IterMapResultNode.html">IterMapResultNode</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="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_1arith_1_1IterMark.html">IterMark</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arit [...]
+<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_1arith_1_1IterMarkNode.html">IterMarkNode</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arit [...]
+<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_1arith_1_1IterSplitExpr.html">IterSplitExpr</a> (<a class="el" href= [...]
+<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_1arith_1_1IterSplitExprNode.html">IterSplitEx [...]
+<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="classtvm_1_1arith_1_1IterSumExpr.html">It [...]
+<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_1arith_1_1IterSumExprNode.html">IterSumExprNode</a> (<a c [...]
+<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="classtvm_1_1tir_1_1IterVar.html">IterVar</a> (<a cl [...]
+<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_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="classtvm_1_1te_1_1IterVarAttr.html">IterVarAttr</a> (<a class="el" href="namespacetvm_1_1te.html [...]
+<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_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_1te_1_1IterVarAttrNode.html">IterVarAttrNode</a> (<a [...]
+<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_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_1IterVarNode.html">IterVarNod [...]
+<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.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_1te_1_1IterVarRelation.html">IterVarRelation</a> (<a class="el" h [...]
+<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_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html">DFPatternFunctor&lt; R(const DFPattern &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a c [...]
 <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_1DFPatternNode.html">DFPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#1 [...]
-</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_1StringObj.html">StringObj</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1metadata_1_1ArrayAccessor.html">ArrayAccessor</a> (<a class="el" href="namespacetvm_1_1runtime_1_1metadata.html">tvm::runtime::metadata</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1auto__scheduler_1_1ProgramB [...]
-<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_1Diagnostic.html">Diagnostic</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td va [...]
-<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_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_1script_1_1printer_1_1LambdaDoc.html">LambdaD [...]
-<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_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_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer [...]
-<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_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_1ir__builder_1_1tir_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> (<a class="el" href [...]
-<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_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_1ir__builder_1_1tir_1_1LaunchThreadFrameNode.ht [...]
+</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_1StringImmNode.html">StringImmNode</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="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_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_1auto__scheduler_1_1ProgramB [...]
+<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_1Diagnostic.html">Diagnostic</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td va [...]
+<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_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_1script_1_1printer_1_1LambdaDoc.html">LambdaD [...]
+<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_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_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer [...]
+<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_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_1ir__builder_1_1tir_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> (<a class="el" href [...]
+<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_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_1ir__builder_1_1tir_1_1LaunchThreadFrameNode.ht [...]
+<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_1DiagnosticRenderer.html">DiagnosticRenderer</a> (<a class="el" href="namespacetvm.html">tvm</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_1rel [...]
 </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_1DiagnosticRenderer.html">DiagnosticRenderer</a> (<a class="el" href="namespacetvm.html">tvm</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_1rel [...]
-<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_1DiagnosticRendererNode.html">DiagnosticRendererNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Layout.html">Layout</a> (<a class="el" href="na [...]
-<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_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_1LayoutAxis.html">LayoutAxis</a> (<a class="el" href="namespacetvm [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AssertFrame.html">AssertFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrsNode.html">DictAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutNode.html">LayoutNode</a> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AssertFrameNode.html">AssertFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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" h [...]
-<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_1tir_1_1LE.html">LE</a> (<a class="el" href="namespacetv [...]
-<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="structtvm_1_1relay_1_1LeakyReluAttrs.html">LeakyReluAttrs</a> (<a class="el" href="namespace [...]
-<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="structtvm_1_1tir_1_1LENode.html">LENode</a> (<a class= [...]
-<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_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1tir [...]
-<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_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1relay. [...]
-<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="classtvm_1_1script_1_1ir__builder_1_1tir_1 [...]
-<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_1script_1_1ir__bui [...]
-<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_1DocStringDoc.html">DocStringDoc</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_ [...]
-<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_1script_1_1printer_1_1DocStringDocNode.html">DocStringDocNode</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_1LetNode.html">LetNode</ [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocVisitor.html">AttrDocVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html">DominatorPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPattern.html">LetPattern</a> (<a class="el" href=" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1AttrError.html">AttrError</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPatternNode.html">LetPatternNode</a> (<a class="el" href="namespacetvm_1_1relay [...]
+<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_1DiagnosticRendererNode.html">DiagnosticRendererNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Layout.html">Layout</a> (<a class="el" href="na [...]
+<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_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_1LayoutAxis.html">LayoutAxis</a> (<a class="el" href="namespacetvm [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AssertFrame.html">AssertFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1DictAttrsNode.html">DictAttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LayoutNode.html">LayoutNode</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AssertFrameNode.html">AssertFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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" h [...]
+<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_1tir_1_1LE.html">LE</a> (<a class="el" href="namespacetv [...]
+<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="structtvm_1_1relay_1_1LeakyReluAttrs.html">LeakyReluAttrs</a> (<a class="el" href="namespace [...]
+<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="structtvm_1_1tir_1_1LENode.html">LENode</a> (<a class= [...]
+<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_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1tir [...]
+<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_1relay_1_1Let.html">Let</a> (<a class="el" href="namespacetvm_1_1relay. [...]
+<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="classtvm_1_1script_1_1ir__builder_1_1tir_1 [...]
+<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_1script_1_1ir__bui [...]
+<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_1DocStringDoc.html">DocStringDoc</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_ [...]
+<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_1script_1_1printer_1_1DocStringDocNode.html">DocStringDocNode</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_1LetNode.html">LetNode</ [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrDocVisitor.html">AttrDocVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPattern.html">DominatorPattern</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPattern.html">LetPattern</a> (<a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1AttrError.html">AttrError</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1DominatorPatternNode.html">DominatorPatternNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1LetPatternNode.html">LetPatternNode</a> (<a class="el" href="namespacetvm_1_1relay [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrExistVisitor.html">AttrExistVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DropoutAttrs.html">DropoutAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmt.html">LetStmt</a> (<a class="el" href="namespacetv [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1TempExprNode.html">TempExprNode</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_1AttrFieldInfo.html">AttrFieldInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a class="el" h [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfoNode.html">AttrFieldInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html">DynExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1support_1_1LinearCongruentialEngine.html">LinearCongruentialEngine</a> (<a clas [...]
+</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_1AttrFieldInfo.html">AttrFieldInfo</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html">DurationNode</a> (<a class="el" href="namespacetvm_1_1runtime_1_1profiling.html">tvm::runtime::profiling</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1LetStmtNode.html">LetStmtNode</a> (<a class="el" h [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1AttrFieldInfoNode.html">AttrFieldInfoNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1DynExpandDimsAttrs.html">DynExpandDimsAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1support_1_1LinearCongruentialEngine.html">LinearCongruentialEngine</a> (<a clas [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AttrFrame.html">AttrFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</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_1script_1_1printer_1_1ListDoc.html">ListDoc</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_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;r&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1TensorAffineTypeNode.html">TensorAffineTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AttrFrameNode.html">AttrFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</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::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="e [...]
-<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_1script_1_1printer_1_1LiteralDoc.html">LiteralDoc</a> (<a class="el" href="namespacetvm_1_ [...]
-<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_1topi_1_1EinsumEquation.html">EinsumEquation</a> (<a class="el" href="namespacetvm_1_1topi.html">tvm::topi</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" hr [...]
-<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_1script_1_1ir__builder_1_1tir_1_1ElseFrame.html">ElseFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Load.h [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1TensorAffineType.html">TensorAffineType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AttrFrameNode.html">AttrFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</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::script::printer</a>)&#160;&#160;&#160;</td><td valign="top"><a class="e [...]
+<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_1script_1_1printer_1_1LiteralDoc.html">LiteralDoc</a> (<a class="el" href="namespacetvm_1_ [...]
+<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_1topi_1_1EinsumEquation.html">EinsumEquation</a> (<a class="el" href="namespacetvm_1_1topi.html">tvm::topi</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" hr [...]
+<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_1script_1_1ir__builder_1_1tir_1_1ElseFrame.html">ElseFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Load.h [...]
 <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_1script_1_1ir__builder_1_1tir_1_1ElseFrameNode.html">ElseFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ti [...]
-<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_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_1auto__scheduler_1_1LocalBuilder.html">LocalBuilder</a> (<a class="el" href="namespacetvm_1_ [...]
+<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_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_1auto__scheduler_1_1LocalBuilder.html">LocalBuilder</a> (<a class="el" href="namespacetvm_1_ [...]
 <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_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_1auto__scheduler_1_1LocalBuilderNode.html">LocalBuilderNode</a> (<a class="el" href="namespacetvm_1_1 [...]
-<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_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_1auto__scheduler_1_1LocalRunner.html">LocalRunner</a> (<a class="el" href="namespacetvm_1_1 [...]
-<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_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_1auto__scheduler_1_1LocalRunnerNode.html">LocalRunnerNode</a> (<a class="el" href="namespacetvm_1_ [...]
-<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="structtvm_1_1relay_1_1ErrorBuilder.html">ErrorBuilder</a> (<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_1LoopRV.html">LoopRV</a> (<a class="el" href="namespacetvm_1_1ti [...]
-<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_1relay_1_1ErrorReporter.html">ErrorReporter</a> (<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_1LoopRVNode.html">LoopRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)& [...]
-<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_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="structtvm_1_1relay_1_1LRNAttrs.html">LRNAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&# [...]
+<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_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_1auto__scheduler_1_1LocalRunner.html">LocalRunner</a> (<a class="el" href="namespacetvm_1_1 [...]
+<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_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_1auto__scheduler_1_1LocalRunnerNode.html">LocalRunnerNode</a> (<a class="el" href="namespacetvm_1_ [...]
+<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="structtvm_1_1relay_1_1ErrorBuilder.html">ErrorBuilder</a> (<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_1LoopRV.html">LoopRV</a> (<a class="el" href="namespacetvm_1_1ti [...]
+<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_1relay_1_1ErrorReporter.html">ErrorReporter</a> (<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_1LoopRVNode.html">LoopRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)& [...]
+<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_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="structtvm_1_1relay_1_1LRNAttrs.html">LRNAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&# [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1AttrRegistryMapContainerMap.html">AttrRegistryMapContainerMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_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_1LT.html">LT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir [...]
-<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_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="classtvm_1_1tir_1_1LTNode.html">LTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;& [...]
+<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_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="classtvm_1_1tir_1_1LTNode.html">LTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;& [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1AttrsNode.html">AttrsNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Executor.html">Executor</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;</div></td> [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReader.html">RecordReader</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_1TensorType.html">TensorType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSEqualVisitor.html">AttrsSEqualVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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_1auto__scheduler_1_1RecordReaderNode.html">RecordReaderNode</a> [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSHashVisitor.html">AttrsSHashVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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_1runtime_1_1Map.html">Map</a> (<a class="el" href="namesp [...]
-<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="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_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm_1_1runtime.ht [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmtNode.html">AttrStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_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_1MapValuePath.html">MapValuePath</a> (<a class="el" href="namespacetvm.html">tvm</a>)&# [...]
-<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_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_1MapValuePathNode.html [...]
-<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_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_1relay_1_1Match.html">Match</a> (<a class="el" href="namespacetvm_1_1rela [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AutoSchedulerLayoutTransformAttrs.html">AutoSchedulerLayoutTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegion.html">MatchBuffer [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html">AvgPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.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_1tir_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el [...]
-<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_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href=" [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_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_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 [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1RecordReader.html">RecordReader</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_1TensorNode.html">TensorNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSEqualVisitor.html">AttrsSEqualVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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_1auto__scheduler_1_1RecordReaderNode.html">RecordReaderNode</a> [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1detail_1_1AttrsSHashVisitor.html">AttrsSHashVisitor</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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_1runtime_1_1Map.html">Map</a> (<a class="el" href="namesp [...]
+<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="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_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm_1_1runtime.ht [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1AttrStmtNode.html">AttrStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_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_1MapValuePath.html">MapValuePath</a> (<a class="el" href="namespacetvm.html">tvm</a>)&# [...]
+<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_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_1MapValuePathNode.html [...]
+<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_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_1relay_1_1Match.html">Match</a> (<a class="el" href="namespacetvm_1_1rela [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AutoSchedulerLayoutTransformAttrs.html">AutoSchedulerLayoutTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprFunctor.html">ExprFunctor</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1MatchBufferRegion.html">MatchBuffer [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1AvgPool1DAttrs.html">AvgPool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1ExprFunctor.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_1tir_1_1MatchBufferRegionNode.html">MatchBufferRegionNode</a> (<a class="el [...]
+<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_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html">ExprFunctor&lt; R(const Expr &amp;n, Args...)&gt;</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href=" [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_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_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 rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ExprMutator.html">ExprMutator</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html">MatrixSetDiagAttrs</a> (<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_1RefRead.html">RefRead</a> (<a class="el" href="namespacetvm_1_ [...]
-<tr><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_1tir_1_1Max.html">Max</a> (<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_1RefReadNode.html">RefReadNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay< [...]
-<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_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_1tir_1_1MaxNode.html">MaxNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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="structtvm_1_1relay_1_1MaxPool1DAttrs.html">MaxPool1DAttrs</a> (<a class="el" href= [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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_1MaxPool2DAttrs.html">MaxPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay< [...]
-<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_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_1MaxPool3DAttrs.html">MaxPool3DAttrs</a> (<a class="el" href= [...]
-<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_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_1meta__schedule_1_1MeasureCallback.html">MeasureCallback</a> (<a class= [...]
-<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_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_1auto__scheduler_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el" href="namespacetvm_1_1auto__schedu [...]
-<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_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_1meta__schedule_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class="el" href="namespacetv [...]
-<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_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_1auto__scheduler_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class="el" href="namespacetvm_1_1a [...]
-<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_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_1meta__schedule_1_1MeasureCandidate.html">MeasureCandidate</a> (<a class="el" href="namespacetvm_1_1meta__sc [...]
-<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="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_1meta__schedule_1_1MeasureCandidateNode.html">MeasureCandidateNode</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 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_1auto__scheduler_1_1MeasureInput. [...]
-<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="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_1auto__scheduler_1_1MeasureInputNode.htm [...]
+</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="structtvm_1_1relay_1_1MatrixSetDiagAttrs.html">MatrixSetDiagAttrs</a> (<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_1RefRead.html">RefRead</a> (<a class="el" href="namespacetvm_1_ [...]
+<tr><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_1tir_1_1Max.html">Max</a> (<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_1RefReadNode.html">RefReadNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay< [...]
+<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_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_1tir_1_1MaxNode.html">MaxNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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="structtvm_1_1relay_1_1MaxPool1DAttrs.html">MaxPool1DAttrs</a> (<a class="el" href= [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_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_1MaxPool2DAttrs.html">MaxPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay< [...]
+<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_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_1MaxPool3DAttrs.html">MaxPool3DAttrs</a> (<a class="el" href= [...]
+<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_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_1meta__schedule_1_1MeasureCallback.html">MeasureCallback</a> (<a class= [...]
+<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_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_1auto__scheduler_1_1MeasureCallback.html">MeasureCallback</a> (<a class="el" href="namespacetvm_1_1auto__schedu [...]
+<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_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_1meta__schedule_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class="el" href="namespacetv [...]
+<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_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_1auto__scheduler_1_1MeasureCallbackNode.html">MeasureCallbackNode</a> (<a class="el" href="namespacetvm_1_1a [...]
+<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_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_1meta__schedule_1_1MeasureCandidate.html">MeasureCandidate</a> (<a class="el" href="namespacetvm_1_1meta__sc [...]
+<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="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_1meta__schedule_1_1MeasureCandidateNode.html">MeasureCandidateNode</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 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_1auto__scheduler_1_1MeasureInput. [...]
+<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="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_1auto__scheduler_1_1MeasureInputNode.htm [...]
 <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 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_1auto__scheduler_1_1MeasureResult.html">MeasureResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ReorderStepNode.html">ReorderStepNode</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_1T [...]
-<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_1auto__scheduler_1_1MeasureResultNode.html">MeasureResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html">RepeatAtt [...]
-<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_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_1MemoryInfo.html">MemoryInfo</a> (<a class=" [...]
-<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="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_1MemoryInfoNode.html">Memory [...]
-<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_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_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el"  [...]
-<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="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="structMemoryManagerInterface.html">MemoryManagerInterface</a>&#160;&#160; [...]
-<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="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="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</a> (<a class="e [...]
-<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="structtvm_1_1relay_1_1FixedPointMultiplyPerAxisAttrs.html">FixedPointMultiplyPerAxisAttrs</a> (<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_1Metadata.html">M [...]
-<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_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_1runtime_1_1metadata_1_1MetadataArray.html">MetadataArray</a> (<a class="el" href="namespa [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrame.html">BlockFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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_1runtime_1_1metadata_1_1MetadataArrayNode.html">Met [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode.html">BlockFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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_1runtime_1_1metadata_1_1MetadataBas [...]
-<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_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_1runtime_1_1metadata_1_1MetadataBaseNode.html">MetadataBaseNode</a> (<a class="el" href="namespacetvm_1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrame.html">BlockInitFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDivNode.html">FloorDivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1meta [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrameNode.html">BlockInitFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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="structtvm_1_1relay_1_1MetaS [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockNode.html">BlockNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorModNode.html">FloorModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a> (<a class="el" href="namespac [...]
-<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_1profiling_1_1MetricCollecto [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealizeNode.html">BlockRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html">FollowFusedSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Min.html">Min</ [...]
-<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_1MinNode.html">MinNode</a> (<a class="el" href="name [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRVNode.html">BlockRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html">FollowSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html">MirrorPadAt [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScope.html">BlockScope</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1For.html">For</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MissingArrayElementPath.html">MissingArrayElementPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160 [...]
-<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="classtvm_1_1MissingArrayElementPathNode.html">MissingArrayElementPath [...]
-<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="classtvm_1_1MissingMapEntryPath.html">MissingMapEntryPath</a> (<a class="el" href="namespacetvm.html [...]
-<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_1ir__builder_1_1tir_1_1ForFrame.html">ForFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MissingMapEntryPathNode.html">Mis [...]
-<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_1script_1_1ir__builder_1_1tir_1_1ForFrameNode.html">ForFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="c [...]
-<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_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_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class="el" href="namespacetvm_1_1relay.h [...]
-<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_1script_1_1printer_1_1Frame.html">Frame</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_1Mod.html">Mod</a> (<a class="el" href=" [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1tir_1_1ModNode.html">ModNode</a> (<a class="el" href [...]
-<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_1script_1_1printer_1_1FrameNode.html">FrameNode</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_1arith_1_1ModularSet.html">ModularSet< [...]
-<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_1runtime_1_1micro__rpc_1_1Framer.html">Framer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Modular [...]
-<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_1runtime_1_1ShapeTupleObj_1_1FromStd.html">ShapeTupleObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Mod [...]
-<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_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_1Module.html">Module</a> ( [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoad.html">BufferLoad</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Function.html">Function</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html">ModuleNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">t [...]
-<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_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="classtvm_1_1tir_1_1Mul.html">Mul</a> (<a class="el" href="n [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferNode.html">BufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1MulNode.html">MulNode</a> (<a class="el" [...]
-<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_1relay_1_1FunctionNode.html">FunctionNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html">MultiBoxPriorAttrs</a> (<a class="el" href="na [...]
-<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_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_1MultiBoxTransformLocAttrs.html">MultiBoxTransformLocAttrs [...]
-<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_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="structtvm_1_1relay_1_1MultinomialAttrs.html">MultinomialAttrs</a> (<a class="el"  [...]
-<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_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_1meta__schedule_1_1Mutator.html">Mutator</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::m [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1MeasureResult.html">MeasureResult</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ReorderStepNode.html">ReorderStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__sche [...]
+<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_1auto__scheduler_1_1MeasureResultNode.html">MeasureResultNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1RepeatAttrs.html">RepeatAtt [...]
+<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_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_1MemoryInfo.html">MemoryInfo</a> (<a class=" [...]
+<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="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_1MemoryInfoNode.html">Memory [...]
+<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_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_1runtime_1_1vm_1_1MemoryManager.html">MemoryManager</a> (<a class="el"  [...]
+<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="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="structMemoryManagerInterface.html">MemoryManagerInterface</a>&#160;&#160; [...]
+<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="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="structtvm_1_1relay_1_1MeshgridAttrs.html">MeshgridAttrs</a> (<a class="e [...]
+<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="structtvm_1_1relay_1_1FixedPointMultiplyPerAxisAttrs.html">FixedPointMultiplyPerAxisAttrs</a> (<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_1Metadata.html">M [...]
+<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_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_1runtime_1_1metadata_1_1MetadataArray.html">MetadataArray</a> (<a class="el" href="namespa [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrame.html">BlockFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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_1runtime_1_1metadata_1_1MetadataArrayNode.html">Met [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode.html">BlockFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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_1runtime_1_1metadata_1_1MetadataBas [...]
+<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_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_1runtime_1_1metadata_1_1MetadataBaseNode.html">MetadataBaseNode</a> (<a class="el" href="namespacetvm_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrame.html">BlockInitFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorDivNode.html">FloorDivNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1meta [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrameNode.html">BlockInitFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::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="structtvm_1_1relay_1_1MetaS [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockNode.html">BlockNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1FloorModNode.html">FloorModNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1profiling_1_1MetricCollector.html">MetricCollector</a> (<a class="el" href="namespac [...]
+<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_1profiling_1_1MetricCollecto [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRealizeNode.html">BlockRealizeNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowFusedSplitStepNode.html">FollowFusedSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Min.html">Min</ [...]
+<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_1MinNode.html">MinNode</a> (<a class="el" href="name [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockRVNode.html">BlockRVNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FollowSplitStepNode.html">FollowSplitStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MirrorPadAttrs.html">MirrorPadAt [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BlockScope.html">BlockScope</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1For.html">For</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MissingArrayElementPath.html">MissingArrayElementPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160 [...]
+<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="classtvm_1_1MissingArrayElementPathNode.html">MissingArrayElementPath [...]
+<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="classtvm_1_1MissingMapEntryPath.html">MissingMapEntryPath</a> (<a class="el" href="namespacetvm.html [...]
+<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_1ir__builder_1_1tir_1_1ForFrame.html">ForFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1MissingMapEntryPathNode.html">Mis [...]
+<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_1script_1_1ir__builder_1_1tir_1_1ForFrameNode.html">ForFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="c [...]
+<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_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_1relay_1_1MixedModeVisitor.html">MixedModeVisitor</a> (<a class="el" href="namespacetvm_1_1relay.h [...]
+<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_1script_1_1printer_1_1Frame.html">Frame</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_1Mod.html">Mod</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm [...]
+<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_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_1tir_1_1ModNode.html">Mo [...]
+<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_1script_1_1printer_1_1FrameNode.html">FrameNode</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_1arith_1_1ModularSet.html">ModularSet< [...]
+<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_1runtime_1_1micro__rpc_1_1Framer.html">Framer</a> (<a class="el" href="namespacetvm_1_1runtime_1_1micro__rpc.html">tvm::runtime::micro_rpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Modular [...]
+<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_1runtime_1_1ShapeTupleObj_1_1FromStd.html">ShapeTupleObj::FromStd</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_1Mod [...]
+<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_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_1Module.html">Module</a> ( [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferLoad.html">BufferLoad</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Function.html">Function</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html">ModuleNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">t [...]
+<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_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="classtvm_1_1tir_1_1Mul.html">Mul</a> (<a class="el" href="n [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1tir_1_1BufferNode.html">BufferNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1MulNode.html">MulNode</a> (<a class="el" [...]
+<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_1relay_1_1FunctionNode.html">FunctionNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1MultiBoxPriorAttrs.html">MultiBoxPriorAttrs</a> (<a class="el" href="na [...]
+<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_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_1MultiBoxTransformLocAttrs.html">MultiBoxTransformLocAttrs [...]
+<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_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="structtvm_1_1relay_1_1MultinomialAttrs.html">MultinomialAttrs</a> (<a class="el"  [...]
+<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_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_1meta__schedule_1_1Mutator.html">Mutator</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::m [...]
 <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_1FuncTypeNode.html">FuncTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1MutatorNode.html">MutatorNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html"> [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1TypeCall.html">TypeCall</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
+</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_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_1te_1_1Fuse.html">Fuse</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;n&#160;&#1 [...]
-</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_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_1te_1_1ScanOp.html">ScanOp</a> (<a class="el" href="namespacetvm_1_1te.html">tv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInput.html">BuilderInput</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1script_1_1ir__builder_1_1detai [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html">BuilderInputNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html">FuseStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NameSupply.htm [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1TypeCall.html">TypeCall</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_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_1te_1_1ScanOp.html">ScanOp</a> (<a class="el" href="namespacetvm_1_1te.html">tv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInput.html">BuilderInput</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1script_1_1ir__builder_1_1detai [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html">BuilderInputNode</a> (<a class="el" href="namespacetvm_1_1meta__schedule.html">tvm::meta_schedule</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1FuseStepNode.html">FuseStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1NameSupply.htm [...]
 <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 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_1NameSupplyNode.html">NameSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html">ScatterAddAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypeDataNode.html">TypeDataNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160; [...]
-<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_1runtime_1_1NDArray.html">NDArray</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_1ScatterAttrs.html">ScatterAttrs</a> (<a cla [...]
-<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="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="structtvm_1_1NDArrayContainerTrait.html">NDArrayContai [...]
-<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="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="structtvm_1_1relay_1_1NdarraySizeAttrs.html">NdarraySizeAtt [...]
-<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_1GE.html">GE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html">NE</a> (<a class="el" href="namespacetvm_1_1tir.html [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1NameSupplyNode.html">NameSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html">ScatterAddAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1TypeData.html">TypeData</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&# [...]
+<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_1runtime_1_1NDArray.html">NDArray</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_1ScatterAttrs.html">ScatterAttrs</a> (<a cla [...]
+<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="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="structtvm_1_1NDArrayContainerTrait.html">NDArrayContai [...]
+<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="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="structtvm_1_1relay_1_1NdarraySizeAttrs.html">NdarraySizeAtt [...]
+<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_1GE.html">GE</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NE.html">NE</a> (<a class="el" href="namespacetvm_1_1tir.html [...]
 <tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classtvm_1_1GenericFunc.html">GenericFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NENode.html">NENode</a> (<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_1ScheduleNode.html">ScheduleNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</t [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1GenericFuncNode.html">GenericFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html">NLLLossAttrs</a> (<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_1ScheduleNode.html">ScheduleNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm:: [...]
-<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_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_1NodeFunctor.html">NodeFunctor</a> (<a class="el" href="namespace [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html">CacheReadStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_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_1NodeFunctor_3_01R_07con [...]
-<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="structtvm_1_1relay_1_1GlobalPool2DAttrs.html">GlobalPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAt [...]
-<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_1GlobalTypeVar.html">GlobalTypeVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html">NormalAttrs</a> (<a class="el"  [...]
-<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_1GlobalTypeVarNode.html">GlobalTypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Not.html">Not</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td va [...]
-<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="classGlobalVar.html">GlobalVar</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NotNode.html">NotNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1print [...]
-<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_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_1NullOptType.html">NullOptType</a> (<a class="el" href="namespacetvm_1_1r [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1GenericFunc.html">GenericFunc</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NENode.html">NENode</a> (<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_1Schedule.html">Schedule</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&#160;&#160;&#160;</td><td va [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1GenericFuncNode.html">GenericFuncNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html">NLLLossAttrs</a> (<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_1ScheduleNode.html">ScheduleNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm:: [...]
+<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_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_1NodeFunctor.html">NodeFunctor</a> (<a class="el" href="namespace [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1CacheReadStepNode.html">CacheReadStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_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_1NodeFunctor_3_01R_07con [...]
+<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="structtvm_1_1relay_1_1GlobalPool2DAttrs.html">GlobalPool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NonMaximumSuppressionAt [...]
+<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_1GlobalTypeVar.html">GlobalTypeVar</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1relay_1_1NormalAttrs.html">NormalAttrs</a> (<a class="el"  [...]
+<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_1GlobalTypeVarNode.html">GlobalTypeVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Not.html">Not</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td va [...]
+<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="classGlobalVar.html">GlobalVar</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1NotNode.html">NotNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1script_1_1print [...]
+<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_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_1NullOptType.html">NullOptType</a> (<a class="el" href="namespacetvm_1_1r [...]
 <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_1GlobalVarNode.html">GlobalVarNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_o"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1SearchCallback.html">SearchCallback</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1detail_1_1TypeName_3_01int64__t_01_4.html">TypeName&lt; int64_t &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td></tr>
-<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_1GlobalVarSupply.html">GlobalVarSupply</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_1SearchCallbackNode.html">SearchCallback [...]
-<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_1GlobalVarSupplyNode.html">GlobalVarSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html">ObjAllocatorBase</a> (<a class="el" href="nam [...]
-<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_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="classtvm_1_1runtime_1_1Object.html">Object</a> (<a class="el" href="n [...]
-<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="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_1ObjectEqual.html">ObjectEqual</a> (<a class="el" href="namespacetv [...]
-<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="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_1ObjectHash.html">ObjectHash</a> (<a class="el" href="namespace [...]
-<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_1tir_1_1GT.html">GT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ObjectPath.html">ObjectPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GTNode.html">GTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ObjectPathNode.html">ObjectPathNode</a> (<a class="el" href="namespacetvm.html">t [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1meta__schedule_1_1ScopedTimer.html">ScopedTimer</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_1detail_1_1TypeName_3_01int_01_4.html">TypeName&lt; int &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td></tr>
+<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_1GlobalVarSupply.html">GlobalVarSupply</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_1SearchCallback.html">SearchCallback</a> [...]
+<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_1GlobalVarSupplyNode.html">GlobalVarSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1ObjAllocatorBase.html">ObjAllocatorBase</a> (<a class="el" href="nam [...]
+<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_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="classtvm_1_1runtime_1_1Object.html">Object</a> (<a class="el" href="n [...]
+<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="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_1ObjectEqual.html">ObjectEqual</a> (<a class="el" href="namespacetv [...]
+<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="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_1ObjectHash.html">ObjectHash</a> (<a class="el" href="namespace [...]
+<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_1tir_1_1GT.html">GT</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ObjectPath.html">ObjectPath</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1GTNode.html">GTNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1ObjectPathNode.html">ObjectPathNode</a> (<a class="el" href="namespacetvm.html">t [...]
 <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 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_1ObjectPathPair.html">ObjectPathPair</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_1SearchTask.html">SearchTask</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_1TypeReporter.html">TypeReporter</a> (<a class="el" href="namespacetvm.ht [...]
-<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_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_1SearchTaskNode.html">SearchTaskNode</a> (<a class="el" href="namespacetvm_1_ [...]
-<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_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_1runtime_1_1ObjectPtr.html">ObjectPtr [...]
-<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_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="structtvm_1_1runtime_1_1ObjectPtrEqual.html">ObjectPtrEqual</a> (<a class="el" href="namespacetvm_1_1runtime [...]
-<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_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="structtvm_1_1runtime_1_1ObjectPtrHash.html">ObjectPtrHash</a> (<a  [...]
-<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="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="classt [...]
+</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="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html">SearchStrategyNode</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_1TypeRelationNode.html">TypeRelationNode</a> (<a class="el"  [...]
+<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_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_1SearchTask.html">SearchTask</a> (<a class="el" href="namespacetvm_1_1auto__s [...]
+<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_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_1runtime_1_1ObjectPtr.html">ObjectPtr [...]
+<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_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="structtvm_1_1runtime_1_1ObjectPtrEqual.html">ObjectPtrEqual</a> (<a class="el" href="namespacetvm_1_1runti [...]
+<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_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="structtvm_1_1runtime_1_1ObjectPtrHash.html">ObjectPtrHash</a> (<a cl [...]
+<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="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="classt [...]
+<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="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="structtvm_1_1runtime_1_1ObjectTypeChecker.html">ObjectTy [...]
 </td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1Clause.html">Clause</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="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="structtvm_1_1runtime_1_1ObjectTypeChecker.html">ObjectTy [...]
-<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_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="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01 [...]
-<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_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="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_0 [...]
-<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_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="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">t [...]
-<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_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="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el" href="namespacetvm_1_1rel [...]
+<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_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="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Array_3_01T_01 [...]
+<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_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="structtvm_1_1runtime_1_1ObjectTypeChecker_3_01Map_3_0 [...]
+<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_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="structtvm_1_1relay_1_1OnDeviceAttrs.html">OnDeviceAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">t [...]
+<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_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="structtvm_1_1relay_1_1OneHotAttrs.html">OneHotAttrs</a> (<a class="el" href="namespacetvm_1_1rel [...]
 <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 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_1Op.html">Op</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmtNode.html">SeqStmtNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1UnknownAttributeAccessPathNode.html">UnknownAttributeAccessPathNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#1 [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CommentDoc.html">CommentDoc</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_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1SEqualHandlerDefault.html">SEqualHandlerDefault</a> (<a class="el" href="names [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CommentDocNode.html">CommentDocNode</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_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_1te_1_1Operation.html">Operation</a> (<a class="el" href="na [...]
-<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_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_1script_1_1printer_1_1OperationDoc.html">OperationDoc</a> (<a clas [...]
+</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="classtvm_1_1tir_1_1SeqStmt.html">SeqStmt</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</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_1script_1_1printer_1_1CommentDoc.html">CommentDoc</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_1OpAttrMap.html">OpAttrMap</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1SeqStmtNode.html">SeqStmtNode</a> (<a class="el" href="namespacetvm_1_1 [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1script_1_1printer_1_1CommentDocNode.html">CommentDocNode</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_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_1te_1_1Operation.html">Operation</a> (<a class="el" href="na [...]
+<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_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_1script_1_1printer_1_1OperationDoc.html">OperationDoc</a> (<a clas [...]
+<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_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_1script_1_1printer_1_1OperationDocNode.html">Opera [...]
 </td></tr>
-<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_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_1script_1_1printer_1_1OperationDocNode.html">Opera [...]
-<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_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_1te_1_1OperationNode.html">OperationNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&# [...]
-<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_1If.html">If</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html">OpImplementation</a> (<a class="el" href="namespacetvm_1_1relay.html">tv [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CompileError.html">CompileError</a> (<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_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_1relay_1_1OpImplementationNode.html">OpImplementationNode< [...]
-<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_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_1OpNode.html">OpNode</a> (<a class="el" href="n [...]
-<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_1script_1_1ir__builder_1_1tir_1_1IfFrame.html">IfFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="clas [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_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="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrameNode.html">IfFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAG.html">ComputeDAG</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1relay_1_1OpSpecializationNode.html">OpSpecializationNode</a> (<a [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html">ComputeDAGNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1relay_1_1OpStrategy.html">OpStrategy</a> (<a class [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStep.html">ComputeInlineStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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="classtvm_1_1relay_1_1OpStrategyNode.html">OpStra [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html">ComputeInlineStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_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="classtvm_1_1runtime_1_1Optional.html">Optional</a> ( [...]
-<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_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="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160 [...]
-<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="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="classtvm_1_1tir_1_1OrNode.html">OrNode</a> (<a class="el" href="namespacetvm_1_1tir. [...]
+<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_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_1te_1_1OperationNode.html">OperationNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)&# [...]
+<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_1If.html">If</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1OpImplementation.html">OpImplementation</a> (<a class="el" href="namespacetvm_1_1relay.html">tv [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1relay_1_1CompileError.html">CompileError</a> (<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_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_1relay_1_1OpImplementationNode.html">OpImplementationNode< [...]
+<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_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_1OpNode.html">OpNode</a> (<a class="el" href="n [...]
+<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_1script_1_1ir__builder_1_1tir_1_1IfFrame.html">IfFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="clas [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_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="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrameNode.html">IfFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html">tvm::script::ir_builder::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAG.html">ComputeDAG</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1relay_1_1OpSpecializationNode.html">OpSpecializationNode</a> (<a [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeDAGNode.html">ComputeDAGNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1relay_1_1OpStrategy.html">OpStrategy</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStep.html">ComputeInlineStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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="classtvm_1_1relay_1_1OpStrategyNode.html">OpStra [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeInlineStepNode.html">ComputeInlineStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_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="classtvm_1_1runtime_1_1Optional.html">Optional</a> ( [...]
+<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_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="classtvm_1_1tir_1_1Or.html">Or</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160 [...]
+<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="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="classtvm_1_1tir_1_1OrNode.html">OrNode</a> (<a class="el" href="namespacetvm_1_1tir. [...]
 <tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStep.html">ComputeRootStep</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_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 rowspan="2" valign="bottom"><a name=" [...]
-</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1ShuffleNode.html">ShuffleNode</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1VirtualDeviceCache.html">VirtualDeviceCache</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html">ComputeRootStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_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_1SignaturePri [...]
-<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="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html">ImplSHashReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFun [...]
-<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="structtvm_1_1detail_1_1ImplVisitAttrs.html">ImplVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html">PackedFuncObj</a> (<a class="el" href="namespa [...]
-<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_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_1runtime_1_1PackedFuncSubObj.html">PackedFuncSubObj</a> ( [...]
-<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_1IncompleteType.html">IncompleteType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html" [...]
-<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_1IncompleteTypeNode.html">IncompleteTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</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="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_1IndexDataTypeNormalizer.html">IndexDataTypeNormalizer</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">PackedFuncValueC [...]
+</td><td valign="top"><a class="el" href="classtvm_1_1tir_1_1Shuffle.html">Shuffle</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1VirtualDevice.html">VirtualDevice</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classtvm_1_1auto__scheduler_1_1ComputeRootStepNode.html">ComputeRootStepNode</a> (<a class="el" href="namespacetvm_1_1auto__scheduler.html">tvm::auto_scheduler</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_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="classtvm_1_1tir_1_1ShuffleNode.html" [...]
+<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="structtvm_1_1detail_1_1ImplSHashReduce_3_01T_00_01true_01_4.html">ImplSHashReduce&lt; T, true &gt;</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFun [...]
+<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="structtvm_1_1detail_1_1ImplVisitAttrs.html">ImplVisitAttrs</a> (<a class="el" href="namespacetvm_1_1detail.html">tvm::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1PackedFuncObj.html">PackedFuncObj</a> (<a class="el" href="namespa [...]
+<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_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_1runtime_1_1PackedFuncSubObj.html">PackedFuncSubObj</a> ( [...]
+<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_1IncompleteType.html">IncompleteType</a> (<a class="el" href="namespacetvm.html">tvm</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter.html" [...]
+<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_1IncompleteTypeNode.html">IncompleteTypeNode</a> (<a class="el" href="namespacetvm.html">tvm</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="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_1IndexDataTypeNormalizer.html">IndexDataTypeNormalizer</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">PackedFuncValueC [...]
+<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_1IndexDataTypeRewriter.html">IndexDataTypeRewriter</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html">PackedFuncVa [...]
 </td></tr>
-<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_1IndexDataTypeRewriter.html">IndexDataTypeRewriter</a> (<a class="el" href="namespacetvm_1_1tir.html">tvm::tir</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Bool_01_4.html">PackedFuncVa [...]
-<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_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="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Integ [...]
-<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_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="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1t [...]
-<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_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_1runtime_1_1micro__rpc_1_1PacketFieldSizeBytes.html">PacketFieldSizeBytes</a> (<a clas [...]
-<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_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="structtvm_1_1relay_1_1PadAttrs.html">PadAttrs</a> (<a class="el" href="namespacet [...]
-<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="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_1Pass.html">Pass</a> (<a class="el" href="namespacetvm_1_1transform.html">tvm::tran [...]
-<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_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_1transform_1_1PassContext.html">PassContext</a> (<a class="el" href="nam [...]
-<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="structtvm_1_1relay_1_1InstanceNormAttrs.html">InstanceNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html">PassContextNode</a> (<a class [...]
-<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_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_1transform_1_1PassInfo.html">PassInfo</a> (<a class="el" href="names [...]
-<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="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_1transform_1_1PassInfoNode.html">PassInfoNode</ [...]
-<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_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_1instrument_1_1PassInstrument.html">PassInstrument</a> (<a class="el [...]
-<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_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_1instrument_1_1PassInstrumentNode.html">PassInstrumentNode</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_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_1transform_1_1PassNode.html">PassNode</a> (<a class="el" href="namespacetvm_1_1tr [...]
-<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_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_1Pattern.html">Pattern</a> (<a class="el" href="namespacetvm_ [...]
-<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_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_1PatternConstructor.html">PatternConstructor</a> ( [...]
-<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">NDArray::Container</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_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_1PatternConstructorNode.html">Pattern [...]
-<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_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_1PatternFunctor.htm [...]
-<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_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_1PatternFunctor_3_01R_07const_01Pattern_ [...]
-<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_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_1PatternMutator.html">PatternMutator</a> (<a class="el" href="namespacetvm_1_1relay.htm [...]
-<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_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_1PatternNode.html">PatternNode</a> (<a class="el" href="na [...]
+<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_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="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_01tvm_1_1Integ [...]
+<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_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="structtvm_1_1runtime_1_1PackedFuncValueConverter_3_1_1t [...]
+<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_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_1runtime_1_1micro__rpc_1_1PacketFieldSizeBytes.html">PacketFieldSizeBytes</a> (<a clas [...]
+<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_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="structtvm_1_1relay_1_1PadAttrs.html">PadAttrs</a> (<a class="el" href="namespacet [...]
+<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="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_1Pass.html">Pass</a> (<a class="el" href="namespacetvm_1_1transform.html">tvm::tran [...]
+<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_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_1transform_1_1PassContext.html">PassContext</a> (<a class="el" href="nam [...]
+<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="structtvm_1_1relay_1_1InstanceNormAttrs.html">InstanceNormAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html">PassContextNode</a> (<a class [...]
+<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_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_1transform_1_1PassInfo.html">PassInfo</a> (<a class="el" href="names [...]
+<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="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_1transform_1_1PassInfoNode.html">PassInfoNode</ [...]
+<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_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_1instrument_1_1PassInstrument.html">PassInstrument</a> (<a class="el [...]
+<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_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_1instrument_1_1PassInstrumentNode.html">PassInstrumentNode</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_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_1transform_1_1PassNode.html">PassNode</a> (<a class="el" href="namespacetvm_1_1tr [...]
+<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_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_1Pattern.html">Pattern</a> (<a class="el" href="namespacetvm_ [...]
+<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_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_1PatternConstructor.html">PatternConstructor</a> ( [...]
+<tr><td valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray_1_1Container.html">NDArray::Container</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1arith_1_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_1PatternConstructorNode.html">Pattern [...]
+<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_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_1PatternFunctor.htm [...]
+<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_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_1PatternFunctor_3_01R_07const_01Pattern_ [...]
+<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_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_1PatternMutator.html">PatternMutator</a> (<a class="el" href="namespacetvm_1_1relay.htm [...]
+<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_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_1PatternNode.html">PatternNode</a> (<a class="el" href="na [...]
+<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_1relay_1_1InterpreterClosureObj.html">InterpreterClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html">PatternTuple</ [...]
 </td></tr>
-<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_1relay_1_1InterpreterClosureObj.html">InterpreterClosureObj</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTuple.html">PatternTuple</ [...]
-<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_1arith_1_1IntGroupBounds.html">IntGroupBounds</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTupleNode.html">PatternTupleNode</a> (<a c [...]
-<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html">Conv2DWinogradNNPACKWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1relay_1_ [...]
-<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_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_1relay_1_1PatternVarNode.html">PatternVarNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&# [...]
+<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_1arith_1_1IntGroupBounds.html">IntGroupBounds</a> (<a class="el" href="namespacetvm_1_1arith.html">tvm::arith</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_1relay_1_1PatternTupleNode.html">PatternTupleNode</a> (<a c [...]
+<tr><td valign="top"><a class="el" href="structtvm_1_1relay_1_1Conv2DWinogradNNPACKWeightTransformAttrs.html">Conv2DWinogradNNPACKWeightTransformAttrs</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classtvm_1_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_1relay_1_ [...]
+<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_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_1relay_1_1PatternVarNode.html">PatternVarNode</a> (<a class="el" href="namespacetvm_1_1relay.html">tvm::relay</a>)&# [...]
 <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 fa14f511f2..4e8b864724 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 ebd63d780e..4237b0cc91 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"/>
-<!-- Node282 -->
+<!-- Node284 -->
 <g id="node1" class="node">
-<title>Node282</title>
+<title>Node284</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>
-<!-- Node283 -->
+<!-- Node285 -->
 <g id="node2" class="node">
-<title>Node283</title>
+<title>Node285</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>
-<!-- Node283&#45;&gt;Node282 -->
+<!-- Node285&#45;&gt;Node284 -->
 <g id="edge1" class="edge">
-<title>Node283&#45;&gt;Node282</title>
+<title>Node285&#45;&gt;Node284</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>
-<!-- Node283&#45;&gt;Node283 -->
+<!-- Node285&#45;&gt;Node285 -->
 <g id="edge2" class="edge">
-<title>Node283&#45;&gt;Node283</title>
+<title>Node285&#45;&gt;Node285</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 40aa8ecfa7..02251af5be 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"/>
-<!-- Node687 -->
+<!-- Node689 -->
 <g id="node1" class="node">
-<title>Node687</title>
+<title>Node689</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>
-<!-- Node687&#45;&gt;Node687 -->
+<!-- Node689&#45;&gt;Node689 -->
 <g id="edge1" class="edge">
-<title>Node687&#45;&gt;Node687</title>
+<title>Node689&#45;&gt;Node689</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_a.html b/docs/reference/api/doxygen/functions_a.html
index 67b60480e2..1dd60f9158 100644
--- a/docs/reference/api/doxygen/functions_a.html
+++ b/docs/reference/api/doxygen/functions_a.html
@@ -507,7 +507,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1AttributeAccessPathNode.html#a8f1bf5db4a1495e454b196856fd5cf21">tvm::AttributeAccessPathNode</a>
 </li>
 <li>AttrInitEntry()
-: <a class="el" href="structtvm_1_1detail_1_1AttrInitEntry.html#af07c4a3a8f4663ac03ae238ab7b9d791">tvm::detail::AttrInitEntry&lt; T &gt;</a>
+: <a class="el" href="structtvm_1_1detail_1_1AttrInitEntry.html#ad68ac350b0d49e97caab8443cc8fb08b">tvm::detail::AttrInitEntry&lt; T &gt;</a>
 </li>
 <li>AttrInitVisitor()
 : <a class="el" href="classtvm_1_1detail_1_1AttrInitVisitor.html#ac3c800c9249fee195db2a5fa473fe960">tvm::detail::AttrInitVisitor&lt; FFind &gt;</a>
@@ -622,6 +622,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html#afd0a3040ec86dc3d2b6b28ac6170425e">tvm::relay::ScanopAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html#a641f7409b6194a04a6a9889fe19dc3fb">tvm::relay::ScatterAddAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html#a5ada9836e19157a53637c14f9318fb64">tvm::relay::ScatterAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html#adf2d31a6a3a1e4f1acff8e8d13d8a5fe">tvm::relay::ScatterElementsAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html#a7273f14f80b4dbaf455b47d7a2f6ad46">tvm::relay::SequenceMaskAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SlidingWindowAttrs.html#aa565b6e06fb72698e900dcb81721a8fa">tvm::relay::SlidingWindowAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html#a0416be34a3c1df62133a06cdec50f6c5">tvm::relay::SoftmaxAttrs</a>
diff --git a/docs/reference/api/doxygen/functions_func_t.html b/docs/reference/api/doxygen/functions_func_t.html
index 50df7497bf..03166e374e 100644
--- a/docs/reference/api/doxygen/functions_func_t.html
+++ b/docs/reference/api/doxygen/functions_func_t.html
@@ -350,6 +350,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html#a3c6d3993844391992ebe9702a2f1b87b">tvm::relay::ScanopAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html#aa266a70026db0feb88f57a08fb4d3303">tvm::relay::ScatterAddAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html#a848f0532864ed09ed9a4e954d4d0b627">tvm::relay::ScatterAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html#ac29909894c721bd564c93bd334f3bb0b">tvm::relay::ScatterElementsAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html#a8eba0ff6fb3ce4c6e18c7d541f9f428f">tvm::relay::ScatterNDAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html#a9e52eba5524bf204f0596f0a3e60390c">tvm::relay::SearchSortedAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html#a079744827d8dd377fd0d076d93b9cc60">tvm::relay::SequenceMaskAttrs</a>
@@ -1208,7 +1209,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>
@@ -1217,7 +1218,7 @@ $(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#ac4a3850c0989e7c2d5cd8e0f096d0997">tvm::runtime::TVMRetValue</a>
@@ -1249,7 +1250,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">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#afd8ee9dd9648c19b468bb4b0b00e8e4e">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#a6b346a6d0b601eff5a100c7a207e9c86">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>
@@ -1272,7 +1273,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypeRelation.html#ac26b1897eab8197ed26606ab81b7403b">tvm::TypeRelation</a>
 </li>
 <li>TypeReporter()
-: <a class="el" href="classtvm_1_1TypeReporter.html#a8e7e05a07f9f7ad9bea91f27afac9051">tvm::TypeReporter</a>
+: <a class="el" href="classtvm_1_1TypeReporter.html#aa3dc38a3c84d324d0b3a9f358460a091">tvm::TypeReporter</a>
 </li>
 <li>TypeVar()
 : <a class="el" href="classtvm_1_1TypeVar.html#adf5ef8e89d162735519b5d125c89e3e3">tvm::TypeVar</a>
diff --git a/docs/reference/api/doxygen/functions_r.html b/docs/reference/api/doxygen/functions_r.html
index aae512ca69..718aa6fd68 100644
--- a/docs/reference/api/doxygen/functions_r.html
+++ b/docs/reference/api/doxygen/functions_r.html
@@ -200,6 +200,7 @@ $(function() {
 </li>
 <li>reduction
 : <a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html#a45d62f7da0c849f0737a3d73ac4ba975">tvm::relay::NLLLossAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html#a7117d5569f809ba9b9496bc41ba94119">tvm::relay::ScatterElementsAttrs</a>
 </li>
 <li>ref
 : <a class="el" href="classtvm_1_1relay_1_1RefReadNode.html#ae61d2b27d1102f26f2300aad1ae168a7">tvm::relay::RefReadNode</a>
@@ -497,8 +498,8 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1IndexDataTypeNormalizer.html#afc2a6d4cb922111b859d75e3ba43c150">tvm::tir::IndexDataTypeNormalizer</a>
 </li>
 <li>Rewrite_()
-: <a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html#a867da2f78446c33e201da79e9e1a0b2e">tvm::relay::ExprRewriter</a>
-, <a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html#a3b53908f4b8cc3708ca75892e47f0929">tvm::relay::MixedModeMutator</a>
+: <a class="el" href="classtvm_1_1relay_1_1ExprRewriter.html#a956ed40ff5f64ecef5e6034056184cd7">tvm::relay::ExprRewriter</a>
+, <a class="el" href="classtvm_1_1relay_1_1MixedModeMutator.html#a2424d6590fceb087cb1624ab8d3348a1">tvm::relay::MixedModeMutator</a>
 </li>
 <li>rewrite_once
 : <a class="el" href="classtvm_1_1relay_1_1DFPatternCallbackNode.html#a6e4c091ba92fee08251d29633da9b8b8">tvm::relay::DFPatternCallbackNode</a>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index 86bfefd672..d4d60dda81 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -557,6 +557,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html#a3c6d3993844391992ebe9702a2f1b87b">tvm::relay::ScanopAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html#aa266a70026db0feb88f57a08fb4d3303">tvm::relay::ScatterAddAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html#a848f0532864ed09ed9a4e954d4d0b627">tvm::relay::ScatterAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html#ac29909894c721bd564c93bd334f3bb0b">tvm::relay::ScatterElementsAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterNDAttrs.html#a8eba0ff6fb3ce4c6e18c7d541f9f428f">tvm::relay::ScatterNDAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SearchSortedAttrs.html#a9e52eba5524bf204f0596f0a3e60390c">tvm::relay::SearchSortedAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html#a079744827d8dd377fd0d076d93b9cc60">tvm::relay::SequenceMaskAttrs</a>
@@ -1434,7 +1435,7 @@ $(function() {
 <li>TVMPODValue_
 : <a class="el" href="classtvm_1_1runtime_1_1NDArray.html#a9a9fd94393cfd7d4b6e6029348e3e19a">tvm::runtime::NDArray</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#a9a9fd94393cfd7d4b6e6029348e3e19a">tvm::runtime::ObjectPtr&lt; T &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html#afe1837bdbafe8341c2031c5cebcf6e74">tvm::runtime::TVMPODValue_</a>
+, <a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html#a2f46b59a6c1d5eb4575d7f583b5f1a0c">tvm::runtime::TVMPODValue_</a>
 </li>
 <li>TVMRetValue
 : <a class="el" href="classtvm_1_1BaseAttrsNode.html#a1f56f080d0c1fab79d9469029aef8ebb">tvm::BaseAttrsNode</a>
@@ -1443,7 +1444,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#ae0ea8b4adc6dab8c74086bceaef6b3e1">tvm::runtime::ObjectPtr&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html#ae0ea8b4adc6dab8c74086bceaef6b3e1">tvm::runtime::ObjectRef</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TVMPODValue__.html#ae0ea8b4adc6dab8c74086bceaef6b3e1">tvm::runtime::TVMPODValue_</a>
-, <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#ab86bf21f214fca72e73a7f6e20ffab8d">tvm::runtime::TVMRetValue</a>
 , <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#ae0ea8b4adc6dab8c74086bceaef6b3e1">tvm::runtime::TypedPackedFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>type
@@ -1515,7 +1516,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">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#a4abadc6786dd14a3aed6e2b5b342d1d6">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#a8941c80982a1b2a289440f3c79bb0ac8">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>
@@ -1538,7 +1539,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypeRelation.html#ac26b1897eab8197ed26606ab81b7403b">tvm::TypeRelation</a>
 </li>
 <li>TypeReporter()
-: <a class="el" href="classtvm_1_1TypeReporter.html#aa3dc38a3c84d324d0b3a9f358460a091">tvm::TypeReporter</a>
+: <a class="el" href="classtvm_1_1TypeReporter.html#a8e7e05a07f9f7ad9bea91f27afac9051">tvm::TypeReporter</a>
 </li>
 <li>types
 : <a class="el" href="classtvm_1_1TupleAffineTypeNode.html#a30c834b7e1cb64467e6587ac16ebb187">tvm::TupleAffineTypeNode</a>
diff --git a/docs/reference/api/doxygen/functions_vars_a.html b/docs/reference/api/doxygen/functions_vars_a.html
index d2e2c64c29..65a85566ff 100644
--- a/docs/reference/api/doxygen/functions_vars_a.html
+++ b/docs/reference/api/doxygen/functions_vars_a.html
@@ -277,6 +277,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1relay_1_1ScanopAttrs.html#afd0a3040ec86dc3d2b6b28ac6170425e">tvm::relay::ScanopAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterAddAttrs.html#a641f7409b6194a04a6a9889fe19dc3fb">tvm::relay::ScatterAddAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1ScatterAttrs.html#a5ada9836e19157a53637c14f9318fb64">tvm::relay::ScatterAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html#adf2d31a6a3a1e4f1acff8e8d13d8a5fe">tvm::relay::ScatterElementsAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SequenceMaskAttrs.html#a7273f14f80b4dbaf455b47d7a2f6ad46">tvm::relay::SequenceMaskAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SlidingWindowAttrs.html#aa565b6e06fb72698e900dcb81721a8fa">tvm::relay::SlidingWindowAttrs</a>
 , <a class="el" href="structtvm_1_1relay_1_1SoftmaxAttrs.html#a0416be34a3c1df62133a06cdec50f6c5">tvm::relay::SoftmaxAttrs</a>
diff --git a/docs/reference/api/doxygen/functions_vars_r.html b/docs/reference/api/doxygen/functions_vars_r.html
index 5355b58de8..d26d5436f6 100644
--- a/docs/reference/api/doxygen/functions_vars_r.html
+++ b/docs/reference/api/doxygen/functions_vars_r.html
@@ -135,6 +135,7 @@ $(function() {
 </li>
 <li>reduction
 : <a class="el" href="structtvm_1_1relay_1_1NLLLossAttrs.html#a45d62f7da0c849f0737a3d73ac4ba975">tvm::relay::NLLLossAttrs</a>
+, <a class="el" href="structtvm_1_1relay_1_1ScatterElementsAttrs.html#a7117d5569f809ba9b9496bc41ba94119">tvm::relay::ScatterElementsAttrs</a>
 </li>
 <li>ref
 : <a class="el" href="classtvm_1_1relay_1_1RefReadNode.html#ae61d2b27d1102f26f2300aad1ae168a7">tvm::relay::RefReadNode</a>
diff --git a/docs/reference/api/doxygen/hierarchy.html b/docs/reference/api/doxygen/hierarchy.html
index 5357d79c99..3e43fbbabb 100644
--- a/docs/reference/api/doxygen/hierarchy.html
+++ b/docs/reference/api/doxygen/hierarchy.html
@@ -153,10 +153,10 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_62_" 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="classGlobalVar.html" target="_self">GlobalVar</a></td><td class="desc"></td></tr>
 <tr id="row_63_"><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_1usmp_1_1algo_1_1GreedyBase.html" target="_self">tvm::tir::usmp::algo::GreedyBase</a></td><td class="desc">This is the base class for Greedy Algorithms where the sorting is specialized in the extended classes based on the greedy criteria </td></tr>
 <tr id="row_64_" 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_1SimpleObjAllocator_1_1Handler.html" target="_self">tvm::runtime::SimpleObjAllocator::Handler&lt; T &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_65_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_65_" class="arrow" onclick="toggleFolder('65_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html" target="_self">tvm::SHashReducer::Handler</a></td><td class="desc">Internal handler that defines custom behaviors </td></tr>
-<tr id="row_65_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_1SHashHandlerDefault.html" target="_self">tvm::SHashHandlerDefault</a></td><td class="desc">The default handler for hash key computation </td></tr>
-<tr id="row_66_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_66_" class="arrow" onclick="toggleFolder('66_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SEqualReducer_1_1Handler.html" target="_self">tvm::SEqualReducer::Handler</a></td><td class="desc">Internal handler that defines custom behaviors. </td></tr>
-<tr id="row_66_0_" 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_1SEqualHandlerDefault.html" target="_self">tvm::SEqualHandlerDefault</a></td><td class="desc">The default handler for equality testing </td></tr>
+<tr id="row_65_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_65_" class="arrow" onclick="toggleFolder('65_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SEqualReducer_1_1Handler.html" target="_self">tvm::SEqualReducer::Handler</a></td><td class="desc">Internal handler that defines custom behaviors. </td></tr>
+<tr id="row_65_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_1SEqualHandlerDefault.html" target="_self">tvm::SEqualHandlerDefault</a></td><td class="desc">The default handler for equality testing </td></tr>
+<tr id="row_66_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_66_" class="arrow" onclick="toggleFolder('66_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SHashReducer_1_1Handler.html" target="_self">tvm::SHashReducer::Handler</a></td><td class="desc">Internal handler that defines custom behaviors </td></tr>
+<tr id="row_66_0_" 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_1SHashHandlerDefault.html" target="_self">tvm::SHashHandlerDefault</a></td><td class="desc">The default handler for hash key computation </td></tr>
 <tr id="row_67_"><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="structdmlc_1_1serializer_1_1Handler_3_01DLDataType_01_4.html" target="_self">dmlc::serializer::Handler&lt; DLDataType &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_68_" 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="structdmlc_1_1serializer_1_1Handler_3_01DLDevice_01_4.html" target="_self">dmlc::serializer::Handler&lt; DLDevice &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_69_"><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_1detail_1_1ImplSEqualReduce.html" target="_self">tvm::detail::ImplSEqualReduce&lt; T, bool &gt;</a></td><td class="desc"></td></tr>
@@ -469,74 +469,76 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_103_31_104_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="structtvm_1_1relay_1_1ScatterAddAttrs.html" target="_self">tvm::relay::ScatterAddAttrs</a></td><td class="desc"></td></tr>
 <tr id="row_103_31_105_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_105_" class="arrow" onclick="toggleFolder('103_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; ScatterAttrs &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_103_31_105_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="structtvm_1_1relay_1_1ScatterAttrs.html" target="_self">tvm::relay::ScatterAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_106_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_106_" class="arrow" onclick="toggleFolder('103_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; ScatterNDAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_106_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="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">tvm::relay::ScatterNDAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_107_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_107_" class="arrow" onclick="toggleFolder('103_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; SearchSortedAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_107_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="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">tvm::relay::SearchSortedAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_108_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_108_" class="arrow" onclick="toggleFolder('103_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; SequenceMaskAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_108_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="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">tvm::relay::SequenceMaskAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_109_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_109_" class="arrow" onclick="toggleFolder('103_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; ShapeFuncAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_109_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="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_103_31_110_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_110_" class="arrow" onclick="toggleFolder('103_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; ShapeOfAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_110_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="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_103_31_111_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_111_" class="arrow" onclick="toggleFolder('103_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; SimulatedQuantizeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_111_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="structtvm_1_1relay_1_1qnn_1_1SimulatedQuantizeAttrs.html" target="_self">tvm::relay::qnn::SimulatedQuantizeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_112_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_112_" class="arrow" onclick="toggleFolder('103_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; SliceLikeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_112_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="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">tvm::relay::SliceLikeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_113_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_113_" class="arrow" onclick="toggleFolder('103_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; SlidingWindowAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_113_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="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_103_31_114_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_114_" class="arrow" onclick="toggleFolder('103_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; SoftmaxAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_114_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="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_103_31_115_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_115_" class="arrow" onclick="toggleFolder('103_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; SpaceToBatchNDAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_115_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="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_103_31_116_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_116_" class="arrow" onclick="toggleFolder('103_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; SparseConv2DAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_116_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="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_103_31_117_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_117_" class="arrow" onclick="toggleFolder('103_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; SparseDenseAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_117_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="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_103_31_118_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_118_" class="arrow" onclick="toggleFolder('103_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; SparseToDenseAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_118_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="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_103_31_119_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_119_" class="arrow" onclick="toggleFolder('103_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; SparseTransposeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_119_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="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_103_31_120_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_120_" class="arrow" onclick="toggleFolder('103_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; SplitAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_120_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="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">tvm::relay::SplitAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_121_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_121_" class="arrow" onclick="toggleFolder('103_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; SqueezeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_121_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="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_103_31_122_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_122_" class="arrow" onclick="toggleFolder('103_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; StackAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_122_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="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_103_31_123_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_123_" class="arrow" onclick="toggleFolder('103_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; StftAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_123_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="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_103_31_124_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_124_" class="arrow" onclick="toggleFolder('103_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; StridedSliceAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_124_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="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_103_31_125_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_125_" class="arrow" onclick="toggleFolder('103_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; SubPixelAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_125_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="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_103_31_126_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_126_" class="arrow" onclick="toggleFolder('103_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; TakeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_126_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="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">tvm::relay::TakeAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_127_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_127_" class="arrow" onclick="toggleFolder('103_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; ThreefryGenerateAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_127_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="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">tvm::relay::ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_128_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_128_" class="arrow" onclick="toggleFolder('103_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; TileAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_128_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="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_103_31_129_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_129_" class="arrow" onclick="toggleFolder('103_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; TopKAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_129_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="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">tvm::relay::TopKAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_130_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_130_" class="arrow" onclick="toggleFolder('103_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; TransposeAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_130_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="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_103_31_131_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_131_" class="arrow" onclick="toggleFolder('103_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; TriluAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_131_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="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">tvm::relay::TriluAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_132_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_132_" class="arrow" onclick="toggleFolder('103_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; UniformAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_132_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="structtvm_1_1relay_1_1UniformAttrs.html" target="_self">tvm::relay::UniformAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_133_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_133_" class="arrow" onclick="toggleFolder('103_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; UniqueAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_133_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="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_103_31_134_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_134_" class="arrow" onclick="toggleFolder('103_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; UpSampling3DAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_134_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="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_103_31_135_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_135_" class="arrow" onclick="toggleFolder('103_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; UpSamplingAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_135_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="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_103_31_136_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_136_" class="arrow" onclick="toggleFolder('103_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; VarianceAttrs &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_136_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="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">tvm::relay::VarianceAttrs</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_137_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_137_" class="arrow" onclick="toggleFolder('103_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; VirtualDeviceNode &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_103_31_137_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_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 dat [...]
-<tr id="row_103_31_138_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_138_" class="arrow" onclick="toggleFolder('103_31_138_')">&#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_103_31_138_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="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_103_31_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="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_103_31_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="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 impl [...]
+<tr id="row_103_31_106_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_106_" class="arrow" onclick="toggleFolder('103_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; ScatterElementsAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_106_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="structtvm_1_1relay_1_1ScatterElementsAttrs.html" target="_self">tvm::relay::ScatterElementsAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_107_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_107_" class="arrow" onclick="toggleFolder('103_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; ScatterNDAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_107_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="structtvm_1_1relay_1_1ScatterNDAttrs.html" target="_self">tvm::relay::ScatterNDAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_108_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_108_" class="arrow" onclick="toggleFolder('103_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; SearchSortedAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_108_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="structtvm_1_1relay_1_1SearchSortedAttrs.html" target="_self">tvm::relay::SearchSortedAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_109_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_109_" class="arrow" onclick="toggleFolder('103_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; SequenceMaskAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_109_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="structtvm_1_1relay_1_1SequenceMaskAttrs.html" target="_self">tvm::relay::SequenceMaskAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_110_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_110_" class="arrow" onclick="toggleFolder('103_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; ShapeFuncAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_110_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="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_103_31_111_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_111_" class="arrow" onclick="toggleFolder('103_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; ShapeOfAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_111_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="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_103_31_112_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_112_" class="arrow" onclick="toggleFolder('103_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; SimulatedQuantizeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_112_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="structtvm_1_1relay_1_1qnn_1_1SimulatedQuantizeAttrs.html" target="_self">tvm::relay::qnn::SimulatedQuantizeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_113_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_113_" class="arrow" onclick="toggleFolder('103_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; SliceLikeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_113_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="structtvm_1_1relay_1_1SliceLikeAttrs.html" target="_self">tvm::relay::SliceLikeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_114_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_114_" class="arrow" onclick="toggleFolder('103_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; SlidingWindowAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_114_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="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_103_31_115_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_115_" class="arrow" onclick="toggleFolder('103_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; SoftmaxAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_115_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="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_103_31_116_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_116_" class="arrow" onclick="toggleFolder('103_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; SpaceToBatchNDAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_116_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="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_103_31_117_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_117_" class="arrow" onclick="toggleFolder('103_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; SparseConv2DAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_117_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="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_103_31_118_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_118_" class="arrow" onclick="toggleFolder('103_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; SparseDenseAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_118_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="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_103_31_119_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_119_" class="arrow" onclick="toggleFolder('103_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; SparseToDenseAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_119_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="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_103_31_120_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_120_" class="arrow" onclick="toggleFolder('103_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; SparseTransposeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_120_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="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_103_31_121_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_121_" class="arrow" onclick="toggleFolder('103_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; SplitAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_121_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="structtvm_1_1relay_1_1SplitAttrs.html" target="_self">tvm::relay::SplitAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_122_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_122_" class="arrow" onclick="toggleFolder('103_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; SqueezeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_122_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="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_103_31_123_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_123_" class="arrow" onclick="toggleFolder('103_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; StackAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_123_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="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_103_31_124_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_124_" class="arrow" onclick="toggleFolder('103_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; StftAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_124_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="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_103_31_125_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_125_" class="arrow" onclick="toggleFolder('103_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; StridedSliceAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_125_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="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_103_31_126_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_126_" class="arrow" onclick="toggleFolder('103_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; SubPixelAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_126_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="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_103_31_127_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_127_" class="arrow" onclick="toggleFolder('103_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; TakeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_127_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="structtvm_1_1relay_1_1TakeAttrs.html" target="_self">tvm::relay::TakeAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_128_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_128_" class="arrow" onclick="toggleFolder('103_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; ThreefryGenerateAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_128_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="structtvm_1_1relay_1_1ThreefryGenerateAttrs.html" target="_self">tvm::relay::ThreefryGenerateAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_129_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_129_" class="arrow" onclick="toggleFolder('103_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; TileAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_129_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="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_103_31_130_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_130_" class="arrow" onclick="toggleFolder('103_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; TopKAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_130_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="structtvm_1_1relay_1_1TopKAttrs.html" target="_self">tvm::relay::TopKAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_131_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_131_" class="arrow" onclick="toggleFolder('103_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; TransposeAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_131_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="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_103_31_132_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_132_" class="arrow" onclick="toggleFolder('103_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; TriluAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_132_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="structtvm_1_1relay_1_1TriluAttrs.html" target="_self">tvm::relay::TriluAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_133_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_133_" class="arrow" onclick="toggleFolder('103_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; UniformAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_133_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="structtvm_1_1relay_1_1UniformAttrs.html" target="_self">tvm::relay::UniformAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_134_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_134_" class="arrow" onclick="toggleFolder('103_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; UniqueAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_134_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="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_103_31_135_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_135_" class="arrow" onclick="toggleFolder('103_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; UpSampling3DAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_135_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="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_103_31_136_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_136_" class="arrow" onclick="toggleFolder('103_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; UpSamplingAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_136_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="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_103_31_137_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_137_" class="arrow" onclick="toggleFolder('103_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; VarianceAttrs &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_137_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="structtvm_1_1relay_1_1VarianceAttrs.html" target="_self">tvm::relay::VarianceAttrs</a></td><td class="desc"></td></tr>
+<tr id="row_103_31_138_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_138_" class="arrow" onclick="toggleFolder('103_31_138_')">&#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_103_31_138_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_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 dat [...]
+<tr id="row_103_31_139_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_31_139_" class="arrow" onclick="toggleFolder('103_31_139_')">&#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_103_31_139_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="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_103_31_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="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_103_31_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_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 impl [...]
 <tr id="row_103_32_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_103_32_" class="arrow" onclick="toggleFolder('103_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_103_32_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_103_32_0_" class="arrow" onclick="toggleFolder('103_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_103_32_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_103_32_0_0_" class="arrow" onclick="toggleFolder('103_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_112.svg b/docs/reference/api/doxygen/inherit_graph_112.svg
index 98ff30a509..53328c75b5 100644
--- a/docs/reference/api/doxygen/inherit_graph_112.svg
+++ b/docs/reference/api/doxygen/inherit_graph_112.svg
@@ -4,111 +4,111 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: Graphical Class Hierarchy Pages: 1 -->
-<svg width="1073pt" height="12567pt"
- viewBox="0.00 0.00 1073.00 12567.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 12563)">
+<svg width="1073pt" height="12541pt"
+ viewBox="0.00 0.00 1073.00 12541.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 12537)">
 <title>Graphical Class Hierarchy</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-12563 1069,-12563 1069,4 -4,4"/>
-<!-- Node1408 -->
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-12537 1069,-12537 1069,4 -4,4"/>
+<!-- Node1410 -->
 <g id="node1" class="node">
-<title>Node1408</title>
+<title>Node1410</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,-11056 20,-11086 148,-11086 148,-11056 20,-11056"/>
-<text text-anchor="start" x="28" y="-11074" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
-<text text-anchor="middle" x="84" y="-11063" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ContainerBase</text>
+<polygon fill="#ffffff" stroke="#000000" points="20,-11027 20,-11057 148,-11057 148,-11027 20,-11027"/>
+<text text-anchor="start" x="28" y="-11045" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
+<text text-anchor="middle" x="84" y="-11034" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ContainerBase</text>
 </a>
 </g>
 </g>
-<!-- Node529 -->
+<!-- Node531 -->
 <g id="node2" class="node">
-<title>Node529</title>
+<title>Node531</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,-11054 241,-11084 369,-11084 369,-11054 241,-11054"/>
-<text text-anchor="start" x="249" y="-11072" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
-<text text-anchor="middle" x="305" y="-11061" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::Container</text>
+<polygon fill="#ffffff" stroke="#000000" points="241,-11025 241,-11055 369,-11055 369,-11025 241,-11025"/>
+<text text-anchor="start" x="249" y="-11043" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
+<text text-anchor="middle" x="305" y="-11032" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::Container</text>
 </a>
 </g>
 </g>
-<!-- Node1408&#45;&gt;Node529 -->
+<!-- Node1410&#45;&gt;Node531 -->
 <g id="edge1" class="edge">
-<title>Node1408&#45;&gt;Node529</title>
-<path fill="none" stroke="#191970" d="M158.2796,-11070.3278C184.9735,-11070.0862 214.8383,-11069.8159 240.6206,-11069.5826"/>
-<polygon fill="#191970" stroke="#191970" points="158.1871,-11066.8284 148.2192,-11070.4188 158.2505,-11073.8281 158.1871,-11066.8284"/>
+<title>Node1410&#45;&gt;Node531</title>
+<path fill="none" stroke="#191970" d="M158.2796,-11041.3278C184.9735,-11041.0862 214.8383,-11040.8159 240.6206,-11040.5826"/>
+<polygon fill="#191970" stroke="#191970" points="158.1871,-11037.8284 148.2192,-11041.4188 158.2505,-11044.8281 158.1871,-11037.8284"/>
 </g>
-<!-- Node1351 -->
+<!-- Node1353 -->
 <g id="node3" class="node">
-<title>Node1351</title>
+<title>Node1353</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,-2693 222.5,-2723 387.5,-2723 387.5,-2693 222.5,-2693"/>
-<text text-anchor="start" x="230.5" y="-2711" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
-<text text-anchor="middle" x="305" y="-2700" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ArrayType, ElemType &gt;</text>
+<polygon fill="#ffffff" stroke="#000000" points="222.5,-2883 222.5,-2913 387.5,-2913 387.5,-2883 222.5,-2883"/>
+<text text-anchor="start" x="230.5" y="-2901" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
+<text text-anchor="middle" x="305" y="-2890" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ArrayType, ElemType &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node520 -->
+<!-- Node522 -->
 <g id="node4" class="node">
-<title>Node520</title>
+<title>Node522</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,-2437.5 459.5,-2456.5 619.5,-2456.5 619.5,-2437.5 459.5,-2437.5"/>
-<text text-anchor="middle" x="539.5" y="-2444.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::SmallMapNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="459.5,-2474.5 459.5,-2493.5 619.5,-2493.5 619.5,-2474.5 459.5,-2474.5"/>
+<text text-anchor="middle" x="539.5" y="-2481.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::SmallMapNode</text>
 </a>
 </g>
 </g>
-<!-- Node1351&#45;&gt;Node520 -->
+<!-- Node1353&#45;&gt;Node522 -->
 <g id="edge2" class="edge">
-<title>Node1351&#45;&gt;Node520</title>
-<path fill="none" stroke="#191970" d="M396.7046,-2691.1403C400.0588,-2688.7473 403.1832,-2686.0463 406,-2683 472.3719,-2611.2204 373.848,-2536.0916 442,-2466 446.9291,-2460.9306 452.7802,-2456.9977 459.1316,-2453.9672"/>
-<polygon fill="#191970" stroke="#191970" points="394.661,-2688.2868 387.9384,-2696.4756 398.3003,-2694.2663 394.661,-2688.2868"/>
+<title>Node1353&#45;&gt;Node522</title>
+<path fill="none" stroke="#191970" d="M396.4388,-2881.76C399.9252,-2879.2107 403.1435,-2876.3061 406,-2873 460.0092,-2810.49 386.4394,-2564.1352 442,-2503 446.8714,-2497.6398 452.7688,-2493.527 459.2243,-2490.3966"/>
+<polygon fill="#191970" stroke="#191970" points="394.5111,-2878.8371 387.862,-2887.0857 398.2038,-2884.7839 394.5111,-2878.8371"/>
 </g>
-<!-- Node1350 -->
+<!-- Node1352 -->
 <g id="node5" class="node">
-<title>Node1350</title>
+<title>Node1352</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,-11007 7.5,-11037 160.5,-11037 160.5,-11007 7.5,-11007"/>
-<text text-anchor="start" x="15.5" y="-11025" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
-<text text-anchor="middle" x="84" y="-11014" 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,-10978 7.5,-11008 160.5,-11008 160.5,-10978 7.5,-10978"/>
+<text text-anchor="start" x="15.5" y="-10996" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
+<text text-anchor="middle" x="84" y="-10985" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ADTObj, ObjectRef &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node513 -->
+<!-- Node515 -->
 <g id="node6" class="node">
-<title>Node513</title>
+<title>Node515</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,-11012.5 243.5,-11031.5 366.5,-11031.5 366.5,-11012.5 243.5,-11012.5"/>
-<text text-anchor="middle" x="305" y="-11019.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ADTObj</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-10983.5 243.5,-11002.5 366.5,-11002.5 366.5,-10983.5 243.5,-10983.5"/>
+<text text-anchor="middle" x="305" y="-10990.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ADTObj</text>
 </a>
 </g>
 </g>
-<!-- Node1350&#45;&gt;Node513 -->
+<!-- Node1352&#45;&gt;Node515 -->
 <g id="edge3" class="edge">
-<title>Node1350&#45;&gt;Node513</title>
-<path fill="none" stroke="#191970" d="M170.9456,-11022C195.1707,-11022 220.9797,-11022 243.4174,-11022"/>
-<polygon fill="#191970" stroke="#191970" points="170.6749,-11018.5001 160.6748,-11022 170.6748,-11025.5001 170.6749,-11018.5001"/>
+<title>Node1352&#45;&gt;Node515</title>
+<path fill="none" stroke="#191970" d="M170.9456,-10993C195.1707,-10993 220.9797,-10993 243.4174,-10993"/>
+<polygon fill="#191970" stroke="#191970" points="170.6749,-10989.5001 160.6748,-10993 170.6748,-10996.5001 170.6749,-10989.5001"/>
 </g>
-<!-- Node1349 -->
+<!-- Node1351 -->
 <g id="node7" class="node">
-<title>Node1349</title>
+<title>Node1351</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,-10958 0,-10988 168,-10988 168,-10958 0,-10958"/>
-<text text-anchor="start" x="8" y="-10976" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
-<text text-anchor="middle" x="84" y="-10965" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ArrayNode, ObjectRef &gt;</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-10929 0,-10959 168,-10959 168,-10929 0,-10929"/>
+<text text-anchor="start" x="8" y="-10947" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::InplaceArray</text>
+<text text-anchor="middle" x="84" y="-10936" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Base&lt; ArrayNode, ObjectRef &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node514 -->
+<!-- Node516 -->
 <g id="node8" class="node">
-<title>Node514</title>
+<title>Node516</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,-10974.5 236,-10993.5 374,-10993.5 374,-10974.5 236,-10974.5"/>
-<text text-anchor="middle" x="305" y="-10981.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ArrayNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="236,-10945.5 236,-10964.5 374,-10964.5 374,-10945.5 236,-10945.5"/>
+<text text-anchor="middle" x="305" y="-10952.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ArrayNode</text>
 </a>
 </g>
 </g>
-<!-- Node1349&#45;&gt;Node514 -->
+<!-- Node1351&#45;&gt;Node516 -->
 <g id="edge4" class="edge">
-<title>Node1349&#45;&gt;Node514</title>
-<path fill="none" stroke="#191970" d="M178.2093,-10977.6892C197.5291,-10978.6508 217.5282,-10979.6462 235.774,-10980.5544"/>
-<polygon fill="#191970" stroke="#191970" points="178.3427,-10974.1916 168.1811,-10977.19 177.9947,-10981.1829 178.3427,-10974.1916"/>
+<title>Node1351&#45;&gt;Node516</title>
+<path fill="none" stroke="#191970" d="M178.2093,-10948.6892C197.5291,-10949.6508 217.5282,-10950.6462 235.774,-10951.5544"/>
+<polygon fill="#191970" stroke="#191970" points="178.3427,-10945.1916 168.1811,-10948.19 177.9947,-10952.1829 178.3427,-10945.1916"/>
 </g>
 <!-- Node0 -->
 <g id="node9" class="node">
@@ -119,10561 +119,10593 @@
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node529 -->
-<g id="edge533" class="edge">
-<title>Node0&#45;&gt;Node529</title>
-<path fill="none" stroke="#191970" d="M84.1549,-3606.9198C87.4419,-4027.3083 142.5824,-10961.5742 204,-11041 213.0716,-11052.7315 226.6038,-11059.8312 240.837,-11064.0593"/>
-<polygon fill="#191970" stroke="#191970" points="87.6525,-3606.5863 84.0745,-3596.6139 80.6527,-3606.641 87.6525,-3606.5863"/>
+<!-- Node0&#45;&gt;Node531 -->
+<g id="edge535" class="edge">
+<title>Node0&#45;&gt;Node531</title>
+<path fill="none" stroke="#191970" d="M84.1555,-3606.8423C87.4562,-4025.5954 142.8188,-10932.8851 204,-11012 213.072,-11023.7312 226.6043,-11030.8308 240.8375,-11035.0589"/>
+<polygon fill="#191970" stroke="#191970" points="87.6534,-3606.5487 84.0748,-3596.5765 80.6536,-3606.6038 87.6534,-3606.5487"/>
 </g>
-<!-- Node0&#45;&gt;Node513 -->
-<g id="edge517" class="edge">
-<title>Node0&#45;&gt;Node513</title>
-<path fill="none" stroke="#191970" d="M84.1467,-3606.8256C87.2616,-4025.2245 139.6095,-10926.6328 204,-11003 213.8337,-11014.6627 228.3648,-11020.6545 243.3588,-11023.4624"/>
-<polygon fill="#191970" stroke="#191970" points="87.6447,-3606.5422 84.0705,-3596.5685 80.6449,-3606.5942 87.6447,-3606.5422"/>
+<!-- Node0&#45;&gt;Node515 -->
+<g id="edge519" class="edge">
+<title>Node0&#45;&gt;Node515</title>
+<path fill="none" stroke="#191970" d="M84.1473,-3606.7481C87.2767,-4023.511 139.8588,-10897.9334 204,-10974 213.834,-10985.6624 228.3653,-10991.6541 243.3593,-10994.462"/>
+<polygon fill="#191970" stroke="#191970" points="87.6457,-3606.5045 84.0708,-3596.5311 80.6459,-3606.557 87.6457,-3606.5045"/>
 </g>
-<!-- Node0&#45;&gt;Node514 -->
-<g id="edge518" class="edge">
-<title>Node0&#45;&gt;Node514</title>
-<path fill="none" stroke="#191970" d="M84.1476,-3606.724C87.2814,-4022.9792 139.9362,-10889.0267 204,-10965 212.1664,-10974.6845 223.5718,-10980.4586 235.7915,-10983.7464"/>
-<polygon fill="#191970" stroke="#191970" points="87.646,-3606.4928 84.0709,-3596.5194 80.6462,-3606.5455 87.646,-3606.4928"/>
+<!-- Node0&#45;&gt;Node516 -->
+<g id="edge520" class="edge">
+<title>Node0&#45;&gt;Node516</title>
+<path fill="none" stroke="#191970" d="M84.1506,-3606.9616C87.3232,-4024.7174 140.2016,-10860.3464 204,-10936 212.1667,-10945.6842 223.5723,-10951.4582 235.792,-10954.746"/>
+<polygon fill="#191970" stroke="#191970" points="87.6504,-3606.8981 84.0746,-3596.9249 80.6506,-3606.9512 87.6504,-3606.8981"/>
 </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,-8946.5 245.5,-8965.5 364.5,-8965.5 364.5,-8946.5 245.5,-8946.5"/>
-<text text-anchor="middle" x="305" y="-8953.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AffineTypeNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-8895.5 245.5,-8914.5 364.5,-8914.5 364.5,-8895.5 245.5,-8895.5"/>
+<text text-anchor="middle" x="305" y="-8902.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.0941,-3606.7169C85.8014,-3955.9155 111.2732,-8827.7203 204,-8937 214.2741,-8949.1081 229.6118,-8955.0937 245.2506,-8957.7505"/>
-<polygon fill="#191970" stroke="#191970" points="87.5935,-3606.5651 84.0451,-3596.5822 80.5936,-3606.599 87.5935,-3606.5651"/>
+<path fill="none" stroke="#191970" d="M84.1001,-3607.0519C85.8903,-3957.2308 112.191,-8777.8256 204,-8886 214.2754,-8898.107 229.6135,-8904.0923 245.2523,-8906.7491"/>
+<polygon fill="#191970" stroke="#191970" points="87.5992,-3606.8456 84.0486,-3596.8635 80.5993,-3606.8811 87.5992,-3606.8456"/>
 </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,-8908.5 221.5,-8927.5 388.5,-8927.5 388.5,-8908.5 221.5,-8908.5"/>
-<text text-anchor="middle" x="305" y="-8915.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ConstIntBoundNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="221.5,-8857.5 221.5,-8876.5 388.5,-8876.5 388.5,-8857.5 221.5,-8857.5"/>
+<text text-anchor="middle" x="305" y="-8864.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.0966,-3606.5769C85.848,-3953.2957 111.9228,-8790.5034 204,-8899 208.8489,-8904.7136 214.8253,-8909.0638 221.4288,-8912.3442"/>
-<polygon fill="#191970" stroke="#191970" points="87.5964,-3606.4965 84.0463,-3596.5141 80.5964,-3606.5316 87.5964,-3606.4965"/>
+<path fill="none" stroke="#191970" d="M84.1027,-3606.9082C85.9374,-3954.5764 112.8402,-8740.6084 204,-8848 208.8495,-8853.713 214.8264,-8858.0629 221.4301,-8861.3431"/>
+<polygon fill="#191970" stroke="#191970" points="87.6022,-3606.7743 84.0498,-3596.7928 80.6023,-3606.8109 87.6022,-3606.7743"/>
 </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,-8870.5 223,-8889.5 387,-8889.5 387,-8870.5 223,-8870.5"/>
-<text text-anchor="middle" x="305" y="-8877.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraintsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="223,-8819.5 223,-8838.5 387,-8838.5 387,-8819.5 223,-8819.5"/>
+<text text-anchor="middle" x="305" y="-8826.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.1039,-3606.9518C85.9599,-3955.383 113.15,-8751.9263 204,-8860 209.176,-8866.1573 215.6531,-8870.7679 222.814,-8874.1853"/>
-<polygon fill="#191970" stroke="#191970" points="87.6033,-3606.7956 84.0505,-3596.8142 80.6034,-3606.8326 87.6033,-3606.7956"/>
+<path fill="none" stroke="#191970" d="M84.1074,-3606.7589C86.0229,-3951.8207 114.0163,-8701.9811 204,-8809 209.1767,-8815.1567 215.6543,-8819.7669 222.8154,-8823.1841"/>
+<polygon fill="#191970" stroke="#191970" points="87.6072,-3606.6999 84.0521,-3596.7193 80.6073,-3606.7385 87.6072,-3606.6999"/>
 </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,-8821 235.5,-8851 374.5,-8851 374.5,-8821 235.5,-8821"/>
-<text text-anchor="start" x="243.5" y="-8839" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraints</text>
-<text text-anchor="middle" x="305" y="-8828" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">TransformNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="235.5,-8770 235.5,-8800 374.5,-8800 374.5,-8770 235.5,-8770"/>
+<text text-anchor="start" x="243.5" y="-8788" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntConstraints</text>
+<text text-anchor="middle" x="305" y="-8777" 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.1173,-3606.7582C86.2057,-3951.8084 116.5314,-8701.8472 204,-8811 211.9636,-8820.9379 223.2009,-8827.2982 235.3048,-8831.2977"/>
-<polygon fill="#191970" stroke="#191970" points="87.6171,-3606.6977 84.0571,-3596.719 80.6173,-3606.7398 87.6171,-3606.6977"/>
+<path fill="none" stroke="#191970" d="M84.1223,-3606.8192C86.2822,-3950.5701 117.3941,-8651.9487 204,-8760 211.9648,-8769.937 223.2025,-8776.2969 235.3065,-8780.2962"/>
+<polygon fill="#191970" stroke="#191970" points="87.6211,-3606.602 84.0587,-3596.6241 80.6212,-3606.6458 87.6211,-3606.602"/>
 </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,-8782.5 218,-8801.5 392,-8801.5 392,-8782.5 218,-8782.5"/>
-<text text-anchor="middle" x="305" y="-8789.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntGroupBoundsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="218,-8731.5 218,-8750.5 392,-8750.5 392,-8731.5 218,-8731.5"/>
+<text text-anchor="middle" x="305" y="-8738.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.1092,-3606.8791C86.0444,-3951.6668 114.1439,-8667.1795 204,-8773 207.9266,-8777.6242 212.5917,-8781.3552 217.7299,-8784.3488"/>
-<polygon fill="#191970" stroke="#191970" points="87.608,-3606.6335 84.0524,-3596.6532 80.6081,-3606.6725 87.608,-3606.6335"/>
+<path fill="none" stroke="#191970" d="M84.1142,-3606.9374C86.1224,-3950.3873 115.037,-8617.2557 204,-8722 207.9271,-8726.6237 212.5926,-8730.3544 217.7311,-8733.3477"/>
+<polygon fill="#191970" stroke="#191970" points="87.612,-3606.5378 84.0541,-3596.5583 80.6122,-3606.5784 87.612,-3606.5378"/>
 </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,-8744.5 242.5,-8763.5 367.5,-8763.5 367.5,-8744.5 242.5,-8744.5"/>
-<text text-anchor="middle" x="305" y="-8751.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IntSetNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="242.5,-8693.5 242.5,-8712.5 367.5,-8712.5 367.5,-8693.5 242.5,-8693.5"/>
+<text text-anchor="middle" x="305" y="-8700.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.1118,-3606.7334C86.0919,-3948.9952 114.793,-8629.9621 204,-8735 213.6441,-8746.3556 227.7422,-8752.3248 242.3626,-8755.2134"/>
-<polygon fill="#191970" stroke="#191970" points="87.611,-3606.5622 84.0536,-3596.5825 80.6111,-3606.6024 87.611,-3606.5622"/>
+<path fill="none" stroke="#191970" d="M84.1184,-3607.0505C86.1852,-3950.0525 115.7084,-8580.0645 204,-8684 213.6455,-8695.3545 227.744,-8701.3233 242.3644,-8704.2118"/>
+<polygon fill="#191970" stroke="#191970" points="87.6173,-3606.8316 84.0575,-3596.8527 80.6174,-3606.8735 87.6173,-3606.8316"/>
 </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,-8706.5 223.5,-8725.5 386.5,-8725.5 386.5,-8706.5 223.5,-8706.5"/>
-<text text-anchor="middle" x="305" y="-8713.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMapResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="223.5,-8655.5 223.5,-8674.5 386.5,-8674.5 386.5,-8655.5 223.5,-8655.5"/>
+<text text-anchor="middle" x="305" y="-8662.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.1159,-3606.8403C86.1539,-3948.6185 115.4639,-8592.7704 204,-8697 209.3135,-8703.2553 215.9785,-8707.8761 223.3377,-8711.2478"/>
-<polygon fill="#191970" stroke="#191970" points="87.614,-3606.4908 84.0549,-3596.5117 80.6142,-3606.5323 87.614,-3606.4908"/>
+<path fill="none" stroke="#191970" d="M84.1227,-3607.1541C86.2482,-3949.616 116.3788,-8542.8721 204,-8646 209.3142,-8652.2547 215.9797,-8656.8751 223.3392,-8660.2465"/>
+<polygon fill="#191970" stroke="#191970" points="87.6204,-3606.7575 84.0588,-3596.7793 80.6205,-3606.8007 87.6204,-3606.7575"/>
 </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,-8668.5 236.5,-8687.5 373.5,-8687.5 373.5,-8668.5 236.5,-8668.5"/>
-<text text-anchor="middle" x="305" y="-8675.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::IterMarkNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="236.5,-8617.5 236.5,-8636.5 373.5,-8636.5 373.5,-8617.5 236.5,-8617.5"/>
+<text text-anchor="middle" x="305" y="-8624.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.1217,-3607.2059C86.2316,-3950.5476 116.1569,-8555.6046 204,-8659 212.3176,-8668.7902 223.9458,-8674.5764 236.3645,-8677.8363"/>
-<polygon fill="#191970" stroke="#191970" points="87.6193,-3606.7829 84.0584,-3596.8044 80.6194,-3606.8256 87.6193,-3606.7829"/>
+<path fill="none" stroke="#191970" d="M84.1254,-3607.0027C86.2966,-3946.8928 117.0274,-8505.6541 204,-8608 212.3188,-8617.7892 223.9475,-8623.5749 236.3663,-8626.8348"/>
+<polygon fill="#191970" stroke="#191970" points="87.6235,-3606.6834 84.0601,-3596.7058 80.6236,-3606.7279 87.6235,-3606.6834"/>
 </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,-8630.5 229.5,-8649.5 380.5,-8649.5 380.5,-8630.5 229.5,-8630.5"/>
-<text text-anchor="middle" x="305" y="-8637.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::arith::ModularSetNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="229.5,-8579.5 229.5,-8598.5 380.5,-8598.5 380.5,-8579.5 229.5,-8579.5"/>
+<text text-anchor="middle" x="305" y="-8586.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.1244,-3607.0545C86.28,-3947.8244 116.8055,-8518.3866 204,-8621 210.7588,-8628.954 219.7027,-8634.2649 229.4803,-8637.7253"/>
-<polygon fill="#191970" stroke="#191970" points="87.6224,-3606.7088 84.0597,-3596.731 80.6226,-3606.7528 87.6224,-3606.7088"/>
+<path fill="none" stroke="#191970" d="M84.1281,-3606.8514C86.3449,-3944.1696 117.676,-8468.4361 204,-8570 210.7597,-8577.9531 219.7042,-8583.2636 229.482,-8586.7239"/>
+<polygon fill="#191970" stroke="#191970" points="87.6267,-3606.6093 84.0614,-3596.6324 80.6268,-3606.655 87.6267,-3606.6093"/>
 </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,-8592.5 241.5,-8611.5 368.5,-8611.5 368.5,-8592.5 241.5,-8592.5"/>
-<text text-anchor="middle" x="305" y="-8599.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::AttrFieldInfoNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="241.5,-8541.5 241.5,-8560.5 368.5,-8560.5 368.5,-8541.5 241.5,-8541.5"/>
+<text text-anchor="middle" x="305" y="-8548.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.1292,-3606.8975C86.366,-3944.9989 117.958,-8479.7774 204,-8582 213.3814,-8593.1456 227.0261,-8599.2217 241.2688,-8602.3264"/>
-<polygon fill="#191970" stroke="#191970" points="87.6277,-3606.6315 84.062,-3596.6548 80.6278,-3606.6776 87.6277,-3606.6315"/>
+<path fill="none" stroke="#191970" d="M84.1329,-3606.6944C86.4305,-3941.3444 118.8235,-8429.831 204,-8531 213.3828,-8542.1444 227.028,-8548.2201 241.2707,-8551.3248"/>
+<polygon fill="#191970" stroke="#191970" points="87.6319,-3606.5321 84.0638,-3596.5562 80.6321,-3606.5799 87.6319,-3606.5321"/>
 </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,-8543 242.5,-8573 367.5,-8573 367.5,-8543 242.5,-8543"/>
-<text text-anchor="start" x="250.5" y="-8561" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8550" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AccessAnalyzerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="242.5,-8492 242.5,-8522 367.5,-8522 367.5,-8492 242.5,-8492"/>
+<text text-anchor="start" x="250.5" y="-8510" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8499" 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.1428,-3606.6941C86.6078,-3941.3399 121.1994,-8429.8089 204,-8533 213.4962,-8544.8348 227.6348,-8551.5946 242.3468,-8555.3358"/>
-<polygon fill="#191970" stroke="#191970" points="87.6418,-3606.5301 84.0686,-3596.556 80.6419,-3606.5814 87.6418,-3606.5301"/>
+<path fill="none" stroke="#191970" d="M84.1501,-3606.9922C86.7059,-3942.1392 122.0809,-8379.9338 204,-8482 213.4977,-8493.8336 227.6368,-8500.593 242.3488,-8504.3342"/>
+<polygon fill="#191970" stroke="#191970" points="87.6487,-3606.7877 84.073,-3596.8146 80.6489,-3606.8408 87.6487,-3606.7877"/>
 </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,-8494 247,-8524 363,-8524 363,-8494 247,-8494"/>
-<text text-anchor="start" x="255" y="-8512" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8501" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::AttachMapNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8443 247,-8473 363,-8473 363,-8443 247,-8443"/>
+<text text-anchor="start" x="255" y="-8461" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8450" 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.15,-3607.0003C86.7034,-3942.2842 122.0479,-8381.8918 204,-8484 214.4587,-8497.0311 230.5458,-8503.9091 246.8283,-8507.3793"/>
-<polygon fill="#191970" stroke="#191970" points="87.6486,-3606.7918 84.0729,-3596.8186 80.6488,-3606.8448 87.6486,-3606.7918"/>
+<path fill="none" stroke="#191970" d="M84.1536,-3606.7921C86.7669,-3938.5849 122.8879,-8331.965 204,-8433 214.4604,-8446.0297 230.5479,-8452.9074 246.8303,-8456.3777"/>
+<polygon fill="#191970" stroke="#191970" points="87.6529,-3606.6886 84.0747,-3596.7163 80.6532,-3606.7435 87.6529,-3606.6886"/>
 </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,-8445 247,-8475 363,-8475 363,-8445 247,-8445"/>
-<text text-anchor="start" x="255" y="-8463" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8452" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuildResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8394 247,-8424 363,-8424 363,-8394 247,-8394"/>
+<text text-anchor="start" x="255" y="-8412" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8401" 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.1534,-3606.8002C86.7644,-3938.7299 122.8549,-8333.9229 204,-8435 214.4604,-8448.0298 230.5478,-8454.9075 246.8303,-8458.3778"/>
-<polygon fill="#191970" stroke="#191970" points="87.6528,-3606.6927 84.0746,-3596.7204 80.653,-3606.7474 87.6528,-3606.6927"/>
+<path fill="none" stroke="#191970" d="M84.161,-3607.0818C86.8643,-3939.3269 123.7346,-8284.0455 204,-8384 214.4621,-8397.0284 230.55,-8403.9057 246.8324,-8407.3761"/>
+<polygon fill="#191970" stroke="#191970" points="87.6572,-3606.5895 84.0764,-3596.6181 80.6574,-3606.6461 87.6572,-3606.5895"/>
 </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,-8396 247,-8426 363,-8426 363,-8396 247,-8396"/>
-<text text-anchor="start" x="255" y="-8414" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8403" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ComputeDAGNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8345 247,-8375 363,-8375 363,-8345 247,-8345"/>
+<text text-anchor="start" x="255" y="-8363" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8352" 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.1608,-3607.0901C86.8618,-3939.4738 123.7017,-8286.0035 204,-8386 214.462,-8399.0285 230.5499,-8405.9058 246.8323,-8409.3761"/>
-<polygon fill="#191970" stroke="#191970" points="87.657,-3606.5935 84.0763,-3596.6221 80.6573,-3606.6501 87.657,-3606.5935"/>
+<path fill="none" stroke="#191970" d="M84.1645,-3606.8767C86.926,-3935.7287 124.5412,-8236.0761 204,-8335 214.4637,-8348.0271 230.5522,-8354.904 246.8344,-8358.3744"/>
+<polygon fill="#191970" stroke="#191970" points="87.6615,-3606.4903 84.0781,-3596.5199 80.6618,-3606.5488 87.6615,-3606.4903"/>
 </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,-8347 247,-8377 363,-8377 363,-8347 247,-8347"/>
-<text text-anchor="start" x="255" y="-8365" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8354" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8296 247,-8326 363,-8326 363,-8296 247,-8296"/>
+<text text-anchor="start" x="255" y="-8314" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8303" 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.1644,-3606.885C86.9235,-3935.8756 124.5083,-8238.0341 204,-8337 214.4637,-8350.0271 230.5521,-8356.9041 246.8343,-8360.3745"/>
-<polygon fill="#191970" stroke="#191970" points="87.6613,-3606.4943 84.078,-3596.5239 80.6616,-3606.5528 87.6613,-3606.4943"/>
+<path fill="none" stroke="#191970" d="M84.1723,-3607.1642C87.0262,-3936.3983 125.3872,-8188.1558 204,-8286 214.4655,-8299.0257 230.5544,-8305.9022 246.8365,-8309.3727"/>
+<polygon fill="#191970" stroke="#191970" points="87.6689,-3606.7401 84.0828,-3596.7706 80.6692,-3606.8005 87.6689,-3606.7401"/>
 </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,-8298 239.5,-8328 370.5,-8328 370.5,-8298 239.5,-8298"/>
-<text text-anchor="start" x="247.5" y="-8316" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8305" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::HardwareParamsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-8247 239.5,-8277 370.5,-8277 370.5,-8247 239.5,-8247"/>
+<text text-anchor="start" x="247.5" y="-8265" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8254" 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.1722,-3607.1728C87.0236,-3936.547 125.3543,-8190.1138 204,-8288 212.8814,-8299.0543 225.8129,-8305.6799 239.4756,-8309.5534"/>
-<polygon fill="#191970" stroke="#191970" points="87.6687,-3606.7443 84.0827,-3596.7748 80.669,-3606.8046 87.6687,-3606.7443"/>
+<path fill="none" stroke="#191970" d="M84.176,-3606.954C87.0887,-3932.7556 126.1934,-8140.1859 204,-8237 212.883,-8248.053 225.8151,-8254.6782 239.4778,-8258.5516"/>
+<polygon fill="#191970" stroke="#191970" points="87.6734,-3606.6372 84.0846,-3596.6688 80.6737,-3606.6995 87.6734,-3606.6372"/>
 </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,-8249 247,-8279 363,-8279 363,-8249 247,-8249"/>
-<text text-anchor="start" x="255" y="-8267" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8256" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IteratorNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8198 247,-8228 363,-8228 363,-8198 247,-8198"/>
+<text text-anchor="start" x="255" y="-8216" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8205" 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.1758,-3606.9626C87.0861,-3932.9043 126.1605,-8142.1439 204,-8239 214.4671,-8252.0243 230.5565,-8258.9005 246.8386,-8262.3711"/>
-<polygon fill="#191970" stroke="#191970" points="87.6732,-3606.6414 84.0845,-3596.6729 80.6735,-3606.7036 87.6732,-3606.6414"/>
+<path fill="none" stroke="#191970" d="M84.1796,-3606.7438C87.1511,-3929.1129 126.9996,-8092.216 204,-8188 214.469,-8201.0228 230.5589,-8207.8986 246.8408,-8211.3692"/>
+<polygon fill="#191970" stroke="#191970" points="87.6779,-3606.5344 84.0863,-3596.5669 80.6782,-3606.5986 87.6779,-3606.5344"/>
 </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,-8200 239.5,-8230 370.5,-8230 370.5,-8200 239.5,-8200"/>
-<text text-anchor="start" x="247.5" y="-8218" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8207" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-8149 239.5,-8179 370.5,-8179 370.5,-8149 239.5,-8149"/>
+<text text-anchor="start" x="247.5" y="-8167" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8156" 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.1795,-3606.7523C87.1486,-3929.2616 126.9667,-8094.174 204,-8190 212.8844,-8201.0519 225.8171,-8207.6765 239.4799,-8211.5499"/>
-<polygon fill="#191970" stroke="#191970" points="87.6777,-3606.5386 84.0863,-3596.5711 80.678,-3606.6027 87.6777,-3606.5386"/>
+<path fill="none" stroke="#191970" d="M84.1878,-3607.0165C87.2543,-3929.6025 127.8441,-8044.2936 204,-8139 212.8861,-8150.0506 225.8193,-8156.6747 239.4822,-8160.5481"/>
+<polygon fill="#191970" stroke="#191970" points="87.6858,-3606.7756 84.0913,-3596.8091 80.6861,-3606.8418 87.6858,-3606.7756"/>
 </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,-8151 247,-8181 363,-8181 363,-8151 247,-8151"/>
-<text text-anchor="start" x="255" y="-8169" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8158" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureInputNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-8100 247,-8130 363,-8130 363,-8100 247,-8100"/>
+<text text-anchor="start" x="255" y="-8118" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8107" 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.1877,-3607.0253C87.2517,-3929.753 127.8112,-8046.2516 204,-8141 214.4708,-8154.0214 230.5611,-8160.8968 246.843,-8164.3675"/>
-<polygon fill="#191970" stroke="#191970" points="87.6856,-3606.7799 84.0913,-3596.8135 80.6859,-3606.8461 87.6856,-3606.7799"/>
+<path fill="none" stroke="#191970" d="M84.1915,-3606.8011C87.3175,-3925.9153 128.6498,-7996.3232 204,-8090 214.4727,-8103.0199 230.5636,-8109.8948 246.8454,-8113.3656"/>
+<polygon fill="#191970" stroke="#191970" points="87.6905,-3606.669 84.0932,-3596.7036 80.6908,-3606.7372 87.6905,-3606.669"/>
 </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,-8102 245.5,-8132 364.5,-8132 364.5,-8102 245.5,-8102"/>
-<text text-anchor="start" x="253.5" y="-8120" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8109" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureResultNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-8051 245.5,-8081 364.5,-8081 364.5,-8051 245.5,-8051"/>
+<text text-anchor="start" x="253.5" y="-8069" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8058" 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.1914,-3606.8099C87.3149,-3926.0658 128.6169,-7998.2812 204,-8092 214.133,-8104.5977 229.5257,-8111.4425 245.2619,-8115.0172"/>
-<polygon fill="#191970" stroke="#191970" points="87.6903,-3606.6733 84.0931,-3596.7079 80.6907,-3606.7415 87.6903,-3606.6733"/>
+<path fill="none" stroke="#191970" d="M84.2,-3607.0564C87.4223,-3926.2076 129.4925,-7948.3985 204,-8041 214.1349,-8053.5961 229.5282,-8060.4405 245.2643,-8064.0152"/>
+<polygon fill="#191970" stroke="#191970" points="87.6953,-3606.5623 84.095,-3596.598 80.6957,-3606.6327 87.6953,-3606.5623"/>
 </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,-8053 243,-8083 367,-8083 367,-8053 243,-8053"/>
-<text text-anchor="start" x="251" y="-8071" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8060" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramBuilderNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243,-8002 243,-8032 367,-8032 367,-8002 243,-8002"/>
+<text text-anchor="start" x="251" y="-8020" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-8009" 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.1998,-3607.0654C87.4197,-3926.3598 129.4596,-7950.3565 204,-8043 213.6252,-8054.9628 227.9934,-8061.7377 242.8938,-8065.451"/>
-<polygon fill="#191970" stroke="#191970" points="87.6951,-3606.5667 84.0949,-3596.6023 80.6955,-3606.637 87.6951,-3606.5667"/>
+<path fill="none" stroke="#191970" d="M84.2039,-3606.8431C87.4869,-3922.5379 130.2984,-7900.4283 204,-7992 213.6271,-8003.9613 227.9959,-8010.7357 242.8963,-8014.4489"/>
+<polygon fill="#191970" stroke="#191970" points="87.7037,-3606.7945 84.1003,-3596.8313 80.704,-3606.867 87.7037,-3606.7945"/>
 </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,-8004 238,-8034 372,-8034 372,-8004 238,-8004"/>
-<text text-anchor="start" x="246" y="-8022" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-8011" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramMeasurerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="238,-7953 238,-7983 372,-7983 372,-7953 238,-7953"/>
+<text text-anchor="start" x="246" y="-7971" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7960" 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.2037,-3606.8521C87.4843,-3922.6902 130.2655,-7902.3863 204,-7994 212.5511,-8004.6245 224.8432,-8011.1567 237.926,-8015.0863"/>
-<polygon fill="#191970" stroke="#191970" points="87.7035,-3606.799 84.1002,-3596.8357 80.7038,-3606.8714 87.7035,-3606.799"/>
+<path fill="none" stroke="#191970" d="M84.2127,-3607.0881C87.5939,-3922.6943 131.1398,-7852.502 204,-7943 212.5528,-7953.6232 224.8456,-7960.1548 237.9285,-7964.0843"/>
+<polygon fill="#191970" stroke="#191970" points="87.7087,-3606.684 84.1022,-3596.7219 80.7091,-3606.7587 87.7087,-3606.684"/>
 </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,-7955 243.5,-7985 366.5,-7985 366.5,-7955 243.5,-7955"/>
-<text text-anchor="start" x="251.5" y="-7973" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7962" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProgramRunnerNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-7904 243.5,-7934 366.5,-7934 366.5,-7904 243.5,-7904"/>
+<text text-anchor="start" x="251.5" y="-7922" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7911" 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.2125,-3607.0973C87.5913,-3922.8483 131.1069,-7854.4601 204,-7945 213.7421,-7957.1006 228.337,-7963.8925 243.4248,-7967.5768"/>
-<polygon fill="#191970" stroke="#191970" points="87.7085,-3606.6885 84.1021,-3596.7264 80.7089,-3606.7631 87.7085,-3606.6885"/>
+<path fill="none" stroke="#191970" d="M84.2166,-3606.8621C87.6586,-3918.9189 131.9448,-7804.5305 204,-7894 213.7441,-7906.0991 228.3397,-7912.8904 243.4274,-7916.5747"/>
+<polygon fill="#191970" stroke="#191970" points="87.7137,-3606.5735 84.1041,-3596.6126 80.7141,-3606.6504 87.7137,-3606.5735"/>
 </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,-7906 247,-7936 363,-7936 363,-7906 247,-7906"/>
-<text text-anchor="start" x="255" y="-7924" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7913" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RecordReaderNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7855 247,-7885 363,-7885 363,-7855 247,-7855"/>
+<text text-anchor="start" x="255" y="-7873" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7862" 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.2164,-3606.8714C87.656,-3919.073 131.9119,-7806.4886 204,-7896 214.4805,-7909.0136 230.5736,-7915.8868 246.8549,-7919.3579"/>
-<polygon fill="#191970" stroke="#191970" points="87.7135,-3606.5781 84.104,-3596.6171 80.7139,-3606.6549 87.7135,-3606.5781"/>
+<path fill="none" stroke="#191970" d="M84.2205,-3606.6362C87.7233,-3915.1436 132.7497,-7756.559 204,-7845 214.4827,-7858.0118 230.5763,-7864.8845 246.8576,-7868.3558"/>
+<polygon fill="#191970" stroke="#191970" points="87.7188,-3606.463 84.106,-3596.5033 80.7193,-3606.5422 87.7188,-3606.463"/>
 </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,-7857 243.5,-7887 366.5,-7887 366.5,-7857 243.5,-7857"/>
-<text text-anchor="start" x="251.5" y="-7875" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7864" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchCallbackNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="243.5,-7806 243.5,-7836 366.5,-7836 366.5,-7806 243.5,-7806"/>
+<text text-anchor="start" x="251.5" y="-7824" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7813" 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.2203,-3606.6454C87.7206,-3915.2977 132.7169,-7758.5171 204,-7847 213.746,-7859.0976 228.3421,-7865.8884 243.4299,-7869.5728"/>
-<polygon fill="#191970" stroke="#191970" points="87.7186,-3606.4675 84.1059,-3596.5077 80.7191,-3606.5466 87.7186,-3606.4675"/>
+<path fill="none" stroke="#191970" d="M84.2298,-3606.8725C87.8339,-3915.1817 133.59,-7708.6314 204,-7796 213.748,-7808.0959 228.3449,-7814.8862 243.4326,-7818.5706"/>
+<polygon fill="#191970" stroke="#191970" points="87.7279,-3606.6818 84.1117,-3596.7232 80.7284,-3606.7633 87.7279,-3606.6818"/>
 </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,-7808 247,-7838 363,-7838 363,-7808 247,-7808"/>
-<text text-anchor="start" x="255" y="-7826" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7815" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchPolicyNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7757 247,-7787 363,-7787 363,-7757 247,-7757"/>
+<text text-anchor="start" x="255" y="-7775" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7764" 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.2296,-3606.8819C87.8313,-3915.3376 133.5572,-7710.5895 204,-7798 214.4847,-7811.0102 230.5789,-7817.8824 246.8601,-7821.3538"/>
-<polygon fill="#191970" stroke="#191970" points="87.7277,-3606.6865 84.1116,-3596.7279 80.7281,-3606.7679 87.7277,-3606.6865"/>
+<path fill="none" stroke="#191970" d="M84.2338,-3606.6412C87.8993,-3911.362 134.3946,-7660.6594 204,-7747 214.487,-7760.0084 230.5818,-7766.8801 246.8629,-7770.3515"/>
+<polygon fill="#191970" stroke="#191970" points="87.7332,-3606.5674 84.1137,-3596.6101 80.7337,-3606.6513 87.7332,-3606.5674"/>
 </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,-7759 247,-7789 363,-7789 363,-7759 247,-7759"/>
-<text text-anchor="start" x="255" y="-7777" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7766" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchTaskNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7708 247,-7738 363,-7738 363,-7708 247,-7708"/>
+<text text-anchor="start" x="255" y="-7726" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7715" 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.2336,-3606.6506C87.8967,-3911.5179 134.3617,-7662.6174 204,-7749 214.4869,-7762.0084 230.5817,-7768.8802 246.8627,-7772.3516"/>
-<polygon fill="#191970" stroke="#191970" points="87.733,-3606.5721 84.1136,-3596.6147 80.7335,-3606.6559 87.733,-3606.5721"/>
+<path fill="none" stroke="#191970" d="M84.2434,-3606.8664C88.0122,-3911.2651 135.2337,-7612.7302 204,-7698 214.4892,-7711.0066 230.5847,-7717.8778 246.8656,-7721.3493"/>
+<polygon fill="#191970" stroke="#191970" points="87.7427,-3606.78 84.1196,-3596.824 80.7432,-3606.8664 87.7427,-3606.78"/>
 </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,-7710 247,-7740 363,-7740 363,-7710 247,-7710"/>
-<text text-anchor="start" x="255" y="-7728" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7717" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StageNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7659 247,-7689 363,-7689 363,-7659 247,-7659"/>
+<text text-anchor="start" x="255" y="-7677" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7666" 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.2432,-3606.8688C88.0088,-3911.3639 135.2003,-7614.6876 204,-7700 214.4891,-7713.0066 230.5846,-7719.8779 246.8655,-7723.3494"/>
-<polygon fill="#191970" stroke="#191970" points="87.7384,-3606.4576 84.1155,-3596.5015 80.739,-3606.5439 87.7384,-3606.4576"/>
+<path fill="none" stroke="#191970" d="M84.2532,-3607.0784C88.1258,-3911.0177 136.0714,-7564.7993 204,-7649 214.4915,-7662.0047 230.5876,-7668.8754 246.8684,-7672.3471"/>
+<polygon fill="#191970" stroke="#191970" points="87.7483,-3606.6617 84.1216,-3596.7069 80.7489,-3606.7505 87.7483,-3606.6617"/>
 </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,-7661 247,-7691 363,-7691 363,-7661 247,-7661"/>
-<text text-anchor="start" x="255" y="-7679" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7668" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StateNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7610 247,-7640 363,-7640 363,-7610 247,-7610"/>
+<text text-anchor="start" x="255" y="-7628" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7617" 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.253,-3607.0883C88.1231,-3911.1772 136.0386,-7566.7574 204,-7651 214.4914,-7664.0048 230.5875,-7670.8755 246.8683,-7674.3472"/>
-<polygon fill="#191970" stroke="#191970" points="87.7481,-3606.6665 84.1216,-3596.7117 80.7486,-3606.7553 87.7481,-3606.6665"/>
+<path fill="none" stroke="#191970" d="M84.2574,-3606.8362C88.1927,-3907.11 136.8751,-7516.8262 204,-7600 214.4938,-7613.0028 230.5906,-7619.873 246.8713,-7623.3448"/>
+<polygon fill="#191970" stroke="#191970" points="87.754,-3606.5433 84.1237,-3596.5898 80.7545,-3606.6347 87.754,-3606.5433"/>
 </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,-7612 247,-7642 363,-7642 363,-7612 247,-7612"/>
-<text text-anchor="start" x="255" y="-7630" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7619" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::StepNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247,-7561 247,-7591 363,-7591 363,-7561 247,-7561"/>
+<text text-anchor="start" x="255" y="-7579" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7568" 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.2572,-3606.8461C88.19,-3907.2695 136.8423,-7518.7843 204,-7602 214.4938,-7615.0029 230.5905,-7621.8731 246.8711,-7625.3449"/>
-<polygon fill="#191970" stroke="#191970" points="87.7537,-3606.5481 84.1236,-3596.5946 80.7543,-3606.6394 87.7537,-3606.5481"/>
+<path fill="none" stroke="#191970" d="M84.2676,-3607.0439C88.3093,-3906.7868 137.7122,-7468.8945 204,-7551 214.4963,-7564.0009 230.5937,-7570.8705 246.8742,-7574.3424"/>
+<polygon fill="#191970" stroke="#191970" points="87.764,-3606.7455 84.13,-3596.7934 80.7647,-3606.8395 87.764,-3606.7455"/>
 </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,-7563 246.5,-7593 363.5,-7593 363.5,-7563 246.5,-7563"/>
-<text text-anchor="start" x="254.5" y="-7581" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
-<text text-anchor="middle" x="305" y="-7570" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningOptionsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="246.5,-7512 246.5,-7542 363.5,-7542 363.5,-7512 246.5,-7512"/>
+<text text-anchor="start" x="254.5" y="-7530" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::auto_scheduler</text>
+<text text-anchor="middle" x="305" y="-7519" 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.2674,-3607.054C88.3066,-3906.9481 137.6794,-7470.8526 204,-7553 214.3827,-7565.8604 230.2462,-7572.7214 246.3461,-7576.2287"/>
-<polygon fill="#191970" stroke="#191970" points="87.7638,-3606.7505 84.1299,-3596.7983 80.7644,-3606.8444 87.7638,-3606.7505"/>
+<path fill="none" stroke="#191970" d="M84.2719,-3606.7962C88.3769,-3902.8348 138.5155,-7420.9208 204,-7502 214.3852,-7514.8584 230.2494,-7521.7188 246.3493,-7525.2262"/>
+<polygon fill="#191970" stroke="#191970" points="87.7699,-3606.623 84.1321,-3596.6724 80.7706,-3606.7198 87.7699,-3606.623"/>
 </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,-7524.5 247.5,-7543.5 362.5,-7543.5 362.5,-7524.5 247.5,-7524.5"/>
-<text text-anchor="middle" x="305" y="-7531.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseAttrsNode</text>
+<polygon fill="#ffffff" stroke="#000000" points="247.5,-7473.5 247.5,-7492.5 362.5,-7492.5 362.5,-7473.5 247.5,-7473.5"/>
+<text text-anchor="middle" x="305" y="-7480.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.1204,-3607.0094C101.5325,-3900.1259 292.9168,-7318.1971 304.4559,-7524.2828"/>
-<polygon fill="#191970" stroke="#191970" points="88.5933,-3606.4272 84.5397,-3596.6385 81.6043,-3606.8186 88.5933,-3606.4272"/>
+<path fill="none" stroke="#191970" d="M85.1204,-3606.7508C101.5325,-3896.0799 292.9168,-7269.9856 304.4559,-7473.4084"/>
+<polygon fill="#191970" stroke="#191970" points="88.6005,-3606.2997 84.5397,-3596.514 81.6117,-3606.6962 88.6005,-3606.2997"/>
 </g>
-<!-- Node337 -->
-<g id="node346" class="node">
-<title>Node337</title>
-<g id="a_node346"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions. ">
+<!-- Node339 -->
+<g id="node348" class="node">
+<title>Node339</title>
+<g id="a_node348"><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,-5032.5 248.5,-5051.5 361.5,-5051.5 361.5,-5032.5 248.5,-5032.5"/>
 <text text-anchor="middle" x="305" y="-5039.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExprNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node337 -->
-<g id="edge341" class="edge">
-<title>Node0&#45;&gt;Node337</title>
+<!-- Node0&#45;&gt;Node339 -->
+<g id="edge343" class="edge">
+<title>Node0&#45;&gt;Node339</title>
 <path fill="none" stroke="#191970" d="M84.2356,-3607.0937C86.3644,-3772.9855 104.57,-4912.8098 204,-5023 215.2359,-5035.4518 231.8379,-5041.321 248.3504,-5043.7629"/>
 <polygon fill="#191970" stroke="#191970" points="87.7326,-3606.8162 84.1092,-3596.8602 80.7331,-3606.9027 87.7326,-3606.8162"/>
 </g>
-<!-- Node413 -->
-<g id="node422" class="node">
-<title>Node413</title>
-<g id="a_node422"><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,-4994.5 226,-5013.5 384,-5013.5 384,-4994.5 226,-4994.5"/>
-<text text-anchor="middle" x="305" y="-5001.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::CompilationConfigNode</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.2829,-3607.0508C86.7691,-3770.2954 107.1587,-4877.9217 204,-4985 209.984,-4991.6166 217.4833,-4996.3733 225.6778,-4999.7443"/>
-<polygon fill="#191970" stroke="#191970" points="87.776,-3606.5473 84.129,-3596.6 80.7767,-3606.6505 87.776,-3606.5473"/>
-</g>
-<!-- Node414 -->
-<g id="node423" class="node">
-<title>Node414</title>
-<g id="a_node423"><a xlink:href="structtvm_1_1ConstantInfoNode.html" target="_top" xlink:title="tvm::ConstantInfoNode">
-<polygon fill="#ffffff" stroke="#000000" points="240,-4956.5 240,-4975.5 370,-4975.5 370,-4956.5 240,-4956.5"/>
-<text text-anchor="middle" x="305" y="-4963.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantInfoNode</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.3325,-3607.0004C87.1836,-3767.5427 109.7446,-4843.0299 204,-4947 213.3473,-4957.3107 226.3749,-4963.1022 239.9723,-4966.1711"/>
-<polygon fill="#191970" stroke="#191970" points="87.8268,-3606.6343 84.1547,-3596.6962 80.8278,-3606.7551 87.8268,-3606.6343"/>
-</g>
 <!-- Node415 -->
 <g id="node424" class="node">
 <title>Node415</title>
-<g id="a_node424"><a xlink:href="structtvm_1_1ConstantMemoryPoolsNode.html" target="_top" xlink:title="tvm::ConstantMemoryPoolsNode">
-<polygon fill="#ffffff" stroke="#000000" points="216.5,-4918.5 216.5,-4937.5 393.5,-4937.5 393.5,-4918.5 216.5,-4918.5"/>
-<text text-anchor="middle" x="305" y="-4925.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantMemoryPoolsNode</text>
+<g id="a_node424"><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,-4994.5 226,-5013.5 384,-5013.5 384,-4994.5 226,-4994.5"/>
+<text text-anchor="middle" x="305" y="-5001.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::CompilationConfigNode</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.3842,-3606.9281C87.6069,-3764.6645 112.325,-4808.1316 204,-4909 207.6001,-4912.9611 211.7435,-4916.2548 216.2533,-4918.983"/>
-<polygon fill="#191970" stroke="#191970" points="87.8806,-3606.707 84.182,-3596.7788 80.882,-3606.8466 87.8806,-3606.707"/>
+<path fill="none" stroke="#191970" d="M84.2829,-3607.0508C86.7691,-3770.2954 107.1587,-4877.9217 204,-4985 209.984,-4991.6166 217.4833,-4996.3733 225.6778,-4999.7443"/>
+<polygon fill="#191970" stroke="#191970" points="87.776,-3606.5473 84.129,-3596.6 80.7767,-3606.6505 87.776,-3606.5473"/>
 </g>
 <!-- Node416 -->
 <g id="node425" class="node">
 <title>Node416</title>
-<g id="a_node425"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title="tvm::DiagnosticContextNode">
-<polygon fill="#ffffff" stroke="#000000" points="226,-4880.5 226,-4899.5 384,-4899.5 384,-4880.5 226,-4880.5"/>
-<text text-anchor="middle" x="305" y="-4887.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticContextNode</text>
+<g id="a_node425"><a xlink:href="structtvm_1_1ConstantInfoNode.html" target="_top" xlink:title="tvm::ConstantInfoNode">
+<polygon fill="#ffffff" stroke="#000000" points="240,-4956.5 240,-4975.5 370,-4975.5 370,-4956.5 240,-4956.5"/>
+<text text-anchor="middle" x="305" y="-4963.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantInfoNode</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="M84.4491,-3607.3011C88.0929,-3763.6851 114.989,-4773.3244 204,-4871 210.009,-4877.5939 217.5235,-4882.3368 225.7263,-4885.7003"/>
-<polygon fill="#191970" stroke="#191970" points="87.9379,-3606.7649 84.2109,-3596.8472 80.9397,-3606.9244 87.9379,-3606.7649"/>
+<path fill="none" stroke="#191970" d="M84.3325,-3607.0004C87.1836,-3767.5427 109.7446,-4843.0299 204,-4947 213.3473,-4957.3107 226.3749,-4963.1022 239.9723,-4966.1711"/>
+<polygon fill="#191970" stroke="#191970" points="87.8268,-3606.6343 84.1547,-3596.6962 80.8278,-3606.7551 87.8268,-3606.6343"/>
 </g>
 <!-- Node417 -->
 <g id="node426" class="node">
 <title>Node417</title>
-<g id="a_node426"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message. ">
-<polygon fill="#ffffff" stroke="#000000" points="245.5,-4842.5 245.5,-4861.5 364.5,-4861.5 364.5,-4842.5 245.5,-4842.5"/>
-<text text-anchor="middle" x="305" y="-4849.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticNode</text>
+<g id="a_node426"><a xlink:href="structtvm_1_1ConstantMemoryPoolsNode.html" target="_top" xlink:title="tvm::ConstantMemoryPoolsNode">
+<polygon fill="#ffffff" stroke="#000000" points="216.5,-4918.5 216.5,-4937.5 393.5,-4937.5 393.5,-4918.5 216.5,-4918.5"/>
+<text text-anchor="middle" x="305" y="-4925.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ConstantMemoryPoolsNode</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="M84.494,-3606.702C88.478,-3758.4711 117.4663,-4738.3118 204,-4833 214.5921,-4844.5903 229.8368,-4850.4574 245.2837,-4853.1664"/>
-<polygon fill="#191970" stroke="#191970" points="87.9891,-3606.4633 84.2329,-3596.5567 80.9914,-3606.6434 87.9891,-3606.4633"/>
+<path fill="none" stroke="#191970" d="M84.3842,-3606.9281C87.6069,-3764.6645 112.325,-4808.1316 204,-4909 207.6001,-4912.9611 211.7435,-4916.2548 216.2533,-4918.983"/>
+<polygon fill="#191970" stroke="#191970" points="87.8806,-3606.707 84.182,-3596.7788 80.882,-3606.8466 87.8806,-3606.707"/>
 </g>
 <!-- Node418 -->
 <g id="node427" class="node">
 <title>Node418</title>
-<g id="a_node427"><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,-4804.5 223.5,-4823.5 386.5,-4823.5 386.5,-4804.5 223.5,-4804.5"/>
-<text text-anchor="middle" x="305" y="-4811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticRendererNode</text>
+<g id="a_node427"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title="tvm::DiagnosticContextNode">
+<polygon fill="#ffffff" stroke="#000000" points="226,-4880.5 226,-4899.5 384,-4899.5 384,-4880.5 226,-4880.5"/>
+<text text-anchor="middle" x="305" y="-4887.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticContextNode</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="M84.5656,-3607.0104C88.9897,-3757.1163 120.114,-4703.4851 204,-4795 209.4253,-4800.9187 216.0641,-4805.3437 223.3221,-4808.6173"/>
-<polygon fill="#191970" stroke="#191970" points="88.0522,-3606.4945 84.2644,-3596.5999 81.0551,-3606.697 88.0522,-3606.4945"/>
+<path fill="none" stroke="#191970" d="M84.4491,-3607.3011C88.0929,-3763.6851 114.989,-4773.3244 204,-4871 210.009,-4877.5939 217.5235,-4882.3368 225.7263,-4885.7003"/>
+<polygon fill="#191970" stroke="#191970" points="87.9379,-3606.7649 84.2109,-3596.8472 80.9397,-3606.9244 87.9379,-3606.7649"/>
 </g>
 <!-- Node419 -->
 <g id="node428" class="node">
 <title>Node419</title>
-<g id="a_node428"><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,-4766.5 251.5,-4785.5 358.5,-4785.5 358.5,-4766.5 251.5,-4766.5"/>
-<text text-anchor="middle" x="305" y="-4773.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::EnvFuncNode</text>
+<g id="a_node428"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message. ">
+<polygon fill="#ffffff" stroke="#000000" points="245.5,-4842.5 245.5,-4861.5 364.5,-4861.5 364.5,-4842.5 245.5,-4842.5"/>
+<text text-anchor="middle" x="305" y="-4849.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticNode</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="M84.6274,-3606.8359C89.4518,-3753.6742 122.6692,-4668.5567 204,-4757 216.0169,-4770.0678 233.9502,-4775.8476 251.3854,-4778.0307"/>
-<polygon fill="#191970" stroke="#191970" points="88.1188,-3606.5094 84.2976,-3596.6277 81.1225,-3606.7356 88.1188,-3606.5094"/>
+<path fill="none" stroke="#191970" d="M84.494,-3606.702C88.478,-3758.4711 117.4663,-4738.3118 204,-4833 214.5921,-4844.5903 229.8368,-4850.4574 245.2837,-4853.1664"/>
+<polygon fill="#191970" stroke="#191970" points="87.9891,-3606.4633 84.2329,-3596.5567 80.9914,-3606.6434 87.9891,-3606.4633"/>
 </g>
 <!-- Node420 -->
 <g id="node429" class="node">
 <title>Node420</title>
-<g id="a_node429"><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,-4728.5 241.5,-4747.5 368.5,-4747.5 368.5,-4728.5 241.5,-4728.5"/>
-<text text-anchor="middle" x="305" y="-4735.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GenericFuncNode</text>
+<g id="a_node429"><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,-4804.5 223.5,-4823.5 386.5,-4823.5 386.5,-4804.5 223.5,-4804.5"/>
+<text text-anchor="middle" x="305" y="-4811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::DiagnosticRendererNode</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="M84.6917,-3606.6369C89.9225,-3750.1077 125.2186,-4633.6213 204,-4719 213.7402,-4729.5558 227.3417,-4735.3518 241.4129,-4738.3376"/>
-<polygon fill="#191970" stroke="#191970" points="88.1894,-3606.5074 84.3326,-3596.6395 81.1939,-3606.7588 88.1894,-3606.5074"/>
+<path fill="none" stroke="#191970" d="M84.5656,-3607.0104C88.9897,-3757.1163 120.114,-4703.4851 204,-4795 209.4253,-4800.9187 216.0641,-4805.3437 223.3221,-4808.6173"/>
+<polygon fill="#191970" stroke="#191970" points="88.0522,-3606.4945 84.2644,-3596.5999 81.0551,-3606.697 88.0522,-3606.4945"/>
 </g>
 <!-- Node421 -->
 <g id="node430" class="node">
 <title>Node421</title>
-<g id="a_node430"><a xlink:href="classtvm_1_1GlobalVarSupplyNode.html" target="_top" xlink:title="GlobalVarSupply can be used to generate unique GlobalVars. ">
-<polygon fill="#ffffff" stroke="#000000" points="231,-4690.5 231,-4709.5 379,-4709.5 379,-4690.5 231,-4690.5"/>
-<text text-anchor="middle" x="305" y="-4697.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GlobalVarSupplyNode</text>
+<g id="a_node430"><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,-4766.5 251.5,-4785.5 358.5,-4785.5 358.5,-4766.5 251.5,-4766.5"/>
+<text text-anchor="middle" x="305" y="-4773.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::EnvFuncNode</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.7753,-3606.8362C90.4766,-3748.1257 127.8387,-4598.7616 204,-4681 211.2741,-4688.8545 220.6865,-4694.0709 230.8354,-4697.4543"/>
-<polygon fill="#191970" stroke="#191970" points="88.2643,-3606.4877 84.3694,-3596.6348 81.2698,-3606.7661 88.2643,-3606.4877"/>
+<path fill="none" stroke="#191970" d="M84.6274,-3606.8359C89.4518,-3753.6742 122.6692,-4668.5567 204,-4757 216.0169,-4770.0678 233.9502,-4775.8476 251.3854,-4778.0307"/>
+<polygon fill="#191970" stroke="#191970" points="88.1188,-3606.5094 84.2976,-3596.6277 81.1225,-3606.7356 88.1188,-3606.5094"/>
 </g>
 <!-- Node422 -->
 <g id="node431" class="node">
 <title>Node422</title>
-<g id="a_node431"><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,-4652.5 204,-4671.5 406,-4671.5 406,-4652.5 204,-4652.5"/>
-<text text-anchor="middle" x="305" y="-4659.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::instrument::PassInstrumentNode</text>
+<g id="a_node431"><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,-4728.5 241.5,-4747.5 368.5,-4747.5 368.5,-4728.5 241.5,-4728.5"/>
+<text text-anchor="middle" x="305" y="-4735.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GenericFuncNode</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="M84.8641,-3606.9924C91.0476,-3745.8933 130.4478,-4563.8888 204,-4643 207.4017,-4646.6588 211.2675,-4649.7445 215.4553,-4652.3388"/>
-<polygon fill="#191970" stroke="#191970" points="88.3437,-3606.4497 84.408,-3596.613 81.3505,-3606.7571 88.3437,-3606.4497"/>
+<path fill="none" stroke="#191970" d="M84.6917,-3606.6369C89.9225,-3750.1077 125.2186,-4633.6213 204,-4719 213.7402,-4729.5558 227.3417,-4735.3518 241.4129,-4738.3376"/>
+<polygon fill="#191970" stroke="#191970" points="88.1894,-3606.5074 84.3326,-3596.6395 81.1939,-3606.7588 88.1894,-3606.5074"/>
 </g>
 <!-- Node423 -->
 <g id="node432" class="node">
 <title>Node423</title>
-<g id="a_node432"><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,-4614.5 248.5,-4633.5 361.5,-4633.5 361.5,-4614.5 248.5,-4614.5"/>
-<text text-anchor="middle" x="305" y="-4621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IRModuleNode</text>
+<g id="a_node432"><a xlink:href="classtvm_1_1GlobalVarSupplyNode.html" target="_top" xlink:title="GlobalVarSupply can be used to generate unique GlobalVars. ">
+<polygon fill="#ffffff" stroke="#000000" points="231,-4690.5 231,-4709.5 379,-4709.5 379,-4690.5 231,-4690.5"/>
+<text text-anchor="middle" x="305" y="-4697.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::GlobalVarSupplyNode</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.9381,-3606.6943C91.5518,-3741.83 132.9744,-4528.9263 204,-4605 215.3848,-4617.194 231.9264,-4623.0152 248.3392,-4625.4921"/>
-<polygon fill="#191970" stroke="#191970" points="88.4277,-3606.3928 84.4486,-3596.5736 81.4358,-3606.731 88.4277,-3606.3928"/>
+<path fill="none" stroke="#191970" d="M84.7753,-3606.8362C90.4766,-3748.1257 127.8387,-4598.7616 204,-4681 211.2741,-4688.8545 220.6865,-4694.0709 230.8354,-4697.4543"/>
+<polygon fill="#191970" stroke="#191970" points="88.2643,-3606.4877 84.3694,-3596.6348 81.2698,-3606.7661 88.2643,-3606.4877"/>
 </g>
 <!-- Node424 -->
 <g id="node433" class="node">
 <title>Node424</title>
-<g id="a_node433"><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,-4576.5 242,-4595.5 368,-4595.5 368,-4576.5 242,-4576.5"/>
-<text text-anchor="middle" x="305" y="-4583.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::MemoryInfoNode</text>
+<g id="a_node433"><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,-4652.5 204,-4671.5 406,-4671.5 406,-4652.5 204,-4652.5"/>
+<text text-anchor="middle" x="305" y="-4659.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::instrument::PassInstrumentNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node424 -->
 <g id="edge428" class="edge">
 <title>Node0&#45;&gt;Node424</title>
-<path fill="none" stroke="#191970" d="M85.0455,-3606.7391C92.2244,-3738.9509 135.9768,-4492.782 204,-4566 213.8549,-4576.6075 227.5849,-4582.5047 241.7512,-4585.6104"/>
-<polygon fill="#191970" stroke="#191970" points="88.5271,-3606.3006 84.4958,-3596.5027 81.5372,-3606.676 88.5271,-3606.3006"/>
+<path fill="none" stroke="#191970" d="M84.8641,-3606.9924C91.0476,-3745.8933 130.4478,-4563.8888 204,-4643 207.4017,-4646.6588 211.2675,-4649.7445 215.4553,-4652.3388"/>
+<polygon fill="#191970" stroke="#191970" points="88.3437,-3606.4497 84.408,-3596.613 81.3505,-3606.7571 88.3437,-3606.4497"/>
 </g>
 <!-- Node425 -->
 <g id="node434" class="node">
 <title>Node425</title>
-<g id="a_node434"><a xlink:href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information. ">
-<polygon fill="#ffffff" stroke="#000000" points="247,-4527 247,-4557 363,-4557 363,-4527 247,-4527"/>
-<text text-anchor="start" x="255" y="-4545" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4534" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ArgInfoNode</text>
+<g id="a_node434"><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,-4614.5 248.5,-4633.5 361.5,-4633.5 361.5,-4614.5 248.5,-4614.5"/>
+<text text-anchor="middle" x="305" y="-4621.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::IRModuleNode</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="M85.2312,-3606.8959C93.3617,-3735.5083 140.958,-4446.305 204,-4517 214.9405,-4529.2686 230.8651,-4535.974 246.8481,-4539.5209"/>
-<polygon fill="#191970" stroke="#191970" points="88.704,-3606.3517 84.5858,-3596.59 81.7177,-3606.7892 88.704,-3606.3517"/>
+<path fill="none" stroke="#191970" d="M84.9381,-3606.6943C91.5518,-3741.83 132.9744,-4528.9263 204,-4605 215.3848,-4617.194 231.9264,-4623.0152 248.3392,-4625.4921"/>
+<polygon fill="#191970" stroke="#191970" points="88.4277,-3606.3928 84.4486,-3596.5736 81.4358,-3606.731 88.4277,-3606.3928"/>
+</g>
+<!-- Node426 -->
+<g id="node435" class="node">
+<title>Node426</title>
+<g id="a_node435"><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,-4576.5 242,-4595.5 368,-4595.5 368,-4576.5 242,-4576.5"/>
+<text text-anchor="middle" x="305" y="-4583.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::MemoryInfoNode</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node426 -->
+<g id="edge430" class="edge">
+<title>Node0&#45;&gt;Node426</title>
+<path fill="none" stroke="#191970" d="M85.0455,-3606.7391C92.2244,-3738.9509 135.9768,-4492.782 204,-4566 213.8549,-4576.6075 227.5849,-4582.5047 241.7512,-4585.6104"/>
+<polygon fill="#191970" stroke="#191970" points="88.5271,-3606.3006 84.4958,-3596.5027 81.5372,-3606.676 88.5271,-3606.3006"/>
 </g>
 <!-- Node427 -->
 <g id="node436" class="node">
 <title>Node427</title>
-<g id="a_node436"><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,-4478 247,-4508 363,-4508 363,-4478 247,-4478"/>
-<text text-anchor="start" x="255" y="-4496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
-<text text-anchor="middle" x="305" y="-4485" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderInputNode</text>
+<g id="a_node436"><a xlink:href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information. ">
+<polygon fill="#ffffff" stroke="#000000" points="247,-4527 247,-4557 363,-4557 363,-4527 247,-4527"/>
+<text text-anchor="start" x="255" y="-4545" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4534" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ArgInfoNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node427 -->
 <g id="edge431" class="edge">
 <title>Node0&#45;&gt;Node427</title>
+<path fill="none" stroke="#191970" d="M85.2312,-3606.8959C93.3617,-3735.5083 140.958,-4446.305 204,-4517 214.9405,-4529.2686 230.8651,-4535.974 246.8481,-4539.5209"/>
+<polygon fill="#191970" stroke="#191970" points="88.704,-3606.3517 84.5858,-3596.59 81.7177,-3606.7892 88.704,-3606.3517"/>
+</g>
+<!-- Node429 -->
+<g id="node438" class="node">
+<title>Node429</title>
+<g id="a_node438"><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,-4478 247,-4508 363,-4508 363,-4478 247,-4478"/>
+<text text-anchor="start" x="255" y="-4496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
+<text text-anchor="middle" x="305" y="-4485" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderInputNode</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node429 -->
+<g id="edge433" class="edge">
+<title>Node0&#45;&gt;Node429</title>
 <path fill="none" stroke="#191970" d="M85.3872,-3606.9961C94.2218,-3731.8646 144.173,-4401.3847 204,-4468 214.9837,-4480.23 230.9208,-4486.9241 246.9019,-4490.4728"/>
 <polygon fill="#191970" stroke="#191970" points="88.8527,-3606.3814 84.6616,-3596.6508 81.8699,-3606.8712 88.8527,-3606.3814"/>
 </g>
-<!-- Node428 -->
-<g id="node437" class="node">
-<title>Node428</title>
-<g id="a_node437"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface. ">
+<!-- Node430 -->
+<g id="node439" class="node">
+<title>Node430</title>
+<g id="a_node439"><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,-4429 247,-4459 363,-4459 363,-4429 247,-4429"/>
 <text text-anchor="start" x="255" y="-4447" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4436" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node428 -->
-<g id="edge432" class="edge">
-<title>Node0&#45;&gt;Node428</title>
+<!-- Node0&#45;&gt;Node430 -->
+<g id="edge434" class="edge">
+<title>Node0&#45;&gt;Node430</title>
 <path fill="none" stroke="#191970" d="M85.5544,-3606.9974C95.1115,-3727.7437 147.3666,-4356.4374 204,-4419 215.0317,-4431.1867 230.9827,-4437.8683 246.9618,-4441.4188"/>
 <polygon fill="#191970" stroke="#191970" points="89.0152,-3606.3597 84.7431,-3596.6643 82.0366,-3606.9076 89.0152,-3606.3597"/>
 </g>
-<!-- Node430 -->
-<g id="node439" class="node">
-<title>Node430</title>
-<g id="a_node439"><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. ">
+<!-- Node432 -->
+<g id="node441" class="node">
+<title>Node432</title>
+<g id="a_node441"><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,-4380 247,-4410 363,-4410 363,-4380 247,-4380"/>
 <text text-anchor="start" x="255" y="-4398" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4387" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::BuilderResultNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node430 -->
-<g id="edge434" class="edge">
-<title>Node0&#45;&gt;Node430</title>
+<!-- Node0&#45;&gt;Node432 -->
+<g id="edge436" class="edge">
+<title>Node0&#45;&gt;Node432</title>
 <path fill="none" stroke="#191970" d="M84.1722,-3606.8438C85.5366,-3717.0979 97.6283,-4253.5295 204,-4370 215.0245,-4382.0711 230.8766,-4388.7319 246.7653,-4392.2991"/>
 <polygon fill="#191970" stroke="#191970" points="87.6687,-3606.492 84.0617,-3596.5301 80.6691,-3606.567 87.6687,-3606.492"/>
 </g>
-<!-- Node431 -->
-<g id="node440" class="node">
-<title>Node431</title>
-<g id="a_node440"><a xlink:href="classtvm_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model. ">
+<!-- Node433 -->
+<g id="node442" class="node">
+<title>Node433</title>
+<g id="a_node442"><a xlink:href="classtvm_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-4331 247,-4361 363,-4361 363,-4331 247,-4331"/>
 <text text-anchor="start" x="255" y="-4349" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4338" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CostModelNode</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="M84.396,-3606.9249C86.9158,-3713.207 104.0009,-4212.5984 204,-4321 215.0846,-4333.016 230.9543,-4339.6606 246.8407,-4343.2299"/>
 <polygon fill="#191970" stroke="#191970" points="87.8896,-3606.5914 84.1705,-3596.6709 80.8913,-3606.7455 87.8896,-3606.5914"/>
 </g>
-<!-- Node433 -->
-<g id="node442" class="node">
-<title>Node433</title>
-<g id="a_node442"><a xlink:href="classtvm_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title="tvm::meta_schedule\l::DatabaseNode">
+<!-- Node435 -->
+<g id="node444" class="node">
+<title>Node435</title>
+<g id="a_node444"><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,-4282 247,-4312 363,-4312 363,-4282 247,-4282"/>
 <text text-anchor="start" x="255" y="-4300" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4289" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DatabaseNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node433 -->
-<g id="edge437" class="edge">
-<title>Node0&#45;&gt;Node433</title>
+<!-- Node0&#45;&gt;Node435 -->
+<g id="edge439" class="edge">
+<title>Node0&#45;&gt;Node435</title>
 <path fill="none" stroke="#191970" d="M84.6361,-3606.5465C88.3273,-3707.7616 110.2157,-4171.4879 204,-4272 215.1527,-4283.9528 231.0424,-4290.5789 246.9261,-4294.1507"/>
 <polygon fill="#191970" stroke="#191970" points="88.1323,-3606.3735 84.2873,-3596.501 81.1365,-3606.6164 88.1323,-3606.3735"/>
 </g>
-<!-- Node435 -->
-<g id="node444" class="node">
-<title>Node435</title>
-<g id="a_node444"><a xlink:href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high&#45;level IR. ">
+<!-- Node437 -->
+<g id="node446" class="node">
+<title>Node437</title>
+<g id="a_node446"><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,-4233 247,-4263 363,-4263 363,-4233 247,-4233"/>
 <text text-anchor="start" x="255" y="-4251" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4240" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ExtractedTaskNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node435 -->
-<g id="edge439" class="edge">
-<title>Node0&#45;&gt;Node435</title>
+<!-- Node0&#45;&gt;Node437 -->
+<g id="edge441" class="edge">
+<title>Node0&#45;&gt;Node437</title>
 <path fill="none" stroke="#191970" d="M84.9439,-3606.9631C89.9622,-3704.571 116.6571,-4130.6088 204,-4223 215.1685,-4234.814 230.9674,-4241.4112 246.7605,-4244.9995"/>
 <polygon fill="#191970" stroke="#191970" points="88.4276,-3606.5467 84.4367,-3596.7323 81.4362,-3606.8933 88.4276,-3606.5467"/>
 </g>
-<!-- Node436 -->
-<g id="node445" class="node">
-<title>Node436</title>
-<g id="a_node445"><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. ">
+<!-- Node438 -->
+<g id="node447" class="node">
+<title>Node438</title>
+<g id="a_node447"><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,-4184 241,-4214 369,-4214 369,-4184 241,-4184"/>
 <text text-anchor="start" x="249" y="-4202" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4191" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FeatureExtractorNode</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.2787,-3606.8869C91.6471,-3699.7262 122.9282,-4089.5344 204,-4174 213.8193,-4184.2303 227.1134,-4190.5373 240.8281,-4194.3651"/>
 <polygon fill="#191970" stroke="#191970" points="88.768,-3606.6085 84.61,-3596.8637 81.7835,-3607.0745 88.768,-3606.6085"/>
 </g>
-<!-- Node438 -->
-<g id="node447" class="node">
-<title>Node438</title>
-<g id="a_node447"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available. ">
+<!-- Node440 -->
+<g id="node449" class="node">
+<title>Node440</title>
+<g id="a_node449"><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,-4135 239.5,-4165 370.5,-4165 370.5,-4135 239.5,-4135"/>
 <text text-anchor="start" x="247.5" y="-4153" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4142" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCallbackNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node438 -->
-<g id="edge442" class="edge">
-<title>Node0&#45;&gt;Node438</title>
+<!-- Node0&#45;&gt;Node440 -->
+<g id="edge444" class="edge">
+<title>Node0&#45;&gt;Node440</title>
 <path fill="none" stroke="#191970" d="M85.6769,-3606.8823C93.4961,-3694.8933 129.197,-4048.4418 204,-4125 213.5312,-4134.7549 226.2254,-4140.9304 239.3878,-4144.7893"/>
 <polygon fill="#191970" stroke="#191970" points="89.1609,-3606.5448 84.8085,-3596.8853 82.1871,-3607.1507 89.1609,-3606.5448"/>
 </g>
-<!-- Node440 -->
-<g id="node449" class="node">
-<title>Node440</title>
-<g id="a_node449"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured. ">
+<!-- Node442 -->
+<g id="node451" class="node">
+<title>Node442</title>
+<g id="a_node451"><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,-4086 235.5,-4116 374.5,-4116 374.5,-4086 235.5,-4086"/>
 <text text-anchor="start" x="243.5" y="-4104" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4093" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MeasureCandidateNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node440 -->
-<g id="edge444" class="edge">
-<title>Node0&#45;&gt;Node440</title>
+<!-- Node0&#45;&gt;Node442 -->
+<g id="edge446" class="edge">
+<title>Node0&#45;&gt;Node442</title>
 <path fill="none" stroke="#191970" d="M86.1537,-3606.8887C95.5318,-3689.8629 135.4408,-4007.3033 204,-4076 212.6132,-4084.6305 223.7061,-4090.4478 235.3722,-4094.3355"/>
 <polygon fill="#191970" stroke="#191970" points="89.6144,-3606.3402 85.0333,-3596.7871 82.6571,-3607.112 89.6144,-3606.3402"/>
 </g>
-<!-- Node441 -->
-<g id="node450" class="node">
-<title>Node441</title>
-<g id="a_node450"><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. ">
+<!-- Node443 -->
+<g id="node452" class="node">
+<title>Node443</title>
+<g id="a_node452"><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,-4037 247,-4067 363,-4067 363,-4037 247,-4037"/>
 <text text-anchor="start" x="255" y="-4055" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-4044" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MutatorNode</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="M86.7255,-3606.838C97.7743,-3684.4312 141.6352,-3966.0901 204,-4027 215.5014,-4038.2331 231.2131,-4044.6773 246.8175,-4048.3047"/>
 <polygon fill="#191970" stroke="#191970" points="90.1391,-3605.9767 85.2853,-3596.5591 83.2068,-3606.948 90.1391,-3605.9767"/>
 </g>
-<!-- Node443 -->
-<g id="node452" class="node">
-<title>Node443</title>
-<g id="a_node452"><a xlink:href="classtvm_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule. ">
+<!-- Node445 -->
+<g id="node454" class="node">
+<title>Node445</title>
+<g id="a_node454"><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,-3988 247,-4018 363,-4018 363,-3988 247,-3988"/>
 <text text-anchor="start" x="255" y="-4006" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3995" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PostprocNode</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="M87.3748,-3606.4556C100.1523,-3677.9458 147.7014,-3924.7227 204,-3978 215.6115,-3988.9883 231.2653,-3995.367 246.7788,-3999.01"/>
 <polygon fill="#191970" stroke="#191970" points="90.8103,-3605.7834 85.6266,-3596.5433 83.9167,-3606.9993 90.8103,-3605.7834"/>
 </g>
-<!-- Node445 -->
-<g id="node454" class="node">
-<title>Node445</title>
-<g id="a_node454"><a xlink:href="classtvm_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler. ">
+<!-- Node447 -->
+<g id="node456" class="node">
+<title>Node447</title>
+<g id="a_node456"><a xlink:href="classtvm_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler. ">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3939 247,-3969 363,-3969 363,-3939 247,-3939"/>
 <text text-anchor="start" x="255" y="-3957" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3946" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ProfilerNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node445 -->
-<g id="edge449" class="edge">
-<title>Node0&#45;&gt;Node445</title>
+<!-- Node0&#45;&gt;Node447 -->
+<g id="edge451" class="edge">
+<title>Node0&#45;&gt;Node447</title>
 <path fill="none" stroke="#191970" d="M84.7178,-3606.7589C87.9578,-3665.3659 105.8036,-3839.6985 204,-3929 215.7603,-3939.6951 231.37,-3945.9914 246.793,-3949.6493"/>
 <polygon fill="#191970" stroke="#191970" points="88.208,-3606.4658 84.245,-3596.64 81.2156,-3606.7925 88.208,-3606.4658"/>
 </g>
-<!-- Node446 -->
-<g id="node455" class="node">
-<title>Node446</title>
-<g id="a_node455"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner&#39;s output. ">
+<!-- Node448 -->
+<g id="node457" class="node">
+<title>Node448</title>
+<g id="a_node457"><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,-3890 247,-3920 363,-3920 363,-3890 247,-3890"/>
 <text text-anchor="start" x="255" y="-3908" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3897" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerFutureNode</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="M86.0139,-3606.6974C92.5043,-3659.5503 117.7641,-3805.5227 204,-3880 215.9622,-3890.3311 231.5465,-3896.5206 246.8793,-3900.1927"/>
 <polygon fill="#191970" stroke="#191970" points="89.477,-3606.1737 84.8717,-3596.6322 82.5217,-3606.9631 89.477,-3606.1737"/>
 </g>
-<!-- Node447 -->
-<g id="node456" class="node">
-<title>Node447</title>
-<g id="a_node456"><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. ">
+<!-- Node449 -->
+<g id="node458" class="node">
+<title>Node449</title>
+<g id="a_node458"><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,-3841 247,-3871 363,-3871 363,-3841 247,-3841"/>
 <text text-anchor="start" x="255" y="-3859" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3848" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerInputNode</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="M87.7374,-3606.4645C97.7139,-3652.9344 129.4569,-3770.943 204,-3831 216.1676,-3840.803 231.6437,-3846.8356 246.8034,-3850.5265"/>
 <polygon fill="#191970" stroke="#191970" points="91.1328,-3605.5984 85.7018,-3596.5015 84.2745,-3606.9997 91.1328,-3605.5984"/>
 </g>
-<!-- Node448 -->
-<g id="node457" class="node">
-<title>Node448</title>
-<g id="a_node457"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface. ">
+<!-- Node450 -->
+<g id="node459" class="node">
+<title>Node450</title>
+<g id="a_node459"><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,-3792 247,-3822 363,-3822 363,-3792 247,-3792"/>
 <text text-anchor="start" x="255" y="-3810" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3799" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node448 -->
-<g id="edge452" class="edge">
-<title>Node0&#45;&gt;Node448</title>
+<!-- Node0&#45;&gt;Node450 -->
+<g id="edge454" class="edge">
+<title>Node0&#45;&gt;Node450</title>
 <path fill="none" stroke="#191970" d="M90.2072,-3606.2241C103.9704,-3645.6715 140.9183,-3735.9197 204,-3782 216.4715,-3791.1103 231.8786,-3796.9238 246.8692,-3800.6265"/>
 <polygon fill="#191970" stroke="#191970" points="93.4484,-3604.8821 86.9376,-3596.5239 86.8151,-3607.118 93.4484,-3604.8821"/>
 </g>
-<!-- Node450 -->
-<g id="node459" class="node">
-<title>Node450</title>
-<g id="a_node459"><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...">
+<!-- Node452 -->
+<g id="node461" class="node">
+<title>Node452</title>
+<g id="a_node461"><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,-3743 247,-3773 363,-3773 363,-3743 247,-3743"/>
 <text text-anchor="start" x="255" y="-3761" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3750" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RunnerResultNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node450 -->
-<g id="edge454" class="edge">
-<title>Node0&#45;&gt;Node450</title>
+<!-- Node0&#45;&gt;Node452 -->
+<g id="edge456" class="edge">
+<title>Node0&#45;&gt;Node452</title>
 <path fill="none" stroke="#191970" d="M93.9478,-3605.622C111.701,-3636.9891 151.9153,-3700.1464 204,-3733 216.8338,-3741.0952 232.1197,-3746.5696 246.8668,-3750.2715"/>
 <polygon fill="#191970" stroke="#191970" points="96.8831,-3603.6971 88.9864,-3596.6336 90.7547,-3607.0798 96.8831,-3603.6971"/>
 </g>
-<!-- Node451 -->
-<g id="node460" class="node">
-<title>Node451</title>
-<g id="a_node460"><a xlink:href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule. ">
+<!-- Node453 -->
+<g id="node462" class="node">
+<title>Node453</title>
+<g id="a_node462"><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,-3694 247,-3724 363,-3724 363,-3694 247,-3694"/>
 <text text-anchor="start" x="255" y="-3712" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3701" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ScheduleRuleNode</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="M99.9915,-3603.8849C121.561,-3625.6573 162.1237,-3663.1885 204,-3684 217.2646,-3690.5922 232.3942,-3695.5263 246.8331,-3699.1881"/>
 <polygon fill="#191970" stroke="#191970" points="102.4198,-3601.3617 92.937,-3596.6366 97.4035,-3606.244 102.4198,-3601.3617"/>
 </g>
-<!-- Node453 -->
-<g id="node462" class="node">
-<title>Node453</title>
-<g id="a_node462"><a xlink:href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation. ">
+<!-- Node455 -->
+<g id="node464" class="node">
+<title>Node455</title>
+<g id="a_node464"><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,-3645 244,-3675 366,-3675 366,-3645 244,-3645"/>
 <text text-anchor="start" x="252" y="-3663" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3652" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SearchStrategyNode</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="M114.6407,-3600.6172C138.637,-3610.9477 173.027,-3625.0246 204,-3635 216.8096,-3639.1256 230.7174,-3642.9672 243.9992,-3646.3407"/>
 <polygon fill="#191970" stroke="#191970" points="115.9168,-3597.3556 105.3502,-3596.5812 113.1275,-3603.7759 115.9168,-3597.3556"/>
 </g>
-<!-- Node455 -->
-<g id="node464" class="node">
-<title>Node455</title>
-<g id="a_node464"><a xlink:href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation. ">
+<!-- Node457 -->
+<g id="node466" class="node">
+<title>Node457</title>
+<g id="a_node466"><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,-3596 242,-3626 368,-3626 368,-3596 242,-3596"/>
 <text text-anchor="start" x="250" y="-3614" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3603" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::SpaceGeneratorNode</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="M153.4313,-3594.5401C181.6957,-3597.6095 214.1396,-3601.1328 241.7396,-3604.1301"/>
 <polygon fill="#191970" stroke="#191970" points="153.5434,-3591.0317 143.2239,-3593.4316 152.7876,-3597.9908 153.5434,-3591.0317"/>
 </g>
-<!-- Node457 -->
-<g id="node466" class="node">
-<title>Node457</title>
-<g id="a_node466"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title="tvm::meta_schedule\l::TaskRecordNode">
+<!-- Node459 -->
+<g id="node468" class="node">
+<title>Node459</title>
+<g id="a_node468"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title="tvm::meta_schedule\l::TaskRecordNode">
 <polygon fill="#ffffff" stroke="#000000" points="247,-3547 247,-3577 363,-3577 363,-3547 247,-3547"/>
 <text text-anchor="start" x="255" y="-3565" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3554" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TaskRecordNode</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="M153.2158,-3579.1702C183.2628,-3575.7712 218.0662,-3571.8341 246.761,-3568.5881"/>
 <polygon fill="#191970" stroke="#191970" points="152.7671,-3575.6985 143.2239,-3580.3005 153.554,-3582.6541 152.7671,-3575.6985"/>
 </g>
-<!-- Node458 -->
-<g id="node467" class="node">
-<title>Node458</title>
-<g id="a_node467"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers. ">
+<!-- Node460 -->
+<g id="node469" class="node">
+<title>Node460</title>
+<g id="a_node469"><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,-3498 246,-3528 364,-3528 364,-3498 246,-3498"/>
 <text text-anchor="start" x="254" y="-3516" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3505" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TaskSchedulerNode</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="M113.2567,-3573.245C137.2506,-3562.3474 172.3047,-3547.2944 204,-3537 217.3704,-3532.6574 231.9695,-3528.7331 245.8073,-3525.3752"/>
 <polygon fill="#191970" stroke="#191970" points="111.6359,-3570.1377 104.0067,-3577.4894 114.5553,-3576.4999 111.6359,-3570.1377"/>
 </g>
-<!-- Node460 -->
-<g id="node469" class="node">
-<title>Node460</title>
-<g id="a_node469"><a xlink:href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context. ">
+<!-- Node462 -->
+<g id="node471" class="node">
+<title>Node462</title>
+<g id="a_node471"><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,-3449 247,-3479 363,-3479 363,-3449 247,-3449"/>
 <text text-anchor="start" x="255" y="-3467" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3456" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuneContextNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node460 -->
-<g id="edge464" class="edge">
-<title>Node0&#45;&gt;Node460</title>
+<!-- Node0&#45;&gt;Node462 -->
+<g id="edge466" class="edge">
+<title>Node0&#45;&gt;Node462</title>
 <path fill="none" stroke="#191970" d="M99.5624,-3570.0328C120.9343,-3547.7821 161.5718,-3509.1029 204,-3488 217.2324,-3481.4185 232.3505,-3476.5908 246.7885,-3473.0688"/>
 <polygon fill="#191970" stroke="#191970" points="96.9068,-3567.7474 92.5926,-3577.4241 101.9996,-3572.5498 96.9068,-3567.7474"/>
 </g>
-<!-- Node461 -->
-<g id="node470" class="node">
-<title>Node461</title>
-<g id="a_node470"><a xlink:href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records. ">
+<!-- Node463 -->
+<g id="node472" class="node">
+<title>Node463</title>
+<g id="a_node472"><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,-3400 247,-3430 363,-3430 363,-3400 247,-3400"/>
 <text text-anchor="start" x="255" y="-3418" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3407" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::TuningRecordNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node461 -->
-<g id="edge465" class="edge">
-<title>Node0&#45;&gt;Node461</title>
+<!-- Node0&#45;&gt;Node463 -->
+<g id="edge467" class="edge">
+<title>Node0&#45;&gt;Node463</title>
 <path fill="none" stroke="#191970" d="M93.8471,-3568.0693C111.4494,-3536.1921 151.4439,-3472.0524 204,-3439 216.8156,-3430.9403 232.0952,-3425.5858 246.8421,-3422.0289"/>
 <polygon fill="#191970" stroke="#191970" points="90.5876,-3566.7405 88.9313,-3577.2051 96.7519,-3570.0574 90.5876,-3566.7405"/>
 </g>
-<!-- Node462 -->
-<g id="node471" class="node">
-<title>Node462</title>
-<g id="a_node471"><a xlink:href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash. ">
+<!-- Node464 -->
+<g id="node473" class="node">
+<title>Node464</title>
+<g id="a_node473"><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,-3351 247,-3381 363,-3381 363,-3351 247,-3351"/>
 <text text-anchor="start" x="255" y="-3369" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::meta_schedule</text>
 <text text-anchor="middle" x="305" y="-3358" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::WorkloadNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node462 -->
-<g id="edge466" class="edge">
-<title>Node0&#45;&gt;Node462</title>
+<!-- Node0&#45;&gt;Node464 -->
+<g id="edge468" class="edge">
+<title>Node0&#45;&gt;Node464</title>
 <path fill="none" stroke="#191970" d="M90.0262,-3567.7884C103.5438,-3527.9861 140.2009,-3436.3696 204,-3390 216.4651,-3380.9403 231.87,-3375.2551 246.8606,-3371.7009"/>
 <polygon fill="#191970" stroke="#191970" points="86.6795,-3566.7619 86.8886,-3577.3547 93.3309,-3568.9435 86.6795,-3566.7619"/>
 </g>
-<!-- Node463 -->
-<g id="node472" class="node">
-<title>Node463</title>
-<g id="a_node472"><a xlink:href="classtvm_1_1NameSupplyNode.html" target="_top" xlink:title="NameSupply can be used to generate unique names. ">
+<!-- Node465 -->
+<g id="node474" class="node">
+<title>Node465</title>
+<g id="a_node474"><a xlink:href="classtvm_1_1NameSupplyNode.html" target="_top" xlink:title="NameSupply can be used to generate unique names. ">
 <polygon fill="#ffffff" stroke="#000000" points="240,-3312.5 240,-3331.5 370,-3331.5 370,-3312.5 240,-3312.5"/>
 <text text-anchor="middle" x="305" y="-3319.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::NameSupplyNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node463 -->
-<g id="edge467" class="edge">
-<title>Node0&#45;&gt;Node463</title>
+<!-- Node0&#45;&gt;Node465 -->
+<g id="edge469" class="edge">
+<title>Node0&#45;&gt;Node465</title>
 <path fill="none" stroke="#191970" d="M87.4082,-3567.4007C96.7194,-3520.1509 127.2131,-3399.5495 204,-3341 214.3575,-3333.1025 227.0206,-3328.1641 239.8324,-3325.1393"/>
 <polygon fill="#191970" stroke="#191970" points="83.9585,-3566.8081 85.5643,-3577.2805 90.8397,-3568.0924 83.9585,-3566.8081"/>
 </g>
-<!-- Node464 -->
-<g id="node473" class="node">
-<title>Node464</title>
-<g id="a_node473"><a xlink:href="classtvm_1_1ObjectPathNode.html" target="_top" xlink:title="Path to an object from some root object. ">
+<!-- Node466 -->
+<g id="node475" class="node">
+<title>Node466</title>
+<g id="a_node475"><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,-3274.5 245,-3293.5 365,-3293.5 365,-3274.5 245,-3274.5"/>
 <text text-anchor="middle" x="305" y="-3281.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ObjectPathNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node464 -->
-<g id="edge468" class="edge">
-<title>Node0&#45;&gt;Node464</title>
+<!-- Node0&#45;&gt;Node466 -->
+<g id="edge470" class="edge">
+<title>Node0&#45;&gt;Node466</title>
 <path fill="none" stroke="#191970" d="M86.0419,-3567.2789C92.5625,-3515.0639 117.8128,-3372.4799 204,-3303 215.5293,-3293.7056 230.1995,-3288.4409 244.7619,-3285.5697"/>
 <polygon fill="#191970" stroke="#191970" points="82.5609,-3566.9135 84.8924,-3577.2486 89.5149,-3567.7153 82.5609,-3566.9135"/>
 </g>
-<!-- Node472 -->
-<g id="node481" class="node">
-<title>Node472</title>
-<g id="a_node481"><a xlink:href="classtvm_1_1ObjectPathPairNode.html" target="_top" xlink:title="Pair of ObjectPaths, one for each object being tested for structural equality. ">
+<!-- Node474 -->
+<g id="node483" class="node">
+<title>Node474</title>
+<g id="a_node483"><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,-3236.5 236,-3255.5 374,-3255.5 374,-3236.5 236,-3236.5"/>
 <text text-anchor="middle" x="305" y="-3243.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::ObjectPathPairNode</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="M84.948,-3567.3888C88.8092,-3510.7307 108.165,-3345.7219 204,-3265 213.0749,-3257.3562 224.2504,-3252.4015 235.8228,-3249.2547"/>
 <polygon fill="#191970" stroke="#191970" points="81.447,-3567.304 84.3506,-3577.4931 88.4348,-3567.7171 81.447,-3567.304"/>
 </g>
-<!-- Node473 -->
-<g id="node482" class="node">
-<title>Node473</title>
-<g id="a_node482"><a xlink:href="structtvm_1_1PoolInfoNode.html" target="_top" xlink:title="Describes a pool of memory accessible by one or more targets. ">
+<!-- Node475 -->
+<g id="node484" class="node">
+<title>Node475</title>
+<g id="a_node484"><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,-3198.5 251.5,-3217.5 358.5,-3217.5 358.5,-3198.5 251.5,-3198.5"/>
 <text text-anchor="middle" x="305" y="-3205.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoNode</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="M87.8558,-3567.2596C101.6031,-3498.8983 150.2725,-3273.8852 204,-3227 216.9728,-3215.6793 234.5168,-3210.1936 251.3424,-3207.7524"/>
 <polygon fill="#191970" stroke="#191970" points="84.3399,-3566.9962 85.8263,-3577.4863 91.206,-3568.3589 84.3399,-3566.9962"/>
 </g>
-<!-- Node476 -->
-<g id="node485" class="node">
-<title>Node476</title>
-<g id="a_node485"><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,-3160.5 226.5,-3179.5 383.5,-3179.5 383.5,-3160.5 226.5,-3160.5"/>
-<text text-anchor="middle" x="305" y="-3167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoPropertiesNode</text>
-</a>
-</g>
-</g>
-<!-- Node0&#45;&gt;Node476 -->
-<g id="edge480" class="edge">
-<title>Node0&#45;&gt;Node476</title>
-<path fill="none" stroke="#191970" d="M87.225,-3567.0934C99.4741,-3493.9609 145.3974,-3241.6508 204,-3189 210.5035,-3183.157 218.2176,-3178.8548 226.4407,-3175.7174"/>
-<polygon fill="#191970" stroke="#191970" points="83.7266,-3566.7978 85.5515,-3577.2343 90.6331,-3567.9377 83.7266,-3566.7978"/>
-</g>
-<!-- Node477 -->
-<g id="node486" class="node">
-<title>Node477</title>
-<g id="a_node486"><a xlink:href="classtvm_1_1PrinterConfigNode.html" target="_top" xlink:title="tvm::PrinterConfigNode">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-3122.5 239.5,-3141.5 370.5,-3141.5 370.5,-3122.5 239.5,-3122.5"/>
-<text text-anchor="middle" x="305" y="-3129.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrinterConfigNode</text>
-</a>
-</g>
-</g>
-<!-- Node0&#45;&gt;Node477 -->
-<g id="edge481" class="edge">
-<title>Node0&#45;&gt;Node477</title>
-<path fill="none" stroke="#191970" d="M86.6535,-3567.236C97.4308,-3489.9475 140.4074,-3209.5435 204,-3151 213.7794,-3141.997 226.4206,-3136.625 239.4297,-3133.533"/>
-<polygon fill="#191970" stroke="#191970" points="83.1405,-3567.0927 85.2498,-3577.4755 90.0756,-3568.0435 83.1405,-3567.0927"/>
-</g>
 <!-- Node478 -->
 <g id="node487" class="node">
 <title>Node478</title>
-<g id="a_node487"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension ">
-<polygon fill="#ffffff" stroke="#000000" points="256,-3084.5 256,-3103.5 354,-3103.5 354,-3084.5 256,-3084.5"/>
-<text text-anchor="middle" x="305" y="-3091.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::RangeNode</text>
+<g id="a_node487"><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,-3160.5 226.5,-3179.5 383.5,-3179.5 383.5,-3160.5 226.5,-3160.5"/>
+<text text-anchor="middle" x="305" y="-3167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PoolInfoPropertiesNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node478 -->
 <g id="edge482" class="edge">
 <title>Node0&#45;&gt;Node478</title>
-<path fill="none" stroke="#191970" d="M86.2052,-3567.1147C95.6633,-3485.4869 135.4623,-3177.4142 204,-3113 217.7815,-3100.0476 237.4665,-3094.5639 255.8032,-3092.5845"/>
-<polygon fill="#191970" stroke="#191970" points="82.6813,-3567.1279 85.0301,-3577.4591 89.6365,-3567.9181 82.6813,-3567.1279"/>
+<path fill="none" stroke="#191970" d="M87.225,-3567.0934C99.4741,-3493.9609 145.3974,-3241.6508 204,-3189 210.5035,-3183.157 218.2176,-3178.8548 226.4407,-3175.7174"/>
+<polygon fill="#191970" stroke="#191970" points="83.7266,-3566.7978 85.5515,-3577.2343 90.6331,-3567.9377 83.7266,-3566.7978"/>
 </g>
 <!-- Node479 -->
 <g id="node488" class="node">
 <title>Node479</title>
-<g id="a_node488"><a xlink:href="classtvm_1_1relay_1_1ClauseNode.html" target="_top" xlink:title="Clause container node. ">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-3046.5 239.5,-3065.5 370.5,-3065.5 370.5,-3046.5 239.5,-3046.5"/>
-<text text-anchor="middle" x="305" y="-3053.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ClauseNode</text>
+<g id="a_node488"><a xlink:href="classtvm_1_1PrinterConfigNode.html" target="_top" xlink:title="tvm::PrinterConfigNode">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-3122.5 239.5,-3141.5 370.5,-3141.5 370.5,-3122.5 239.5,-3122.5"/>
+<text text-anchor="middle" x="305" y="-3129.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrinterConfigNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node479 -->
 <g id="edge483" class="edge">
 <title>Node0&#45;&gt;Node479</title>
-<path fill="none" stroke="#191970" d="M85.8024,-3567.1645C93.9834,-3481.6148 130.4469,-3145.3666 204,-3075 213.6694,-3065.7495 226.3421,-3060.2884 239.4283,-3057.1903"/>
-<polygon fill="#191970" stroke="#191970" points="82.3174,-3566.8421 84.8707,-3577.1247 89.287,-3567.4941 82.3174,-3566.8421"/>
+<path fill="none" stroke="#191970" d="M86.6535,-3567.236C97.4308,-3489.9475 140.4074,-3209.5435 204,-3151 213.7794,-3141.997 226.4206,-3136.625 239.4297,-3133.533"/>
+<polygon fill="#191970" stroke="#191970" points="83.1405,-3567.0927 85.2498,-3577.4755 90.0756,-3568.0435 83.1405,-3567.0927"/>
 </g>
 <!-- Node480 -->
 <g id="node489" class="node">
 <title>Node480</title>
-<g id="a_node489"><a xlink:href="structtvm_1_1relay_1_1ConstructorValueObj.html" target="_top" xlink:title="tvm::relay::ConstructorValueObj">
-<polygon fill="#ffffff" stroke="#000000" points="219,-3008.5 219,-3027.5 391,-3027.5 391,-3008.5 219,-3008.5"/>
-<text text-anchor="middle" x="305" y="-3015.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ConstructorValueObj</text>
+<g id="a_node489"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension ">
+<polygon fill="#ffffff" stroke="#000000" points="256,-3084.5 256,-3103.5 354,-3103.5 354,-3084.5 256,-3084.5"/>
+<text text-anchor="middle" x="305" y="-3091.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::RangeNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node480 -->
 <g id="edge484" class="edge">
 <title>Node0&#45;&gt;Node480</title>
-<path fill="none" stroke="#191970" d="M85.4598,-3567.1511C92.4465,-3477.7274 125.4298,-3113.334 204,-3037 208.351,-3032.7728 213.3279,-3029.3333 218.6876,-3026.5468"/>
-<polygon fill="#191970" stroke="#191970" points="81.9582,-3567.0411 84.6893,-3577.2778 88.938,-3567.5722 81.9582,-3567.0411"/>
+<path fill="none" stroke="#191970" d="M86.2052,-3567.1147C95.6633,-3485.4869 135.4623,-3177.4142 204,-3113 217.7815,-3100.0476 237.4665,-3094.5639 255.8032,-3092.5845"/>
+<polygon fill="#191970" stroke="#191970" points="82.6813,-3567.1279 85.0301,-3577.4591 89.6365,-3567.9181 82.6813,-3567.1279"/>
 </g>
 <!-- Node481 -->
 <g id="node490" class="node">
 <title>Node481</title>
-<g id="a_node490"><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,-2970.5 211.5,-2989.5 398.5,-2989.5 398.5,-2970.5 211.5,-2970.5"/>
-<text text-anchor="middle" x="305" y="-2977.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternCallbackNode</text>
+<g id="a_node490"><a xlink:href="classtvm_1_1relay_1_1ClauseNode.html" target="_top" xlink:title="Clause container node. ">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-3046.5 239.5,-3065.5 370.5,-3065.5 370.5,-3046.5 239.5,-3046.5"/>
+<text text-anchor="middle" x="305" y="-3053.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ClauseNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node481 -->
 <g id="edge485" class="edge">
 <title>Node0&#45;&gt;Node481</title>
-<path fill="none" stroke="#191970" d="M85.1701,-3566.9776C91.0476,-3473.52 120.4437,-3081.2817 204,-2999 207.6868,-2995.3695 211.8344,-2992.3177 216.291,-2989.76"/>
-<polygon fill="#191970" stroke="#191970" points="81.6701,-3566.8738 84.5552,-3577.0682 88.6571,-3567.2996 81.6701,-3566.8738"/>
+<path fill="none" stroke="#191970" d="M85.8024,-3567.1645C93.9834,-3481.6148 130.4469,-3145.3666 204,-3075 213.6694,-3065.7495 226.3421,-3060.2884 239.4283,-3057.1903"/>
+<polygon fill="#191970" stroke="#191970" points="82.3174,-3566.8421 84.8707,-3577.1247 89.287,-3567.4941 82.3174,-3566.8421"/>
 </g>
 <!-- Node482 -->
 <g id="node491" class="node">
 <title>Node482</title>
-<g id="a_node491"><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,-2932.5 232.5,-2951.5 377.5,-2951.5 377.5,-2932.5 232.5,-2932.5"/>
-<text text-anchor="middle" x="305" y="-2939.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternNode</text>
+<g id="a_node491"><a xlink:href="structtvm_1_1relay_1_1ConstructorValueObj.html" target="_top" xlink:title="tvm::relay::ConstructorValueObj">
+<polygon fill="#ffffff" stroke="#000000" points="219,-3008.5 219,-3027.5 391,-3027.5 391,-3008.5 219,-3008.5"/>
+<text text-anchor="middle" x="305" y="-3015.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ConstructorValueObj</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node482 -->
 <g id="edge486" class="edge">
 <title>Node0&#45;&gt;Node482</title>
-<path fill="none" stroke="#191970" d="M84.8894,-3567.2477C89.6495,-3470.6851 115.3095,-3049.385 204,-2961 211.8357,-2953.1913 221.8,-2948.0506 232.4025,-2944.7434"/>
-<polygon fill="#191970" stroke="#191970" points="81.3871,-3567.2151 84.4097,-3577.3696 88.3793,-3567.5466 81.3871,-3567.2151"/>
+<path fill="none" stroke="#191970" d="M85.4598,-3567.1511C92.4465,-3477.7274 125.4298,-3113.334 204,-3037 208.351,-3032.7728 213.3279,-3029.3333 218.6876,-3026.5468"/>
+<polygon fill="#191970" stroke="#191970" points="81.9582,-3567.0411 84.6893,-3577.2778 88.938,-3567.5722 81.9582,-3567.0411"/>
 </g>
-<!-- Node499 -->
-<g id="node508" class="node">
-<title>Node499</title>
-<g id="a_node508"><a xlink:href="classtvm_1_1relay_1_1ExecutorNode.html" target="_top" xlink:title="Executor information. ">
-<polygon fill="#ffffff" stroke="#000000" points="235,-2894.5 235,-2913.5 375,-2913.5 375,-2894.5 235,-2894.5"/>
-<text text-anchor="middle" x="305" y="-2901.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ExecutorNode</text>
+<!-- Node483 -->
+<g id="node492" class="node">
+<title>Node483</title>
+<g id="a_node492"><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,-2970.5 211.5,-2989.5 398.5,-2989.5 398.5,-2970.5 211.5,-2970.5"/>
+<text text-anchor="middle" x="305" y="-2977.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternCallbackNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node499 -->
-<g id="edge503" class="edge">
-<title>Node0&#45;&gt;Node499</title>
-<path fill="none" stroke="#191970" d="M84.6638,-3567.0158C88.421,-3466.5065 110.3152,-3017.3573 204,-2923 212.4227,-2914.5168 223.3548,-2909.1726 234.9059,-2905.9054"/>
-<polygon fill="#191970" stroke="#191970" points="81.1568,-3567.1532 84.2995,-3577.2712 88.1524,-3567.4018 81.1568,-3567.1532"/>
+<!-- Node0&#45;&gt;Node483 -->
+<g id="edge487" class="edge">
+<title>Node0&#45;&gt;Node483</title>
+<path fill="none" stroke="#191970" d="M85.1701,-3566.9776C91.0476,-3473.52 120.4437,-3081.2817 204,-2999 207.6868,-2995.3695 211.8344,-2992.3177 216.291,-2989.76"/>
+<polygon fill="#191970" stroke="#191970" points="81.6701,-3566.8738 84.5552,-3577.0682 88.6571,-3567.2996 81.6701,-3566.8738"/>
 </g>
-<!-- Node500 -->
-<g id="node509" class="node">
-<title>Node500</title>
-<g id="a_node509"><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,-2856.5 251.5,-2875.5 358.5,-2875.5 358.5,-2856.5 251.5,-2856.5"/>
-<text text-anchor="middle" x="305" y="-2863.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::IdNode</text>
+<!-- Node484 -->
+<g id="node493" class="node">
+<title>Node484</title>
+<g id="a_node493"><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,-2932.5 232.5,-2951.5 377.5,-2951.5 377.5,-2932.5 232.5,-2932.5"/>
+<text text-anchor="middle" x="305" y="-2939.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::DFPatternNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node500 -->
-<g id="edge504" class="edge">
-<title>Node0&#45;&gt;Node500</title>
-<path fill="none" stroke="#191970" d="M84.4472,-3567.188C87.2013,-3463.6281 105.1838,-2985.4745 204,-2885 216.3233,-2872.4699 234.116,-2866.7692 251.3447,-2864.4976"/>
-<polygon fill="#191970" stroke="#191970" points="80.9476,-3567.1318 84.1982,-3577.2156 87.9454,-3567.3056 80.9476,-3567.1318"/>
+<!-- Node0&#45;&gt;Node484 -->
+<g id="edge488" class="edge">
+<title>Node0&#45;&gt;Node484</title>
+<path fill="none" stroke="#191970" d="M84.8894,-3567.2477C89.6495,-3470.6851 115.3095,-3049.385 204,-2961 211.8357,-2953.1913 221.8,-2948.0506 232.4025,-2944.7434"/>
+<polygon fill="#191970" stroke="#191970" points="81.3871,-3567.2151 84.4097,-3577.3696 88.3793,-3567.5466 81.3871,-3567.2151"/>
 </g>
 <!-- Node501 -->
 <g id="node510" class="node">
 <title>Node501</title>
-<g id="a_node510"><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,-2818.5 210.5,-2837.5 399.5,-2837.5 399.5,-2818.5 210.5,-2818.5"/>
-<text text-anchor="middle" x="305" y="-2825.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpImplementationNode</text>
+<g id="a_node510"><a xlink:href="classtvm_1_1relay_1_1ExecutorNode.html" target="_top" xlink:title="Executor information. ">
+<polygon fill="#ffffff" stroke="#000000" points="235,-2844.5 235,-2863.5 375,-2863.5 375,-2844.5 235,-2844.5"/>
+<text text-anchor="middle" x="305" y="-2851.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::ExecutorNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node501 -->
 <g id="edge505" class="edge">
 <title>Node0&#45;&gt;Node501</title>
-<path fill="none" stroke="#191970" d="M84.2589,-3567.1388C86.0724,-3460.1712 100.1113,-2953.5384 204,-2847 207.6124,-2843.2955 211.7025,-2840.1864 216.1156,-2837.5855"/>
-<polygon fill="#191970" stroke="#191970" points="80.7584,-3567.1489 84.1056,-3577.2011 87.7576,-3567.2556 80.7584,-3567.1489"/>
+<path fill="none" stroke="#191970" d="M84.3932,-3566.8526C86.8729,-3461.5393 103.6849,-2975.2839 204,-2873 212.3705,-2864.4653 223.2777,-2859.0965 234.8205,-2855.8211"/>
+<polygon fill="#191970" stroke="#191970" points="80.8898,-3566.9762 84.1711,-3577.05 87.8881,-3567.1287 80.8898,-3566.9762"/>
 </g>
 <!-- Node502 -->
 <g id="node511" class="node">
 <title>Node502</title>
-<g id="a_node511"><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,-2742.5 215.5,-2761.5 394.5,-2761.5 394.5,-2742.5 215.5,-2742.5"/>
-<text text-anchor="middle" x="305" y="-2749.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpSpecializationNode</text>
+<g id="a_node511"><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,-2806.5 251.5,-2825.5 358.5,-2825.5 358.5,-2806.5 251.5,-2806.5"/>
+<text text-anchor="middle" x="305" y="-2813.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::IdNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node502 -->
 <g id="edge506" class="edge">
 <title>Node0&#45;&gt;Node502</title>
-<path fill="none" stroke="#191970" d="M85.5339,-3567.341C94.9699,-3448.6437 146.6328,-2830.705 204,-2771 207.585,-2767.2689 211.6538,-2764.1393 216.0509,-2761.5229"/>
-<polygon fill="#191970" stroke="#191970" points="82.0299,-3567.2547 84.733,-3577.4989 89.0082,-3567.805 82.0299,-3567.2547"/>
+<path fill="none" stroke="#191970" d="M84.2025,-3567.1624C85.724,-3459.22 98.4949,-2943.4694 204,-2835 216.2538,-2822.4019 234.0304,-2816.6856 251.2658,-2814.4204"/>
+<polygon fill="#191970" stroke="#191970" points="80.7012,-3567.2554 84.0771,-3577.298 87.7007,-3567.3421 80.7012,-3567.2554"/>
 </g>
 <!-- Node503 -->
 <g id="node512" class="node">
 <title>Node503</title>
-<g id="a_node512"><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,-2654.5 229,-2673.5 381,-2673.5 381,-2654.5 229,-2654.5"/>
-<text text-anchor="middle" x="305" y="-2661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpStrategyNode</text>
+<g id="a_node512"><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,-2768.5 210.5,-2787.5 399.5,-2787.5 399.5,-2768.5 210.5,-2768.5"/>
+<text text-anchor="middle" x="305" y="-2775.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpImplementationNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node503 -->
 <g id="edge507" class="edge">
 <title>Node0&#45;&gt;Node503</title>
-<path fill="none" stroke="#191970" d="M85.2488,-3567.2211C93.4034,-3440.8657 140.7108,-2749.8008 204,-2683 210.872,-2675.7467 219.5705,-2670.7576 228.9675,-2667.3891"/>
-<polygon fill="#191970" stroke="#191970" points="81.7453,-3567.1648 84.6002,-3577.3677 88.7311,-3567.6114 81.7453,-3567.1648"/>
+<path fill="none" stroke="#191970" d="M85.6415,-3567.2372C95.5105,-3450.5335 148.4012,-2854.5911 204,-2797 207.5938,-2793.2774 211.6695,-2790.1544 216.0717,-2787.5429"/>
+<polygon fill="#191970" stroke="#191970" points="82.1487,-3567.0063 84.8002,-3577.264 89.1242,-3567.5916 82.1487,-3567.0063"/>
 </g>
 <!-- Node504 -->
 <g id="node513" class="node">
 <title>Node504</title>
-<g id="a_node513"><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,-2616.5 233.5,-2635.5 376.5,-2635.5 376.5,-2616.5 233.5,-2616.5"/>
-<text text-anchor="middle" x="305" y="-2623.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RecClosureObj</text>
+<g id="a_node513"><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,-2730.5 215.5,-2749.5 394.5,-2749.5 394.5,-2730.5 215.5,-2730.5"/>
+<text text-anchor="middle" x="305" y="-2737.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpSpecializationNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node504 -->
 <g id="edge508" class="edge">
 <title>Node0&#45;&gt;Node504</title>
-<path fill="none" stroke="#191970" d="M85.1399,-3567.1954C92.771,-3437.702 138.1442,-2714.8774 204,-2645 211.893,-2636.625 222.2202,-2631.2641 233.2539,-2627.9301"/>
-<polygon fill="#191970" stroke="#191970" points="81.641,-3567.0776 84.5526,-3577.2645 88.6291,-3567.4853 81.641,-3567.0776"/>
+<path fill="none" stroke="#191970" d="M85.5126,-3567.0531C94.8227,-3446.6172 145.8702,-2819.6253 204,-2759 207.5811,-2755.2652 211.6469,-2752.1327 216.0417,-2749.5141"/>
+<polygon fill="#191970" stroke="#191970" points="81.9971,-3567.1215 84.7226,-3577.3598 88.9767,-3567.6565 81.9971,-3567.1215"/>
 </g>
 <!-- Node505 -->
 <g id="node514" class="node">
 <title>Node505</title>
-<g id="a_node514"><a xlink:href="structtvm_1_1relay_1_1RefValueObj.html" target="_top" xlink:title="tvm::relay::RefValueObj">
-<polygon fill="#ffffff" stroke="#000000" points="239.5,-2578.5 239.5,-2597.5 370.5,-2597.5 370.5,-2578.5 239.5,-2578.5"/>
-<text text-anchor="middle" x="305" y="-2585.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RefValueObj</text>
+<g id="a_node514"><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,-2692.5 229,-2711.5 381,-2711.5 381,-2692.5 229,-2692.5"/>
+<text text-anchor="middle" x="305" y="-2699.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::OpStrategyNode</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node505 -->
 <g id="edge509" class="edge">
 <title>Node0&#45;&gt;Node505</title>
-<path fill="none" stroke="#191970" d="M85.0359,-3567.2333C92.1517,-3434.8371 135.5638,-2679.9701 204,-2607 213.3373,-2597.0441 226.1132,-2591.3418 239.4389,-2588.2398"/>
-<polygon fill="#191970" stroke="#191970" points="81.5268,-3567.3123 84.4911,-3577.484 88.517,-3567.6838 81.5268,-3567.3123"/>
+<path fill="none" stroke="#191970" d="M85.3633,-3567.2985C94.0518,-3444.2752 143.2659,-2784.7378 204,-2721 210.8311,-2713.831 219.4474,-2708.8774 228.7538,-2705.5156"/>
+<polygon fill="#191970" stroke="#191970" points="81.8567,-3567.2711 84.6499,-3577.4911 88.8396,-3567.7599 81.8567,-3567.2711"/>
 </g>
 <!-- Node506 -->
 <g id="node515" class="node">
 <title>Node506</title>
-<g id="a_node515"><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,-2780.5 242.5,-2799.5 367.5,-2799.5 367.5,-2780.5 242.5,-2780.5"/>
-<text text-anchor="middle" x="305" y="-2787.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RelayNode</text>
+<g id="a_node515"><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,-2654.5 233.5,-2673.5 376.5,-2673.5 376.5,-2654.5 233.5,-2654.5"/>
+<text text-anchor="middle" x="305" y="-2661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RecClosureObj</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node506 -->
 <g id="edge510" class="edge">
 <title>Node0&#45;&gt;Node506</title>
-<path fill="none" stroke="#191970" d="M85.694,-3567.1867C95.7681,-3451.414 149.217,-2865.6163 204,-2809 214.1118,-2798.5498 228.0218,-2792.8278 242.2869,-2789.8825"/>
-<polygon fill="#191970" stroke="#191970" points="82.1845,-3567.1472 84.8112,-3577.4112 89.1585,-3567.7494 82.1845,-3567.1472"/>
+<path fill="none" stroke="#191970" d="M85.2488,-3567.2211C93.4034,-3440.8657 140.7108,-2749.8008 204,-2683 211.915,-2674.6458 222.2532,-2669.2952 233.2909,-2665.965"/>
+<polygon fill="#191970" stroke="#191970" points="81.7453,-3567.1648 84.6002,-3577.3677 88.7311,-3567.6114 81.7453,-3567.1648"/>
 </g>
-<!-- Node512 -->
-<g id="node521" class="node">
-<title>Node512</title>
-<g id="a_node521"><a xlink:href="classtvm_1_1relay_1_1RuntimeNode.html" target="_top" xlink:title="Runtime information. ">
+<!-- Node507 -->
+<g id="node516" class="node">
+<title>Node507</title>
+<g id="a_node516"><a xlink:href="structtvm_1_1relay_1_1RefValueObj.html" target="_top" xlink:title="tvm::relay::RefValueObj">
+<polygon fill="#ffffff" stroke="#000000" points="239.5,-2578.5 239.5,-2597.5 370.5,-2597.5 370.5,-2578.5 239.5,-2578.5"/>
+<text text-anchor="middle" x="305" y="-2585.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RefValueObj</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node507 -->
+<g id="edge511" class="edge">
+<title>Node0&#45;&gt;Node507</title>
+<path fill="none" stroke="#191970" d="M85.0359,-3567.2333C92.1517,-3434.8371 135.5638,-2679.9701 204,-2607 213.3373,-2597.0441 226.1132,-2591.3418 239.4389,-2588.2398"/>
+<polygon fill="#191970" stroke="#191970" points="81.5268,-3567.3123 84.4911,-3577.484 88.517,-3567.6838 81.5268,-3567.3123"/>
+</g>
+<!-- Node508 -->
+<g id="node517" class="node">
+<title>Node508</title>
+<g id="a_node517"><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,-2502.5 242.5,-2521.5 367.5,-2521.5 367.5,-2502.5 242.5,-2502.5"/>
+<text text-anchor="middle" x="305" y="-2509.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RelayNode</text>
+</a>
+</g>
+</g>
+<!-- Node0&#45;&gt;Node508 -->
+<g id="edge512" class="edge">
+<title>Node0&#45;&gt;Node508</title>
+<path fill="none" stroke="#191970" d="M84.8641,-3567.0076C91.0476,-3428.1067 130.4478,-2610.1112 204,-2531 213.9621,-2520.2849 227.9049,-2514.4848 242.2561,-2511.5504"/>
+<polygon fill="#191970" stroke="#191970" points="81.3505,-3567.2429 84.408,-3577.387 88.3437,-3567.5503 81.3505,-3567.2429"/>
+</g>
+<!-- Node514 -->
+<g id="node523" class="node">
+<title>Node514</title>
+<g id="a_node523"><a xlink:href="classtvm_1_1relay_1_1RuntimeNode.html" target="_top" xlink:title="Runtime information. ">
 <polygon fill="#ffffff" stroke="#000000" points="236,-2540.5 236,-2559.5 374,-2559.5 374,-2540.5 236,-2540.5"/>
 <text text-anchor="middle" x="305" y="-2547.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::relay::RuntimeNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node512 -->
-<g id="edge516" class="edge">
-<title>Node0&#45;&gt;Node512</title>
+<!-- Node0&#45;&gt;Node514 -->
+<g id="edge518" class="edge">
+<title>Node0&#45;&gt;Node514</title>
 <path fill="none" stroke="#191970" d="M84.9381,-3567.3057C91.5518,-3432.17 132.9744,-2645.0737 204,-2569 212.4625,-2559.936 223.7742,-2554.3931 235.7644,-2551.1275"/>
 <polygon fill="#191970" stroke="#191970" points="81.4358,-3567.269 84.4486,-3577.4264 88.4277,-3567.6072 81.4358,-3567.269"/>
 </g>
-<!-- Node515 -->
-<g id="node522" class="node">
-<title>Node515</title>
-<g id="a_node522"><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. ">
+<!-- Node517 -->
+<g id="node524" class="node">
+<title>Node517</title>
+<g id="a_node524"><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,-2464.5 235,-2483.5 375,-2483.5 375,-2464.5 235,-2464.5"/>
 <text text-anchor="middle" x="305" y="-2471.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ClosureObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node515 -->
-<g id="edge519" class="edge">
-<title>Node0&#45;&gt;Node515</title>
+<!-- Node0&#45;&gt;Node517 -->
+<g id="edge521" class="edge">
+<title>Node0&#45;&gt;Node517</title>
 <path fill="none" stroke="#191970" d="M84.7753,-3567.1638C90.4766,-3425.8743 127.8387,-2575.2384 204,-2493 212.2439,-2484.0983 223.2345,-2478.585 234.9309,-2475.2881"/>
 <polygon fill="#191970" stroke="#191970" points="81.2698,-3567.2339 84.3694,-3577.3652 88.2643,-3567.5123 81.2698,-3567.2339"/>
 </g>
-<!-- Node518 -->
-<g id="node525" class="node">
-<title>Node518</title>
-<g id="a_node525"><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,-2502.5 239,-2521.5 371,-2521.5 371,-2502.5 239,-2502.5"/>
-<text text-anchor="middle" x="305" y="-2509.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::MapNode</text>
+<!-- Node520 -->
+<g id="node527" class="node">
+<title>Node520</title>
+<g id="a_node527"><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,-2616.5 239,-2635.5 371,-2635.5 371,-2616.5 239,-2616.5"/>
+<text text-anchor="middle" x="305" y="-2623.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::MapNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node518 -->
-<g id="edge522" class="edge">
-<title>Node0&#45;&gt;Node518</title>
-<path fill="none" stroke="#191970" d="M84.8641,-3567.0076C91.0476,-3428.1067 130.4478,-2610.1112 204,-2531 213.1725,-2521.1343 225.7195,-2515.4352 238.8528,-2512.3032"/>
-<polygon fill="#191970" stroke="#191970" points="81.3505,-3567.2429 84.408,-3577.387 88.3437,-3567.5503 81.3505,-3567.2429"/>
+<!-- Node0&#45;&gt;Node520 -->
+<g id="edge524" class="edge">
+<title>Node0&#45;&gt;Node520</title>
+<path fill="none" stroke="#191970" d="M85.1399,-3567.1954C92.771,-3437.702 138.1442,-2714.8774 204,-2645 213.2391,-2635.1967 225.8135,-2629.5232 238.9522,-2626.3963"/>
+<polygon fill="#191970" stroke="#191970" points="81.641,-3567.0776 84.5526,-3577.2645 88.6291,-3567.4853 81.641,-3567.0776"/>
 </g>
-<!-- Node521 -->
-<g id="node527" class="node">
-<title>Node521</title>
-<g id="a_node527"><a xlink:href="classtvm_1_1runtime_1_1metadata_1_1MetadataBaseNode.html" target="_top" xlink:title="Common base class for all Metadata. ">
+<!-- Node523 -->
+<g id="node529" class="node">
+<title>Node523</title>
+<g id="a_node529"><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,-2415 238,-2445 372,-2445 372,-2415 238,-2415"/>
 <text text-anchor="start" x="246" y="-2433" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::metadata</text>
 <text text-anchor="middle" x="305" y="-2422" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MetadataBaseNode</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.7574,-3566.974C90.3972,-3422.483 127.7471,-2542.4897 204,-2455 212.7828,-2444.923 224.9273,-2438.5828 237.7562,-2434.6611"/>
 <polygon fill="#191970" stroke="#191970" points="81.2441,-3567.2549 84.3568,-3577.3822 88.2389,-3567.5242 81.2441,-3567.2549"/>
 </g>
-<!-- Node526 -->
-<g id="node532" class="node">
-<title>Node526</title>
-<g id="a_node532"><a xlink:href="classtvm_1_1runtime_1_1ModuleNode.html" target="_top" xlink:title="Base container of module. ">
+<!-- Node528 -->
+<g id="node534" class="node">
+<title>Node528</title>
+<g id="a_node534"><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,-2376.5 231.5,-2395.5 378.5,-2395.5 378.5,-2376.5 231.5,-2376.5"/>
 <text text-anchor="middle" x="305" y="-2383.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ModuleNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node526 -->
-<g id="edge530" class="edge">
-<title>Node0&#45;&gt;Node526</title>
+<!-- Node0&#45;&gt;Node528 -->
+<g id="edge532" class="edge">
+<title>Node0&#45;&gt;Node528</title>
 <path fill="none" stroke="#191970" d="M84.6123,-3566.9613C89.3262,-3418.6216 121.8897,-2494.3834 204,-2405 211.363,-2396.9848 220.9516,-2391.7106 231.2872,-2388.3262"/>
 <polygon fill="#191970" stroke="#191970" points="81.1042,-3567.1694 84.2901,-3577.2739 88.1007,-3567.388 81.1042,-3567.1694"/>
 </g>
-<!-- Node530 -->
-<g id="node535" class="node">
-<title>Node530</title>
-<g id="a_node535"><a xlink:href="classtvm_1_1runtime_1_1PackedFuncObj.html" target="_top" xlink:title="Object container class that backs PackedFunc. ">
+<!-- Node532 -->
+<g id="node537" class="node">
+<title>Node532</title>
+<g id="a_node537"><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,-2338.5 225.5,-2357.5 384.5,-2357.5 384.5,-2338.5 225.5,-2338.5"/>
 <text text-anchor="middle" x="305" y="-2345.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::PackedFuncObj</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.5378,-3567.2452C88.8043,-3417.117 119.2485,-2459.5489 204,-2367 209.9045,-2360.5523 217.2489,-2355.8768 225.2657,-2352.5313"/>
 <polygon fill="#191970" stroke="#191970" points="81.0375,-3567.2113 84.2572,-3577.305 88.0348,-3567.4066 81.0375,-3567.2113"/>
 </g>
-<!-- Node532 -->
-<g id="node537" class="node">
-<title>Node532</title>
-<g id="a_node537"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1CountNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::CountNode">
+<!-- Node534 -->
+<g id="node539" class="node">
+<title>Node534</title>
+<g id="a_node539"><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,-2289 242,-2319 368,-2319 368,-2289 242,-2289"/>
 <text text-anchor="start" x="250" y="-2307" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-2296" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::CountNode</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.5296,-3567.153C88.7833,-3414.2612 119.43,-2427.0682 204,-2329 213.6735,-2317.7825 227.5125,-2311.1863 241.856,-2307.4016"/>
 <polygon fill="#191970" stroke="#191970" points="81.0249,-3567.2813 84.2504,-3577.3732 88.0223,-3567.4726 81.0249,-3567.2813"/>
 </g>
-<!-- Node533 -->
-<g id="node538" class="node">
-<title>Node533</title>
-<g id="a_node538"><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. ">
+<!-- Node535 -->
+<g id="node540" class="node">
+<title>Node535</title>
+<g id="a_node540"><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,-2240 242,-2270 368,-2270 368,-2240 242,-2240"/>
 <text text-anchor="start" x="250" y="-2258" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-2247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DeviceWrapperNode</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.4413,-3567.3189C88.1079,-3411.5334 115.627,-2380.8859 204,-2279 213.6836,-2267.8357 227.5263,-2261.3611 241.87,-2257.7174"/>
 <polygon fill="#191970" stroke="#191970" points="80.9417,-3567.2646 84.2102,-3577.3426 87.9398,-3567.4259 80.9417,-3567.2646"/>
 </g>
-<!-- Node534 -->
-<g id="node539" class="node">
-<title>Node534</title>
-<g id="a_node539"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1DurationNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::DurationNode">
+<!-- Node536 -->
+<g id="node541" class="node">
+<title>Node536</title>
+<g id="a_node541"><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,-2191 242,-2221 368,-2221 368,-2191 242,-2191"/>
 <text text-anchor="start" x="250" y="-2209" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-2198" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DurationNode</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.3776,-3567.0806C87.5849,-3407.1837 112.423,-2335.931 204,-2230 213.6653,-2218.8198 227.5013,-2212.3395 241.8446,-2208.6953"/>
 <polygon fill="#191970" stroke="#191970" points="80.8732,-3567.2766 84.1767,-3577.3432 87.8718,-3567.4137 80.8732,-3567.2766"/>
 </g>
-<!-- Node535 -->
-<g id="node540" class="node">
-<title>Node535</title>
-<g id="a_node540"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1MetricCollectorNode.html" target="_top" xlink:title="Interface for user defined profiling metric collection. ">
+<!-- Node537 -->
+<g id="node542" class="node">
+<title>Node537</title>
+<g id="a_node542"><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,-2142 242,-2172 368,-2172 368,-2142 242,-2142"/>
 <text text-anchor="start" x="250" y="-2160" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-2149" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::MetricCollectorNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node535 -->
-<g id="edge539" class="edge">
-<title>Node0&#45;&gt;Node535</title>
+<!-- Node0&#45;&gt;Node537 -->
+<g id="edge541" class="edge">
+<title>Node0&#45;&gt;Node537</title>
 <path fill="none" stroke="#191970" d="M84.3084,-3567.3614C87.0285,-3405.2223 109.117,-2291.0951 204,-2181 213.6481,-2169.805 227.4781,-2163.3194 241.8209,-2159.6749"/>
 <polygon fill="#191970" stroke="#191970" points="80.8089,-3567.3075 84.1453,-3577.3633 87.808,-3567.4217 80.8089,-3567.3075"/>
 </g>
-<!-- Node536 -->
-<g id="node541" class="node">
-<title>Node536</title>
-<g id="a_node541"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1PercentNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::PercentNode">
+<!-- Node538 -->
+<g id="node543" class="node">
+<title>Node538</title>
+<g id="a_node543"><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,-2093 242,-2123 368,-2123 368,-2093 242,-2093"/>
 <text text-anchor="start" x="250" y="-2111" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-2100" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::PercentNode</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.2514,-3567.1934C86.5329,-3401.2769 105.8956,-2246.162 204,-2132 213.6322,-2120.7913 227.4563,-2114.3007 241.7987,-2110.6558"/>
 <polygon fill="#191970" stroke="#191970" points="80.749,-3567.3564 84.1158,-3577.402 87.7484,-3567.4494 80.749,-3567.3564"/>
 </g>
-<!-- Node537 -->
-<g id="node542" class="node">
-<title>Node537</title>
-<g id="a_node542"><a xlink:href="classtvm_1_1runtime_1_1profiling_1_1RatioNode.html" target="_top" xlink:title="tvm::runtime::profiling\l::RatioNode">
+<!-- Node539 -->
+<g id="node544" class="node">
+<title>Node539</title>
+<g id="a_node544"><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,-2044 242,-2074 368,-2074 368,-2044 242,-2044"/>
 <text text-anchor="start" x="250" y="-2062" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-2051" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::RatioNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node537 -->
-<g id="edge541" class="edge">
-<title>Node0&#45;&gt;Node537</title>
+<!-- Node0&#45;&gt;Node539 -->
+<g id="edge543" class="edge">
+<title>Node0&#45;&gt;Node539</title>
 <path fill="none" stroke="#191970" d="M84.1969,-3567.0536C86.0483,-3397.4934 102.6672,-2201.2377 204,-2083 213.6172,-2071.7784 227.436,-2065.2833 241.778,-2061.638"/>
 <polygon fill="#191970" stroke="#191970" points="80.693,-3567.4227 84.0882,-3577.4587 87.6926,-3567.4959 80.693,-3567.4227"/>
 </g>
-<!-- Node538 -->
-<g id="node543" class="node">
-<title>Node538</title>
-<g id="a_node543"><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. ">
+<!-- Node540 -->
+<g id="node545" class="node">
+<title>Node540</title>
+<g id="a_node545"><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,-1995 242,-2025 368,-2025 368,-1995 242,-1995"/>
 <text text-anchor="start" x="250" y="-2013" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::profiling</text>
 <text text-anchor="middle" x="305" y="-2002" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::ReportNode</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.1451,-3566.9274C85.5756,-3393.8059 99.4347,-2156.3188 204,-2034 213.6031,-2022.7664 227.4169,-2016.2669 241.7585,-2012.6213"/>
 <polygon fill="#191970" stroke="#191970" points="80.6436,-3567.1216 84.0653,-3577.1487 87.6434,-3567.1763 80.6436,-3567.1216"/>
 </g>
-<!-- Node539 -->
-<g id="node544" class="node">
-<title>Node539</title>
-<g id="a_node544"><a xlink:href="classtvm_1_1runtime_1_1ShapeTupleObj.html" target="_top" xlink:title="An object representing a shape tuple. ">
+<!-- Node541 -->
+<g id="node546" class="node">
+<title>Node541</title>
+<g id="a_node546"><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,-1956.5 226,-1975.5 384,-1975.5 384,-1956.5 226,-1956.5"/>
 <text text-anchor="middle" x="305" y="-1963.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ShapeTupleObj</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.0521,-3567.0691C84.6944,-3391.2689 93.1747,-2108.8862 204,-1985 209.948,-1978.3511 217.4254,-1973.5746 225.6078,-1970.1927"/>
 <polygon fill="#191970" stroke="#191970" points="80.5518,-3567.2054 84.0196,-3577.2165 87.5517,-3567.2278 80.5518,-3567.2054"/>
 </g>
-<!-- Node541 -->
-<g id="node546" class="node">
-<title>Node541</title>
-<g id="a_node546"><a xlink:href="classtvm_1_1runtime_1_1StringObj.html" target="_top" xlink:title="An object representing string. It&#39;s POD type. ">
+<!-- Node543 -->
+<g id="node548" class="node">
+<title>Node543</title>
+<g id="a_node548"><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,-1918.5 239.5,-1937.5 370.5,-1937.5 370.5,-1918.5 239.5,-1918.5"/>
 <text text-anchor="middle" x="305" y="-1925.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::StringObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node541 -->
-<g id="edge545" class="edge">
-<title>Node0&#45;&gt;Node541</title>
+<!-- Node0&#45;&gt;Node543 -->
+<g id="edge547" class="edge">
+<title>Node0&#45;&gt;Node543</title>
 <path fill="none" stroke="#191970" d="M84.7655,-3567.1115C91.8622,-3384.8964 147.1904,-2010.6151 204,-1947 213.151,-1936.7527 225.9346,-1930.9509 239.3375,-1927.8474"/>
 <polygon fill="#191970" stroke="#191970" points="81.2582,-3567.2352 84.3683,-3577.3632 88.2529,-3567.5063 81.2582,-3567.2352"/>
 </g>
-<!-- Node543 -->
-<g id="node548" class="node">
-<title>Node543</title>
-<g id="a_node548"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all implementations. ">
+<!-- Node545 -->
+<g id="node550" class="node">
+<title>Node545</title>
+<g id="a_node550"><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,-1880.5 235,-1899.5 375,-1899.5 375,-1880.5 235,-1880.5"/>
 <text text-anchor="middle" x="305" y="-1887.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::TimerNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node543 -->
-<g id="edge547" class="edge">
-<title>Node0&#45;&gt;Node543</title>
+<!-- Node0&#45;&gt;Node545 -->
+<g id="edge549" class="edge">
+<title>Node0&#45;&gt;Node545</title>
 <path fill="none" stroke="#191970" d="M84.7385,-3566.9294C91.6414,-3381.6225 145.9057,-1974.1618 204,-1909 212.1333,-1899.8772 223.1455,-1894.2762 234.9135,-1890.9654"/>
 <polygon fill="#191970" stroke="#191970" points="81.2329,-3567.0174 84.3602,-3577.1402 88.2281,-3567.2767 81.2329,-3567.0174"/>
-</g>
-<!-- Node544 -->
-<g id="node549" class="node">
-<title>Node544</title>
-<g id="a_node549"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation. ">
+</g>
+<!-- Node546 -->
+<g id="node551" class="node">
+<title>Node546</title>
+<g id="a_node551"><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,-1842.5 224,-1861.5 386,-1861.5 386,-1842.5 224,-1842.5"/>
 <text text-anchor="middle" x="305" y="-1849.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::vm::StorageObj</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node544 -->
-<g id="edge548" class="edge">
-<title>Node0&#45;&gt;Node544</title>
+<!-- Node0&#45;&gt;Node546 -->
+<g id="edge550" class="edge">
+<title>Node0&#45;&gt;Node546</title>
 <path fill="none" stroke="#191970" d="M84.6916,-3567.3324C91.3137,-3381.3634 144.5588,-1937.7783 204,-1871 209.457,-1864.8694 216.2139,-1860.3286 223.6274,-1857.0041"/>
 <polygon fill="#191970" stroke="#191970" points="81.1936,-3567.2177 84.3373,-3577.3353 88.1892,-3567.4655 81.1936,-3567.2177"/>
 </g>
-<!-- Node545 -->
-<g id="node550" class="node">
-<title>Node545</title>
-<g id="a_node550"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="tvm::script::ir_builder\l::IRBuilderFrameNode">
+<!-- Node547 -->
+<g id="node552" class="node">
+<title>Node547</title>
+<g id="a_node552"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="tvm::script::ir_builder\l::IRBuilderFrameNode">
 <polygon fill="#ffffff" stroke="#000000" points="244,-1793 244,-1823 366,-1823 366,-1793 244,-1793"/>
 <text text-anchor="start" x="252" y="-1811" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
 <text text-anchor="middle" x="305" y="-1800" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node545 -->
-<g id="edge549" class="edge">
-<title>Node0&#45;&gt;Node545</title>
+<!-- Node0&#45;&gt;Node547 -->
+<g id="edge551" class="edge">
+<title>Node0&#45;&gt;Node547</title>
 <path fill="none" stroke="#191970" d="M84.7004,-3566.9185C91.4043,-3377.0331 145.2607,-1902.989 204,-1833 213.9868,-1821.1005 228.662,-1814.3746 243.7485,-1810.6893"/>
 <polygon fill="#191970" stroke="#191970" points="81.1949,-3567.0153 84.3417,-3577.132 88.1906,-3567.261 81.1949,-3567.0153"/>
 </g>
-<!-- Node564 -->
-<g id="node569" class="node">
-<title>Node564</title>
-<g id="a_node569"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html" target="_top" xlink:title="A dialect&#45;agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class is to put ...">
+<!-- Node566 -->
+<g id="node571" class="node">
+<title>Node566</title>
+<g id="a_node571"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html" target="_top" xlink:title="A dialect&#45;agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class is to put ...">
 <polygon fill="#ffffff" stroke="#000000" points="244.5,-1744 244.5,-1774 365.5,-1774 365.5,-1744 244.5,-1744"/>
 <text text-anchor="start" x="252.5" y="-1762" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
 <text text-anchor="middle" x="305" y="-1751" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderNode</text>
 </a>
 </g>
 </g>
-<!-- Node0&#45;&gt;Node564 -->
-<g id="edge568" class="edge">
-<title>Node0&#45;&gt;Node564</title>
+<!-- Node0&#45;&gt;Node566 -->
+<g id="edge570" class="edge">
+<title>Node0&#45;&gt;Node566</title>
 <path fill="none" stroke="#191970" d="M84.6469,-3567.2255C90.9959,-3375.6348 143.2335,-1854.8582 204,-1783 214.1248,-1771.0271 229.0328,-1764.4202 244.3035,-1760.9149"/>
 <polygon fill="#191970" stroke="#191970" points="81.147,-3567.1695 84.3156,-3577.2794 88.1432,-3567.4002 81.147,-3567.1695"/>
 </g>
-<!-- Node565 -->
-<g id="node570" class="node">
-<title>Node565</title>
-<g id="a_node570"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc. ">
+<!-- Node567 -->
+<g id="node572" class="node">
+<title>Node567</title>
+<g id="a_node572"><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,-1695 251.5,-1725 358.5,-1725 358.5,-1695 251.5,-1695"/>
 <text text-anchor="start" x="259.5" y="-1713" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
 <text text-anchor="middle" x="305" y="-1702" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::DocNode</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.6093,-3567.2877C90.6929,-3373.0922 141.5911,-1807.9316 204,-1734 215.6838,-1720.159 233.7599,-1713.4865 251.4086,-1710.4873"/>
 <polygon fill="#191970" stroke="#191970" points="81.106,-3567.3441 84.2929,-3577.4482 88.1026,-3567.5621 81.106,-3567.3441"/>
 </g>
-<!-- Node592 -->
-<g id="node597" class="node">
-<title>Node592</title>
-<g id="a_node597"><a xlink:href="classtvm_1_1script_1_1printer_1_1FrameNode.html" target="_top" xlink:title="tvm::script::printer\l::FrameNode">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-1646 251.5,-1676 358.5,-1676 358.5,-1646 251.5,-1646"/>
-<text text-anchor="start" x="259.5" y="-1664" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
-<text text-anchor="middle" x="305" y="-1653" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::FrameNode</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.5822,-3567.0638C90.4471,-3369.0426 139.9788,-1760.9695 204,-1685 215.6723,-1671.1493 233.7459,-1664.4747 251.3959,-1661.4766"/>
-<polygon fill="#191970" stroke="#191970" points="81.0798,-3567.0972 84.284,-3577.1959 88.0768,-3567.3033 81.0798,-3567.0972"/>
-</g>
-<!-- Node593 -->
-<g id="node598" class="node">
-<title>Node593</title>
-<g id="a_node598"><a xlink:href="classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html" target="_top" xlink:title="IRDocsifier is the top&#45;level interface in the IR&#45;&gt;Doc process. ">
-<polygon fill="#ffffff" stroke="#000000" points="251.5,-1597 251.5,-1627 358.5,-1627 358.5,-1597 251.5,-1597"/>
-<text text-anchor="start" x="259.5" y="-1615" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::printer</text>
... 17627 lines suppressed ...