You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2022/11/11 19:22:26 UTC

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

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 73481ea60a deploying docs (apache/tvm@88979834842115ef9ea8487d9a631dc3275f7a7d)
73481ea60a is described below

commit 73481ea60ad0422402616758ead15d53254a8206
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Fri Nov 11 19:22:18 2022 +0000

    deploying docs (apache/tvm@88979834842115ef9ea8487d9a631dc3275f7a7d)
---
 .../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_pytorch.rst.txt     |    2 +-
 .../how_to/compile_models/from_tensorflow.rst.txt  |    2 +-
 .../compile_models/sg_execution_times.rst.txt      |   22 +-
 .../deploy_models/deploy_model_on_android.rst.txt  |    2 +-
 .../deploy_object_detection_pytorch.rst.txt        |    4 +-
 .../deploy_models/deploy_prequantized.rst.txt      |    6 +-
 .../deploy_prequantized_tflite.rst.txt             |    4 +-
 .../how_to/deploy_models/deploy_quantized.rst.txt  |    2 +-
 .../deploy_models/deploy_ssd_gluoncv.rst.txt       |    4 +-
 .../deploy_models/sg_execution_times.rst.txt       |   20 +-
 .../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                 |    4 +-
 .../tune_network_cuda.rst.txt                      |    4 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |   88 +-
 .../tune_with_autotvm/sg_execution_times.rst.txt   |   10 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     | 1053 +++++++-
 .../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  |   16 +-
 .../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 +-
 .../how_to/work_with_schedules/tensorize.rst.txt   |    2 +-
 .../tutorials/autotvm/sg_execution_times.rst.txt   |    4 +-
 .../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   |   60 +-
 .../tutorial/cross_compilation_and_rpc.rst.txt     |    2 +-
 docs/_sources/tutorial/intro_topi.rst.txt          |    2 +-
 docs/_sources/tutorial/sg_execution_times.rst.txt  |   24 +-
 .../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_pytorch.html       |   11 +-
 docs/how_to/compile_models/from_tensorflow.html    |    2 +-
 docs/how_to/compile_models/sg_execution_times.html |   22 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   35 +-
 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  |   34 +-
 docs/how_to/deploy_models/sg_execution_times.html  |   20 +-
 .../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                    |    4 +-
 .../tune_with_autoscheduler/tune_network_cuda.html |    4 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |   88 +-
 .../tune_with_autotvm/sg_execution_times.html      |   10 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html | 1053 +++++++-
 docs/how_to/work_with_microtvm/micro_autotune.html |   16 +-
 docs/how_to/work_with_microtvm/micro_pytorch.html  |    5 +-
 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/how_to/work_with_schedules/tensorize.html     |    2 +-
 docs/install/nnpack.html                           |   12 +-
 ...ilder_1_1IRBuilderFrameNode__inherit__graph.svg |   29 +-
 ...r_1_1tir_1_1AllocateConstFrameNode-members.html |    2 +-
 ...__builder_1_1tir_1_1AllocateConstFrameNode.html |   16 +-
 ...1tir_1_1AllocateConstFrameNode__coll__graph.svg |  651 ++---
 ...r_1_1AllocateConstFrameNode__inherit__graph.svg |    2 +-
 ...uilder_1_1tir_1_1AllocateFrameNode-members.html |    2 +-
 ...1_1ir__builder_1_1tir_1_1AllocateFrameNode.html |   16 +-
 ...er_1_1tir_1_1AllocateFrameNode__coll__graph.svg |  624 +++--
 ...1_1tir_1_1AllocateFrameNode__inherit__graph.svg |    2 +-
 ...lder_1_1tir_1_1DeclBufferFrameNode-members.html |   65 +-
 ...1ir__builder_1_1tir_1_1DeclBufferFrameNode.html |   26 +-
 ..._1_1tir_1_1DeclBufferFrameNode__coll__graph.svg |  287 +--
 ...1tir_1_1DeclBufferFrameNode__inherit__graph.svg |  143 +-
 ...lder_1_1tir_1_1TIRFrameNode__inherit__graph.svg |   29 +-
 docs/reference/api/doxygen/functions_a.html        |    9 +-
 docs/reference/api/doxygen/functions_b.html        |    6 +-
 docs/reference/api/doxygen/functions_func_s.html   |    2 +-
 docs/reference/api/doxygen/functions_func_u.html   |    2 +-
 docs/reference/api/doxygen/functions_m.html        |    2 +-
 docs/reference/api/doxygen/functions_s.html        |    2 +-
 docs/reference/api/doxygen/functions_t.html        |    8 +-
 docs/reference/api/doxygen/functions_vars_a.html   |    3 +
 docs/reference/api/doxygen/functions_vars_b.html   |    6 +-
 docs/reference/api/doxygen/globals_defs.html       |    9 +
 docs/reference/api/doxygen/globals_t.html          |    9 +
 .../doxygen/ir__builder_2tir_2frame_8h_source.html |   13 +-
 docs/reference/api/doxygen/namespacemembers.html   |    2 +-
 docs/reference/api/doxygen/namespacemembers_b.html |    2 +-
 docs/reference/api/doxygen/namespacemembers_f.html |   62 +-
 .../api/doxygen/namespacemembers_func.html         |    2 +-
 .../api/doxygen/namespacemembers_func_b.html       |    2 +-
 .../api/doxygen/namespacemembers_func_f.html       |   70 +-
 .../api/doxygen/namespacemembers_func_i.html       |   51 +
 .../api/doxygen/namespacemembers_func_u.html       |   62 +-
 docs/reference/api/doxygen/namespacemembers_i.html |   53 +-
 docs/reference/api/doxygen/namespacemembers_s.html |    2 +-
 docs/reference/api/doxygen/namespacemembers_u.html |   62 +-
 ...mespacetvm_1_1script_1_1ir__builder_1_1tir.html | 2626 ++++++++++++++++----
 docs/reference/api/doxygen/search/all_11.js        |    2 +-
 docs/reference/api/doxygen/search/all_13.js        |    6 +-
 docs/reference/api/doxygen/search/all_14.js        |   10 +-
 docs/reference/api/doxygen/search/all_15.js        |   11 +-
 docs/reference/api/doxygen/search/all_16.js        |   24 +-
 docs/reference/api/doxygen/search/all_18.js        |    2 +-
 docs/reference/api/doxygen/search/all_2.js         |    3 +-
 docs/reference/api/doxygen/search/all_3.js         |    6 +-
 docs/reference/api/doxygen/search/all_7.js         |   20 +
 docs/reference/api/doxygen/search/all_a.js         |   17 +
 docs/reference/api/doxygen/search/all_e.js         |    6 +-
 docs/reference/api/doxygen/search/defines_8.js     |    3 +
 docs/reference/api/doxygen/search/functions_1.js   |    2 +-
 docs/reference/api/doxygen/search/functions_10.js  |    2 +-
 docs/reference/api/doxygen/search/functions_12.js  |    2 +-
 docs/reference/api/doxygen/search/functions_13.js  |    6 +-
 docs/reference/api/doxygen/search/functions_14.js  |    2 +-
 docs/reference/api/doxygen/search/functions_15.js  |   24 +-
 docs/reference/api/doxygen/search/functions_2.js   |    2 +-
 docs/reference/api/doxygen/search/functions_6.js   |   20 +
 docs/reference/api/doxygen/search/functions_9.js   |   17 +
 docs/reference/api/doxygen/search/functions_d.js   |    4 +-
 docs/reference/api/doxygen/search/typedefs_f.js    |    2 +-
 docs/reference/api/doxygen/search/variables_1.js   |    1 +
 docs/reference/api/doxygen/search/variables_2.js   |    4 +-
 docs/reference/api/doxygen/stmt_8h_source.html     |    4 +-
 docs/reference/api/doxygen/tir_2ir_8h.html         |  252 +-
 docs/reference/api/doxygen/tir_2ir_8h_source.html  |   32 +-
 docs/reference/api/python/auto_scheduler.html      |    4 +-
 .../api/typedoc/classes/bytestreamreader.html      |   12 +-
 .../api/typedoc/classes/cachedcallstack.html       |   34 +-
 docs/reference/api/typedoc/classes/dldatatype.html |   12 +-
 docs/reference/api/typedoc/classes/dldevice.html   |   10 +-
 .../reference/api/typedoc/classes/environment.html |   12 +-
 docs/reference/api/typedoc/classes/ffilibrary.html |   20 +-
 .../api/typedoc/classes/graphexecutor.html         |   16 +-
 docs/reference/api/typedoc/classes/instance.html   |   40 +-
 docs/reference/api/typedoc/classes/memory.html     |   34 +-
 docs/reference/api/typedoc/classes/module.html     |   10 +-
 docs/reference/api/typedoc/classes/ndarray.html    |   22 +-
 .../api/typedoc/classes/packedfunccell.html        |    6 +-
 docs/reference/api/typedoc/classes/rpcserver.html  |   14 +-
 docs/reference/api/typedoc/classes/scalar.html     |    6 +-
 .../api/typedoc/classes/webgpucontext.html         |   12 +-
 docs/reference/api/typedoc/enums/argtypecode.html  |   30 +-
 .../api/typedoc/enums/aynccallbackcode.html        |    4 +-
 .../api/typedoc/enums/dldatatypecode.html          |    8 +-
 .../api/typedoc/enums/rpcserverstate.html          |   12 +-
 docs/reference/api/typedoc/enums/sizeof.html       |   18 +-
 docs/reference/api/typedoc/index.html              |  112 +-
 .../api/typedoc/interfaces/disposable.html         |    2 +-
 .../api/typedoc/interfaces/functioninfo.html       |    6 +-
 .../api/typedoc/interfaces/libraryprovider.html    |    4 +-
 docs/searchindex.js                                |    2 +-
 .../vta/tutorials/autotvm/sg_execution_times.html  |    4 +-
 .../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               |  277 ++-
 docs/tutorial/cross_compilation_and_rpc.html       |    2 +-
 docs/tutorial/intro_topi.html                      |    2 +-
 docs/tutorial/sg_execution_times.html              |   24 +-
 docs/tutorial/tensor_expr_get_started.html         |   43 +-
 192 files changed, 6870 insertions(+), 2496 deletions(-)

diff --git a/docs/_sources/how_to/compile_models/from_darknet.rst.txt b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
index bf9e397f45..9ef9c562a8 100644
--- a/docs/_sources/how_to/compile_models/from_darknet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_darknet.rst.txt
@@ -315,7 +315,7 @@ The process is no different from other examples.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  11.692 seconds)
+   **Total running time of the script:** ( 1 minutes  11.033 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 bec8ffffdf..f0a4b73d2a 100644
--- a/docs/_sources/how_to/compile_models/from_keras.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_keras.rst.txt
@@ -228,7 +228,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 941ms/step
+
    1/1 [==============================] - ETA: 0s
    1/1 [==============================] - 1s 932ms/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 8dddb7c90e..fb3857aa46 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -115,7 +115,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip0f22659a-1eda-4207-9f61-6f443972fb41 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipa3da7928-338f-43fc-aa87-db1e4a282088 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 611a0125a5..718349e7bb 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -116,7 +116,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]
     19%|#9        | 7.99M/41.5M [00:00<00:00, 39.6MB/s]
     35%|###4      | 14.3M/41.5M [00:00<00:00, 39.2MB/s]
     44%|####3     | 18.1M/41.5M [00:00<00:00, 37.7MB/s]
     58%|#####7    | 24.0M/41.5M [00:00<00:00, 38.1MB/s]
     77%|#######7  | 32.0M/41.5M [00:00<00:00, 47.6MB/s]
     92%|#########2| 38.3M/41.5M [00:00<00:00, 43.7MB/s]
    100%|##########| 41.5M/41.5M [00:01<00:00, 42.9MB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
     15%|#5        | 6.33M/41.5M [00:00<00:00, 62.5MB/s]
     30%|##9       | 12.3M/41.5M [00:00<00:00, 47.8MB/s]
     41%|####1     | 17.0M/41.5M [00:00<00:00, 40.9MB/s]
     57%|#####6    | 23.6M/41.5M [00:00<00:00, 49.9MB/s]
     69%|######9   | 28.7M/41.5M [00:00<00:00, 47.4MB/s]
     80%|########  | 33.4M/41.5M [00:00<00:00, 44.5MB/s]
     92%|#########2| 38.3M/41.5M [00:00<00:00, 37.7MB/s]
    100%|##########| 41.5M/41.5M [00:00<00:00, 43.6MB/s]
 
 
 
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 74983493b0..5daa00413d 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -98,7 +98,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]
     18%|#7        | 7.99M/44.7M [00:00<00:00, 69.1MB/s]
     39%|###9      | 17.5M/44.7M [00:00<00:00, 85.6MB/s]
     63%|######2   | 28.0M/44.7M [00:00<00:00, 96.2MB/s]
     83%|########3 | 37.3M/44.7M [00:00<00:00, 90.0MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 64.0MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     18%|#7        | 7.99M/44.7M [00:00<00:00, 74.8MB/s]
     34%|###3      | 15.1M/44.7M [00:00<00:00, 72.9MB/s]
     54%|#####3    | 24.0M/44.7M [00:00<00:00, 79.6MB/s]
     72%|#######1  | 32.0M/44.7M [00:00<00:00, 81.1MB/s]
     89%|########8 | 39.7M/44.7M [00:00<00:00, 64.5MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 63.6MB/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 b58795dcb9..3460f8a4e2 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -416,7 +416,7 @@ Run the corresponding model on tensorflow
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  10.815 seconds)
+   **Total running time of the script:** ( 1 minutes  10.478 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 4f7e7eec0f..523dbe3e51 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
 =================
-**05:43.394** total execution time for **how_to_compile_models** files:
+**05:42.185** total execution time for **how_to_compile_models** files:
 
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:11.692 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)       | 01:11.033 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:10.815 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``) | 01:10.478 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 00:45.624 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)         | 00:44.838 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:32.269 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)       | 00:31.834 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:30.052 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)           | 00:29.933 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:26.208 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)         | 00:26.842 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:24.609 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)         | 00:25.061 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:22.229 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)       | 00:22.159 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:17.477 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)           | 00:17.668 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.418 | 0.0 MB |
+| :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)             | 00:02.340 | 0.0 MB |
 +-----------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
index 8340a6b2ae..6f01f9cf57 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
@@ -434,7 +434,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      16.1948      16.1111      16.6856      15.7359       0.3016   
+      15.6913      15.6844      15.7736      15.6278       0.0415   
                
 
 
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 0e7c58553c..d8cd275627 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
@@ -127,7 +127,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]
      7%|7         | 12.0M/170M [00:00<00:01, 126MB/s]
     14%|#4        | 24.0M/170M [00:00<00:03, 49.0MB/s]
     24%|##3       | 40.0M/170M [00:00<00:02, 67.6MB/s]
     28%|##8       | 48.2M/170M [00:00<00:02, 56.4MB/s]
     35%|###4      | 58.7M/170M [00:00<00:01, 67.1MB/s]
     42%|####2     | 71.8M/170M [00:01<00:01, 82.8MB/s]
     48%|####7     | 81.3M/170M [00:01<00:01, 67.1MB/s]
     52%|#####2    | 89.2M/170M [00:01<00:01, 58.5MB/s]
     57%|#####6    | 96.0M/170M [00:01<00:01, 54.7MB/s]
     61%|######1   | 104M/170M [00:01<00:01, 53.9MB/s] 
     66%|######5   | 112M/170M [00:01<00:01, 54.0MB/s]
     71%|#######   | 120M/170M [00:02<00:00, 59.9MB/s]
     79%|#######9  | 135M/170M [00:02<00:00, 82.0MB/s]
     85%|########4 | 144M/170M [00:02<00:00, 81.4MB/s]
     90%|########9 | 152M/170M [00:02<00:00, 57.7MB/s]
     94%|#########4| 160M/170M [00:02<00:00, 54.7MB/s]
     98%|#########7| 166M/170M [00:02<00:00, 51.4MB/s]
    1
 00%|##########| 170M/170M [00:02<00:00, 60.6MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
      6%|5         | 9.50M/170M [00:00<00:01, 99.5MB/s]
     11%|#1        | 19.0M/170M [00:00<00:02, 69.8MB/s]
     15%|#5        | 26.1M/170M [00:00<00:02, 69.8MB/s]
     19%|#9        | 33.1M/170M [00:00<00:02, 49.5MB/s]
     28%|##8       | 48.0M/170M [00:00<00:01, 74.8MB/s]
     38%|###7      | 64.0M/170M [00:00<00:01, 91.0MB/s]
     47%|####7     | 80.0M/170M [00:01<00:01, 89.0MB/s]
     53%|#####3    | 90.5M/170M [00:01<00:00, 93.8MB/s]
     61%|######1   | 104M/170M [00:01<00:00, 97.2MB/s] 
     67%|######6   | 114M/170M [00:01<00:00, 94.2MB/s]
     72%|#######2  | 123M/170M [00:01<00:00, 89.2MB/s]
     80%|########  | 136M/170M [00:01<00:00, 93.3MB/s]
     89%|########9 | 152M/170M [00:01<00:00, 97.7MB/s]
     95%|#########5| 162M/170M [00:01<00:00, 98.7MB/s]
    100%|##########| 170M/170M [00:02<00:00, 88.9MB/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').
@@ -296,7 +296,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 3 minutes  10.309 seconds)
+   **Total running time of the script:** ( 3 minutes  8.915 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 1860b98df7..aa75bf4398 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -236,7 +236,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, 61.5MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 78.8MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     59%|#####8    | 7.99M/13.6M [00:00<00:00, 78.1MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 106MB/s] 
 
 
 
@@ -418,7 +418,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.1874      90.0828      96.1832      89.8562       0.6344   
+      88.8378      88.7331      90.5060      88.5198       0.3382   
                
 
 
@@ -467,7 +467,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  4.760 seconds)
+   **Total running time of the script:** ( 1 minutes  4.035 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 82555f4262..3a5e2877f2 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
@@ -432,7 +432,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.3842     119.2682     123.6073     118.4121      0.5972   
+      119.3821     119.3645     122.1992     118.4341      0.5097   
                
 
 
@@ -469,7 +469,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  25.582 seconds)
+   **Total running time of the script:** ( 2 minutes  20.507 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 3deb1b8d78..471aec1200 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -253,7 +253,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  34.704 seconds)
+   **Total running time of the script:** ( 1 minutes  28.804 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 eab2c26a93..4aed35f879 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
@@ -166,7 +166,7 @@ Convert and compile model for CPU.
             data: None
       input_sym_arg_type = in_param.infer_type()[0]
     Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
-
      0%|          | 0/132723 [00:00<?, ?KB/s]
      5%|4         | 6600/132723 [00:00<00:01, 65994.56KB/s]
     12%|#1        | 15288/132723 [00:00<00:01, 78275.46KB/s]
     17%|#7        | 23116/132723 [00:00<00:01, 60580.43KB/s]
     24%|##3       | 31847/132723 [00:00<00:01, 69544.66KB/s]
     31%|###       | 40519/132723 [00:00<00:01, 75107.84KB/s]
     37%|###7      | 49140/132723 [00:00<00:01, 71411.27KB/s]
     44%|####3     | 57850/132723 [00:00<00:00, 75976.18KB/s]
     50%|#####     | 66578/132723 [00:00<00:00, 79293.05KB/s]
     57%|#####6    | 75244/132723 [00:00<00:00, 81467.05KB/s]
     63%|######3   | 83963/132723 [00:01<00:00, 83162.65KB/s]
     70%|######9   | 92670/132723 [00:01<00:00, 84323.70KB/s]
     76%|#######6  | 101300/132723 [00:01<00:00, 84911.53KB/s]
     83%|########2 | 109901/132723 [00:01<00:00, 85234.91KB/s]
     89%|########9 | 118461/132723 [00:01<00:00, 84945.85KB/s]
     96%|#########5| 127284/132723 [00:01<00:00, 85923.53KB/s]
    100%|#######
 ###| 132723/132723 [00:01<00:00, 79908.14KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      5%|4         | 6289/132723 [00:00<00:02, 62880.32KB/s]
     11%|#1        | 14857/132723 [00:00<00:01, 76289.27KB/s]
     18%|#7        | 23404/132723 [00:00<00:01, 80479.12KB/s]
     24%|##4       | 31974/132723 [00:00<00:01, 82538.34KB/s]
     31%|###       | 40488/132723 [00:00<00:01, 83474.50KB/s]
     37%|###6      | 49000/132723 [00:00<00:00, 84030.16KB/s]
     43%|####3     | 57649/132723 [00:00<00:00, 84830.75KB/s]
     50%|####9     | 66355/132723 [00:00<00:00, 85537.23KB/s]
     56%|#####6    | 74978/132723 [00:00<00:00, 85752.15KB/s]
     63%|######2   | 83554/132723 [00:01<00:00, 83808.25KB/s]
     69%|######9   | 92027/132723 [00:01<00:00, 84083.48KB/s]
     76%|#######5  | 100443/132723 [00:01<00:00, 70279.48KB/s]
     82%|########2 | 109036/132723 [00:01<00:00, 74413.69KB/s]
     88%|########8 | 116800/132723 [00:01<00:00, 62268.27KB/s]
     95%|#########4| 125429/132723 [00:01<00:00, 68141.99KB/s]
    100%|#######
 ###| 132723/132723 [00:01<00:00, 76042.56KB/s]
 
 
 
@@ -242,7 +242,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  58.518 seconds)
+   **Total running time of the script:** ( 2 minutes  57.052 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 0eba16b854..58d024b94d 100644
--- a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
@@ -5,24 +5,24 @@
 
 Computation times
 =================
-**12:39.242** total execution time for **how_to_deploy_models** files:
+**12:23.496** total execution time for **how_to_deploy_models** files:
 
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:10.309 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``) | 03:08.915 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 02:58.518 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)                           | 02:57.052 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 02:25.582 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)           | 02:20.507 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:34.704 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)                               | 01:28.804 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:04.760 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)                         | 01:04.035 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:35.298 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)                 | 00:35.251 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``)                       | 00:25.280 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_nano.py` (``deploy_model_on_nano.py``)                       | 00:24.783 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:24.785 | 0.0 MB |
+| :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)                       | 00:24.142 | 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 bb9d7a05cb..c897b48eac 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
@@ -472,7 +472,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.zipd49fbfe6-2e6c-4236-a41d-2df55e0b26ec from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zip2d9dfe66-c60a-4fb6-a94b-adc6a22ba651 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 e92ebe1bd1..769bab0eab 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:46.883** total execution time for **how_to_extend_tvm** files:
+**00:46.625** 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:43.483 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``) | 00:43.262 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.381 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)           | 00:02.358 | 0.0 MB |
 +-------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:01.011 | 0.0 MB |
+| :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)                     | 00:00.996 | 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.007 | 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 aa401cbf19..e468e9e4d1 100644
--- a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
@@ -216,10 +216,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 7361us [7361us] (46.78%; 46.78%)
-    FoldScaleAxis: 8375us [7us] (53.22%; 53.22%)
-            FoldConstant: 8368us [1729us] (53.17%; 99.91%)
-                    InferType: 6639us [6639us] (42.19%; 79.34%)
+    InferType: 7197us [7197us] (46.17%; 46.17%)
+    FoldScaleAxis: 8390us [7us] (53.83%; 53.83%)
+            FoldConstant: 8383us [1714us] (53.78%; 99.92%)
+                    InferType: 6669us [6669us] (42.79%; 79.55%)
 
 
 
@@ -258,10 +258,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6741us [6741us] (44.97%; 44.97%)
-    FoldScaleAxis: 8249us [5us] (55.03%; 55.03%)
-            FoldConstant: 8244us [1736us] (54.99%; 99.94%)
-                    InferType: 6508us [6508us] (43.42%; 78.95%)
+    InferType: 6694us [6694us] (45.10%; 45.10%)
+    FoldScaleAxis: 8147us [5us] (54.90%; 54.90%)
+            FoldConstant: 8142us [1653us] (54.86%; 99.94%)
+                    InferType: 6489us [6489us] (43.72%; 79.70%)
 
 
 
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 6c6a65d155..0985d3f03b 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
@@ -340,7 +340,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 34.181152 ms
+    Convolution: 38.561569 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 1927444be3..626750af5e 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
@@ -659,7 +659,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 12.399268 ms
+    conv2d with tensor core: 11.910179 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 282c8d4516..4cb0a0d562 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -143,8 +143,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.018167
-    Baseline: 3.189108
+    Numpy running time: 0.018436
+    Baseline: 3.462091
 
 
 
@@ -239,7 +239,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.297096
+    Opt1: 0.294242
 
 
 
@@ -342,7 +342,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.331047
+    Opt2: 0.333649
 
 
 
@@ -438,7 +438,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.114364
+    Opt3: 0.115591
 
 
 
@@ -563,7 +563,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.109365
+    Opt4: 0.108762
 
 
 
@@ -685,7 +685,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.112397
+    Opt5: 0.110485
 
 
 
@@ -810,7 +810,7 @@ Furthermore, we can also utilize multi-core processors to do the thread-level pa
 
  .. code-block:: none
 
-    Opt6: 0.147102
+    Opt6: 0.145104
 
 
 
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 aa1171e9e8..b46ffb6ddc 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.060** total execution time for **how_to_optimize_operators** files:
+**00:34.657** total execution time for **how_to_optimize_operators** files:
 
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:31.494 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)                       | 00:32.209 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.489 | 0.0 MB |
+| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``) | 00:01.406 | 0.0 MB |
 +-----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)             | 00:01.078 | 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 9d635bf9c4..b38e3af6d3 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:01.419** total execution time for **how_to_tune_with_autoscheduler** files:
+**09:11.381** 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``) | 05:35.870 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``) | 05:47.500 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:31.708 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)             | 01:30.348 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 01:02.650 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)           | 01:02.030 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:28.544 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)               | 00:28.897 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:11.709 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)             | 00:11.726 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:10.939 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)           | 00:10.880 | 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 49bb8439a7..f64208e5a4 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
@@ -771,7 +771,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.349 ms
+    Execution time of this operator: 0.348 ms
 
 
 
@@ -1378,7 +1378,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:** ( 5 minutes  35.870 seconds)
+   **Total running time of the script:** ( 5 minutes  47.500 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 605aaae849..bb765478e0 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
@@ -643,7 +643,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)  
-       8.2247       8.2274       8.2284       8.2184       0.0045   
+       8.1995       8.1982       8.2087       8.1915       0.0071   
                
 
 
@@ -671,7 +671,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  2.650 seconds)
+   **Total running time of the script:** ( 1 minutes  2.030 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 d75b33ee34..bb3e31173a 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
@@ -662,7 +662,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)  
-      752.6515     752.4521     754.0442     751.4582      1.0651   
+      744.6625     744.5877     744.9302     744.4696      0.1953   
                
 
 
@@ -690,7 +690,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  31.708 seconds)
+   **Total running time of the script:** ( 1 minutes  30.348 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 4969dea201..4ba71ac55b 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
@@ -386,30 +386,78 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
                  placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
                  compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
       buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-      preflattened_buffer_map = {placeholder_9: placeholder_15: Buffer(placeholder_14, float32, [128, 512], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_5: placeholder_17: Buffer(placeholder_10, float32, [128, 256], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), placeholder_8: placeholder_19: Buffer(placeholder_13, int32, [33], [])} {
-      for (i0.outer.i1.outer.fused: int32, 0, 128) "parallel" {
-        allocate(compute_4: Pointer(global float32), float32, [512]), storage_scope = global {
-          for (nb_j.inner: int32, 0, 2) {
-            for (i.inner.init: int32, 0, 16) {
-              for (j.init: int32, 0, 16) {
-                compute_5: Buffer(compute_4, float32, [512], [])[(((i.inner.init*32) + (nb_j.inner*16)) + j.init)] = 0f32
+      preflattened_buffer_map = {placeholder_6: placeholder_15: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), placeholder_7: placeholder_17: Buffer(placeholder_12, int32, [4916], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_8: placeholder_18: Buffer(placeholder_13, int32, [33], []), placeholder_9: placeholder_19: Buffer(placeholder_14, float32, [128, 512], [])} {
+      for (i0.outer.i1.outer.fused: int32, 0, 64) "parallel" {
+        allocate(compute_4: Pointer(global float32), float32, [1024]), storage_scope = global {
+          for (i.outer.inner: int32, 0, 2) {
+            for (nb_j.inner: int32, 0, 2) {
+              for (i.inner.init: int32, 0, 16) {
+                let cse_var_1: int32 = (((i.outer.inner*512) + (i.inner.init*32)) + (nb_j.inner*16))
+                 {
+                  compute_5: Buffer(compute_4, float32, [1024], [])[cse_var_1] = 0f32
+                  compute_5[(cse_var_1 + 1)] = 0f32
+                  compute_5[(cse_var_1 + 2)] = 0f32
+                  compute_5[(cse_var_1 + 3)] = 0f32
+                  compute_5[(cse_var_1 + 4)] = 0f32
+                  compute_5[(cse_var_1 + 5)] = 0f32
+                  compute_5[(cse_var_1 + 6)] = 0f32
+                  compute_5[(cse_var_1 + 7)] = 0f32
+                  compute_5[(cse_var_1 + 8)] = 0f32
+                  compute_5[(cse_var_1 + 9)] = 0f32
+                  compute_5[(cse_var_1 + 10)] = 0f32
+                  compute_5[(cse_var_1 + 11)] = 0f32
+                  compute_5[(cse_var_1 + 12)] = 0f32
+                  compute_5[(cse_var_1 + 13)] = 0f32
+                  compute_5[(cse_var_1 + 14)] = 0f32
+                  compute_5[(cse_var_1 + 15)] = 0f32
+                }
               }
-            }
-            for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-              for (i.inner: int32, 0, 16) {
-                for (j: int32, 0, 16) {
-                  let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
-                  let cse_var_2: int32 = (((i.inner*32) + (nb_j.inner*16)) + j)
-                  compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
+              for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
+                for (i.inner: int32, 0, 16) {
+                  let cse_var_21: int32 = (elem_idx*16)
+                  let cse_var_20: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+                  let cse_var_19: int32 = (((i.outer.inner*512) + (i.inner*32)) + (nb_j.inner*16))
+                  let cse_var_18: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i.outer.inner*4096)) + (i.inner*256))
+                  let cse_var_17: int32 = (cse_var_19 + 9)
+                  let cse_var_16: int32 = (cse_var_19 + 8)
+                  let cse_var_15: int32 = (cse_var_19 + 7)
+                  let cse_var_14: int32 = (cse_var_19 + 6)
+                  let cse_var_13: int32 = (cse_var_19 + 5)
+                  let cse_var_12: int32 = (cse_var_19 + 4)
+                  let cse_var_11: int32 = (cse_var_19 + 3)
+                  let cse_var_10: int32 = (cse_var_19 + 2)
+                  let cse_var_9: int32 = (cse_var_19 + 15)
+                  let cse_var_8: int32 = (cse_var_19 + 14)
+                  let cse_var_7: int32 = (cse_var_19 + 13)
+                  let cse_var_6: int32 = (cse_var_19 + 12)
+                  let cse_var_5: int32 = (cse_var_19 + 11)
+                  let cse_var_4: int32 = (cse_var_19 + 10)
+                  let cse_var_3: int32 = (cse_var_19 + 1)
+                   {
+                    compute_5[cse_var_19] = (compute_5[cse_var_19] + (placeholder_1[((placeholder_3[cse_var_20]*16) + cse_var_21)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 1)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 2)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 3)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 4)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 5)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 6)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 7)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 8)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 9)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 10)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 11)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 12)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 13)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 14)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 15)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                  }
                 }
               }
             }
           }
-          for (i0.inner: int32, 0, 16) {
-            for (i1.inner: int32, 0, 32) {
-              let cse_var_4: int32 = ((((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32)) + i1.inner)
-              compute[cse_var_4] = max((compute_5[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_4]), 0f32)
-            }
+          for (i0.inner: int32, 0, 32) {
+            let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+            compute[ramp(cse_var_22, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
           }
         }
       }
@@ -465,7 +513,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 1.504 ms
+    Execution time of this operator: 1.690 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 02b92f93bd..2782a3020a 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,16 +5,16 @@
 
 Computation times
 =================
-**00:48.744** total execution time for **how_to_tune_with_autotvm** files:
+**00:23.563** 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:48.707 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)           | 00:23.528 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.022 | 0.0 MB |
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)               | 00:00.021 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)             | 00:00.005 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``) | 00:00.005 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)               | 00:00.005 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``) | 00:00.005 | 0.0 MB |
++--------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
index 9f23052786..222535641a 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
@@ -265,9 +265,7 @@ for this template
     waiting for device...
     device available
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 167.60/167.60   result: MeasureResult(costs=(0.001381298825,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.522179365158081, timestamp=1668157477.0085385)      [('tile_f', [-1, 1, 4, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4360472
-    No: 2   GFLOPS: 8.79/167.60     result: MeasureResult(costs=(0.02632410425,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.8582940101623535, timestamp=1668157477.7304428)      [('tile_f', [-1, 4, 4, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2141377
-    No: 3   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+    No: 1   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -389,9 +387,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 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 32, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7926252
-    No: 4   GFLOPS: 12.79/167.60    result: MeasureResult(costs=(0.018099557166666665,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.841151237487793, timestamp=1668157480.3641567)        [('tile_f', [-1, 2, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2974401
-    No: 5   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 8, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2347210
+    No: 2   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -513,8 +510,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 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 2, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9264785
-    No: 6   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 64, 1, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 128]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1335762
+    No: 3   GFLOPS: 179.68/179.68   result: MeasureResult(costs=(0.0012884258333333333,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4960997104644775, timestamp=1668189427.0684822)      [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,781010
+    No: 4   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -636,8 +634,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 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 64, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 128, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,447135
-    No: 7   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 2, 16]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 64]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4232533
+    No: 5   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -759,9 +757,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 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 256]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,575092
-    No: 8   GFLOPS: 5.27/167.60     result: MeasureResult(costs=(0.04390903075,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5156841278076172, timestamp=1668157482.9872196)      [('tile_f', [-1, 2, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 256]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,959201
-    No: 9   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 256]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4625497
+    No: 6   GFLOPS: 54.70/179.68    result: MeasureResult(costs=(0.00423223296,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.938089370727539, timestamp=1668189430.1134493)       [('tile_f', [-1, 8, 4, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,1818418
+    No: 7   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -883,27 +881,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 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 32, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 64, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4377213
-    No: 10  GFLOPS: 31.11/167.60    result: MeasureResult(costs=(0.007442182789473684,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3957109451293945, timestamp=1668157494.0435655)       [('tile_f', [-1, 1, 8, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,415387
-    No: 11  GFLOPS: 0.00/167.60     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, 8, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,8771723
-    No: 12  GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 16, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 128, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4285319
+    No: 8   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1025,13 +1004,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 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 2, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 64, 4]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7638909
-    No: 13  GFLOPS: 53.11/167.60    result: MeasureResult(costs=(0.0043591832608695655,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.326113224029541, timestamp=1668157499.8068411)       [('tile_f', [-1, 8, 4, 2]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,121735
-    No: 14  GFLOPS: 77.04/167.60    result: MeasureResult(costs=(0.0030047811470588237,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.2728245258331299, timestamp=1668157500.4617536)      [('tile_f', [-1, 4, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6022337
-    No: 15  GFLOPS: 908.00/908.00   result: MeasureResult(costs=(0.00025495840031897925,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.206448793411255, timestamp=1668157501.4171813)      [('tile_f', [-1, 1, 4, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10164732
-    No: 16  GFLOPS: 6.49/908.00     result: MeasureResult(costs=(0.035650565999999995,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.15035080909729, timestamp=1668157502.193695)  [('tile_f', [-1, 2, 1, 4]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 32, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7247781
-    No: 17  GFLOPS: 10.62/908.00    result: MeasureResult(costs=(0.0217960255,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.662975549697876, timestamp=1668157504.025463) [('tile_f', [-1, 8, 1, 8]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,626699
-    No: 18  GFLOPS: 0.00/908.00     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 8, 8]), ('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, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,5676155
+    No: 9   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1153,9 +1127,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 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 16, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 32]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4794620
-    No: 19  GFLOPS: 57.42/908.00    result: MeasureResult(costs=(0.004031399519999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.133490800857544, timestamp=1668157504.7228327)        [('tile_f', [-1, 8, 64, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2715288
-    No: 20  GFLOPS: 0.00/908.00     result: Traceback (most recent call last):
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 1, 1]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6772703
+    No: 10  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
@@ -1277,7 +1250,993 @@ 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 871, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
-    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 64, 2, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2962976
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 128, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 2, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6265651
+    No: 11  GFLOPS: 47.27/179.68    result: MeasureResult(costs=(0.004897892318181819,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4505457878112793, timestamp=1668189432.7280188)       [('tile_f', [-1, 1, 32, 1]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,100140
+    No: 12  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
+        func = build(s, args, target_host=task.target_host, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 8, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 32, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,55858
+    No: 13  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
+        func = build(s, args, target_host=task.target_host, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 32, 8]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3972921
+    No: 14  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
+        func = build(s, args, target_host=task.target_host, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 1, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 64, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6835148
+    No: 15  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
+        func = build(s, args, target_host=task.target_host, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 256, 2]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2194924
+    No: 16  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
+        func = build(s, args, target_host=task.target_host, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 1, 2]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 16, 16]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7491060
+    No: 17  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
+        func = build(s, args, target_host=task.target_host, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 8, 4]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7249783
+    No: 18  GFLOPS: 6.69/179.68     result: MeasureResult(costs=(0.034608097,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.389497995376587, timestamp=1668189434.490282)  [('tile_f', [-1, 2, 8, 8]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,1937695
+    No: 19  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
+        func = build(s, args, target_host=task.target_host, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 256, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4555812
+    No: 20  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 588, in __call__
+        func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+      File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 540, in _build_func_common
+        func = build(s, args, target_host=task.target_host, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, 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:1731
+      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:1671
+      19: run<>
+            at ../include/tvm/runtime/packed_func.h:1631
+      18: run<tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      17: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      16: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      15: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1631
+      14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
+            at ../include/tvm/runtime/packed_func.h:1646
+      13: operator()
+            at ../src/driver/driver_api.cc:388
+      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:374
+      11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
+            at ../src/driver/driver_api.cc:269
+      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:453
+      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:1750
+      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:1694
+      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:1618
+      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 871, in verify_pass
+        raise InstantiationError("Skipped because of invalid gpu kernel")
+    tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 8, 8]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 2, 8]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1261416
 
 
 
@@ -1332,9 +2291,9 @@ and measure running time.
     Finish loading 20 records
 
     Best config:
-    [('tile_f', [-1, 1, 4, 2]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 8]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10164732
+    [('tile_f', [-1, 1, 2, 1]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 2, 1]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,781010
     Finish loading 20 records
-    Time cost of this operator: 0.000635
+    Time cost of this operator: 0.000934
 
 
 
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 097ba81005..59f4dd059a 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
@@ -327,10 +327,10 @@ Timing the untuned program
     ########## Build without Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  Measurements(us)  
     ---------                                     ---                                           --------  -------  -----              ------  -------  ----------------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  310.6     98.635   (1, 2, 10, 10, 3)  2       1        [310.6]           
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.328     1.057    (1, 6, 10, 10)     1       1        [3.328]           
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.97      0.308    (1, 1, 10, 10, 3)  1       1        [0.97]            
-    Total_time                                    -                                             314.899   -        -                  -       -        -                 
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  308.9     98.714   (1, 2, 10, 10, 3)  2       1        [308.9]           
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.078     0.984    (1, 6, 10, 10)     1       1        [3.078]           
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.946     0.302    (1, 1, 10, 10, 3)  1       1        [0.946]           
+    Total_time                                    -                                             312.924   -        -                  -       -        -                 
 
 
 
@@ -394,10 +394,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.6     97.474   (1, 6, 10, 10, 1)  2       1        [102.6]           
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.806     1.715    (1, 6, 10, 10)     1       1        [1.806]           
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.853     0.81     (1, 3, 10, 10, 1)  1       1        [0.853]           
-    Total_time                                    -                                             105.259   -        -                  -       -        -                 
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  137.3     98.139   (1, 6, 10, 10, 1)  2       1        [137.3]           
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.773     1.267    (1, 6, 10, 10)     1       1        [1.773]           
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.831     0.594    (1, 3, 10, 10, 1)  1       1        [0.831]           
+    Total_time                                    -                                             139.904   -        -                  -       -        -                 
 
 
 
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 083bc4bb70..84d2830677 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
@@ -109,7 +109,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]
    100%|##########| 3.42M/3.42M [00:00<00:00, 98.4MB/s]
+
      0%|          | 0.00/3.42M [00:00<?, ?B/s]
     66%|######5   | 2.26M/3.42M [00:00<00:00, 23.6MB/s]
    100%|##########| 3.42M/3.42M [00:00<00:00, 26.3MB/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.
@@ -314,7 +314,7 @@ Look up prediction top 1 index in 1000 class synset.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  1.171 seconds)
+   **Total running time of the script:** ( 1 minutes  0.935 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 06b87abfa6..3efdf7e4d7 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
@@ -225,7 +225,7 @@ take about **2 minutes** to download the Stanford Cars, while COCO 2017 validati
  .. code-block:: none
 
 
-    '/tmp/tmp_3wrvtfh/images/random'
+    '/tmp/tmpvckjxel4/images/random'
 
 
 
@@ -325,8 +325,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
  .. code-block:: none
 
-    /tmp/tmp_3wrvtfh/images/target contains 8144 images
-    /tmp/tmp_3wrvtfh/images/random contains 5000 images
+    /tmp/tmpvckjxel4/images/target contains 8144 images
+    /tmp/tmpvckjxel4/images/random contains 5000 images
 
 
 
@@ -501,13 +501,13 @@ the time on our validation set).
  .. code-block:: none
 
     Epoch 1/3
-    328/328 - 46s - loss: 0.2525 - accuracy: 0.9177 - val_loss: 0.1238 - val_accuracy: 0.9558 - 46s/epoch - 140ms/step
+    328/328 - 46s - loss: 0.2440 - accuracy: 0.9146 - val_loss: 0.1043 - val_accuracy: 0.9622 - 46s/epoch - 140ms/step
     Epoch 2/3
-    328/328 - 43s - loss: 0.1037 - accuracy: 0.9607 - val_loss: 0.1002 - val_accuracy: 0.9656 - 43s/epoch - 130ms/step
+    328/328 - 42s - loss: 0.1057 - accuracy: 0.9600 - val_loss: 0.1039 - val_accuracy: 0.9649 - 42s/epoch - 129ms/step
     Epoch 3/3
-    328/328 - 43s - loss: 0.0639 - accuracy: 0.9752 - val_loss: 0.1019 - val_accuracy: 0.9698 - 43s/epoch - 130ms/step
+    328/328 - 42s - loss: 0.0645 - accuracy: 0.9755 - val_loss: 0.0914 - val_accuracy: 0.9690 - 42s/epoch - 129ms/step
 
-    <keras.callbacks.History object at 0x7f3591b42650>
+    <keras.callbacks.History object at 0x7f2f286eb150>
 
 
 
@@ -864,7 +864,7 @@ Arduino tutorial for how to do that `on GitHub <https://github.com/guberti/tvm-a
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 4 minutes  40.078 seconds)
+   **Total running time of the script:** ( 4 minutes  36.438 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 3743eb1ff5..18744e8fe9 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
 =================
-**06:41.660** total execution time for **how_to_work_with_microtvm** files:
+**06:37.498** 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:40.078 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)               | 04:36.438 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``)           | 01:01.171 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_pytorch.py` (``micro_pytorch.py``)           | 01:00.935 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)         | 00:48.438 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)         | 00:48.282 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``)                   | 00:08.256 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_aot.py` (``micro_aot.py``)                   | 00:08.161 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)             | 00:03.715 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)             | 00:03.680 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.py``) | 00:00.001 | 0.0 MB |
 +---------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
index d627d0a31e..0008e72c6a 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:42.1000** total execution time for **how_to_work_with_relay** files:
+**00:43.266** 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.269 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_pipeline_executor.py` (``using_pipeline_executor.py``) | 00:31.714 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)           | 00:10.163 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)           | 00:09.930 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                             | 00:01.561 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)                             | 00:01.615 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)                 | 00:00.007 | 0.0 MB |
 +----------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
index c8a41bdfcb..e241820d8c 100644
--- a/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/intrin_math.rst.txt
@@ -261,7 +261,7 @@ The following example customizes CUDA lowering rule for :code:`exp`.
  .. code-block:: none
 
 
-    <function my_cuda_math_rule at 0x7f344fc00950>
+    <function my_cuda_math_rule at 0x7f2f9f779320>
 
 
 
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 e53830dc59..f2461b7922 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:07.765** total execution time for **how_to_work_with_schedules** files:
+**00:07.993** 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:05.441 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)                 | 00:05.653 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:01.012 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)                     | 00:01.011 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.558 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)                     | 00:00.567 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.541 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)                               | 00:00.549 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)                     | 00:00.113 | 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_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.049 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``) | 00:00.050 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.034 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)                               | 00:00.029 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.019 | 0.0 MB |
+| :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)               | 00:00.020 | 0.0 MB |
 +------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
index 7fa6f9a371..e4324ad459 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -347,7 +347,7 @@ The importing needs to happen before the tensorized GEMV being executed.
                  C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C}
       preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpolf_aqlv/input0.cc'\nsource_filename = \"/tmp/tmpolf_aqlv/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = alloca float*, align 8\n  %8 = alloca float*, align 8\n  %9 = alloca floa [...]
+      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpe_3c4rc7/input0.cc'\nsource_filename = \"/tmp/tmpe_3c4rc7/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = alloca float*, align 8\n  %8 = alloca float*, align 8\n  %9 = alloca floa [...]
       for (i, 0, 1024) {
         for (j.outer: int32, 0, 32) {
           @tir.call_extern("gemv_update", @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
index 843ddf8062..a66a0b9b54 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:25.667** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:25.543** 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:25.661 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``) | 00:25.537 | 0.0 MB |
 +---------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)     | 00:00.006 | 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 cd97c10465..24908f1222 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -289,7 +289,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 28.25s!
+    resnet18_v1 inference graph built in 28.71s!
 
 
 
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 209f42dd2f..d191e0e4fb 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -333,7 +333,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 19.11s!
+    yolov3-tiny inference graph built in 19.37s!
 
 
 
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 d9d8f52438..71dd14617c 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:39.842** total execution time for **topic_vta_tutorials_frontend** files:
+**01:39.789** total execution time for **topic_vta_tutorials_frontend** files:
 
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:51.654 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)           | 00:51.187 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:48.187 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``) | 00:48.602 | 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 154a6c9226..740bfeb2e5 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.223** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.067** total execution time for **topic_vta_tutorials_optimize** files:
 
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.789 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)         | 00:02.626 | 0.0 MB |
 +--------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.434 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``) | 00:00.440 | 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 490b3572b9..5218bc26cf 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.770** total execution time for **topic_vta_tutorials** files:
+**00:00.773** total execution time for **topic_vta_tutorials** files:
 
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.412 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``) | 00:00.410 | 0.0 MB |
 +---------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.358 | 0.0 MB |
+| :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``) | 00:00.363 | 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 a15c8104d0..4472a4de5c 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -326,7 +326,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 96.346 ms
+    Execution time of this operator: 95.445 ms
 
 
 
@@ -444,7 +444,7 @@ operations.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  25.784 seconds)
+   **Total running time of the script:** ( 1 minutes  25.052 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 07349e2fe4..b0daa7fdd8 100644
--- a/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_matmul_x86.rst.txt
@@ -450,16 +450,16 @@ reduce variance, we take 5 measurements and average them.
     waiting for device...
     device available
     Get devices for measurement successfully!
-    No: 1   GFLOPS: 10.08/10.08     result: MeasureResult(costs=(0.0266248904,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5757319927215576, timestamp=1668156115.6507032)       [('tile_y', [-1, 2]), ('tile_x', [-1, 32])],None,51
-    No: 2   GFLOPS: 0.51/10.08      result: MeasureResult(costs=(0.5259885548000001,), error_no=MeasureErrorNo.NO_ERROR, all_cost=8.59346628189087, timestamp=1668156124.2711923)   [('tile_y', [-1, 256]), ('tile_x', [-1, 1])],None,8
-    No: 3   GFLOPS: 1.52/10.08      result: MeasureResult(costs=(0.1760899008,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.9477429389953613, timestamp=1668156127.9811218)       [('tile_y', [-1, 1]), ('tile_x', [-1, 1])],None,0
-    No: 4   GFLOPS: 8.83/10.08      result: MeasureResult(costs=(0.030416350199999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.7780344486236572, timestamp=1668156129.3570764)       [('tile_y', [-1, 16]), ('tile_x', [-1, 64])],None,64
-    No: 5   GFLOPS: 8.44/10.08      result: MeasureResult(costs=(0.0318113476,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.8947675228118896, timestamp=1668156130.4624736)       [('tile_y', [-1, 2]), ('tile_x', [-1, 128])],None,71
-    No: 6   GFLOPS: 1.51/10.08      result: MeasureResult(costs=(0.17751757419999997,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.9860386848449707, timestamp=1668156133.4751816)        [('tile_y', [-1, 2]), ('tile_x', [-1, 2])],None,11
-    No: 7   GFLOPS: 9.86/10.08      result: MeasureResult(costs=(0.0272273636,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.9148175716400146, timestamp=1668156134.8040752)       [('tile_y', [-1, 16]), ('tile_x', [-1, 128])],None,74
-    No: 8   GFLOPS: 2.42/10.08      result: MeasureResult(costs=(0.1107797798,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.9805409908294678, timestamp=1668156136.7837281)       [('tile_y', [-1, 2]), ('tile_x', [-1, 16])],None,41
-    No: 9   GFLOPS: 9.11/10.08      result: MeasureResult(costs=(0.0294727768,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.587029218673706, timestamp=1668156137.5103405)        [('tile_y', [-1, 1]), ('tile_x', [-1, 256])],None,80
-    No: 10  GFLOPS: 9.41/10.08      result: MeasureResult(costs=(0.028520014400000005,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.589123010635376, timestamp=1668156138.1292331)        [('tile_y', [-1, 8]), ('tile_x', [-1, 32])],None,53
+    No: 1   GFLOPS: 2.24/2.24       result: MeasureResult(costs=(0.11992156139999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.069396734237671, timestamp=1668188088.1763022) [('tile_y', [-1, 4]), ('tile_x', [-1, 2])],None,12
+    No: 2   GFLOPS: 3.87/3.87       result: MeasureResult(costs=(0.06937556339999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3113415241241455, timestamp=1668188089.490357) [('tile_y', [-1, 32]), ('tile_x', [-1, 16])],None,45
+    No: 3   GFLOPS: 2.74/3.87       result: MeasureResult(costs=(0.0979683338,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7150208950042725, timestamp=1668188091.9737027)       [('tile_y', [-1, 16]), ('tile_x', [-1, 4])],None,24
+    No: 4   GFLOPS: 3.23/3.87       result: MeasureResult(costs=(0.0829796676,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.468566656112671, timestamp=1668188094.2138343)        [('tile_y', [-1, 4]), ('tile_x', [-1, 16])],None,42
+    No: 5   GFLOPS: 13.08/13.08     result: MeasureResult(costs=(0.020529707,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.4877355098724365, timestamp=1668188094.828068) [('tile_y', [-1, 8]), ('tile_x', [-1, 512])],None,93
+    No: 6   GFLOPS: 4.01/13.08      result: MeasureResult(costs=(0.06692205,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.2299630641937256, timestamp=1668188096.061663)  [('tile_y', [-1, 8]), ('tile_x', [-1, 16])],None,43
+    No: 7   GFLOPS: 2.45/13.08      result: MeasureResult(costs=(0.10968753059999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.906531810760498, timestamp=1668188098.7266843) [('tile_y', [-1, 1]), ('tile_x', [-1, 16])],None,40
+    No: 8   GFLOPS: 1.57/13.08      result: MeasureResult(costs=(0.1711916372,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.919497489929199, timestamp=1668188101.6711657)        [('tile_y', [-1, 8]), ('tile_x', [-1, 1])],None,3
+    No: 9   GFLOPS: 12.44/13.08     result: MeasureResult(costs=(0.021585056,), error_no=MeasureErrorNo.NO_ERROR, all_cost=0.5558176040649414, timestamp=1668188102.3406963)        [('tile_y', [-1, 256]), ('tile_x', [-1, 128])],None,78
+    No: 10  GFLOPS: 1.14/13.08      result: MeasureResult(costs=(0.23470468259999996,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.8662045001983643, timestamp=1668188106.262973) [('tile_y', [-1, 1]), ('tile_x', [-1, 2])],None,10
 
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 3e208108e6..746b4f85b2 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -320,7 +320,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 509.437529610002, 'median': 508.79846905000363, 'std': 1.9956144726592564}
+    {'mean': 507.7278030899982, 'median': 508.08670225000014, 'std': 1.1649449954831121}
 
 
 
@@ -554,31 +554,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:   16.50/  22.59 GFLOPS | Progress: (4/20) | 6.75 s
    [Task  1/25]  Current/Best:   11.26/  22.64 GFLOPS | Progress: (8/20) | 10.11 s
    [Task  1/25]  Current/Best:    9.01/  22.64 GFLOPS | Progress: (12/20) | 12.23 s
    [Task  1/25]  Current/Best:   22.48/  22.64 GFLOPS | Progress: (16/20) | 14.76 s
    [Task  1/25]  Current/Best:   23.83/  23.83 GFLOPS | Progress: (20/20) | 16.58 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:    6.24/  16.85 GFLOPS | Progress: (4/20) | 3.11 s
    [Task  2/25]  Current/Best:    8.15/  20.72 GFLOPS | Progress: (8/20) | 4.36 s
    [Task  2/25]  Current/Best:    6.42/  20.72 GFLOPS | Progress: (12/20) | 6.44 s
    [Task  2/25]  Current/Best:    8.20/  20.72 GFLOPS | Progress: (16/20) | 7.85 s
    [Task  2/25]  Current/Best:   15.77/  20.72 GFLOPS | Progress: (20/20) | 9.17 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:   16.84/  16.90 GFLOPS | Progress: (4/20) | 3.31 s
    [Task  3/25]  Current/Best:   20.07/  20.07 GFLOPS | Progress: (8/20) | 5.49 s
    [Task  3/25]  Current/Best:    9.93/  23.12 GFLOPS | Progress: (12/20) | 7.27 s
    [Task  3/25]  Current/Best:   15.01/  23.12 GFLOPS | Progress: (16/20) | 9.40 s
    [Task  3/25]  Current/Best:   10.27/  23.36 GFLOPS | Progress: (20/20) | 11.31 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    4.65/  15.98 GFLOPS | Progress: (4/20) | 8.55 s
    [Task  4/25]  Current/Best:   20.84/  20.84 GFLOPS | Progress: (8/20) | 13.06 s
    [Task  4/25]  Current/Best:    6.88/  20.84 GFLOPS | Progress: (12/20) | 19.35 s
    [Task  4/25]  Current/Best:   11.49/  20.84 GFLOPS | Progress: (16/20) | 21.06 s
    [Task  4/25]  Current/Best:   18.10/  20.84 GFLOPS | Progress: (20/20) | 23.65 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:   16.17/  16.17 GFLOPS | Progress: (4/20) | 3.08 s
    [Task  5/25]  Current/Best:   16.80/  20.60 GFLOPS | Progress: (8/20) | 4.88 s
    [Task  5/25]  Current/Best:   18.00/  20.60 GFLOPS | Progress: (12/20) | 6.34 s
    [Task  5/25]  Current/Best:   18.16/  20.60 GFLOPS | Progress: (16/20) | 8.18 s
    [Task  5/25]  Current/Best:   20.91/  20.91 GFLOPS | Progress: (20/20) | 9.90 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   17.90/  18.49 GFLOPS | Progress: (4/20) | 3.27 s
    [Task  6/25]  Current/Best:   23.43/  23.43 GFLOPS | Progress: (8/20) | 6.45 s
    [Task  6/25]  Current/Best:   12.76/  23.43 GFLOPS | Progress: (12/20) | 10.05 s
    [Task  6/25]  Current/Best:    3.32/  23.43 GFLOPS | Progress: (16/20) | 13.68 s
    [Task  6/25]  Current/Best:   18.53/  23.43 GFLOPS | Progress: (20/20) | 16.92 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   16.83/  16.83 GFLOPS | Progress: (4/20) | 4.90 s
    [Task  7/25]  Current/Best:    8.66/  20.75 GFLOPS | Progress: (8/20) | 6.67 s
    [Task  7/25]  Current/Best:    8.50/  20.75 GFLOPS | Progress: (12/20) | 9.75 s
    [Task  7/25]  Current/Best:    8.86/  20.75 GFLOPS | Progress: (16/20) | 12.31 s
    [Task  7/25]  Current/Best:   14.37/  20.75 GFLOPS | Progress: (20/20) | 15.02 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    4.48/  18.57 GFLOPS | Progress: (4/20) | 3.74 s
    [Task  8/25]  Current/Best:   11.67/  18.57 GFLOPS | Progress: (8/20) | 11.51 s
    [Task  8/25]  Current/Best:   11.63/  18.57 GFLOPS | Progress: (12/20) | 15.23 s
    [Task  8/25]  Current/Best:    4.21/  18.57 GFLOPS | Progress: (16/20) | 25.90 s
    [Task  8/25]  Current/Best:   11.63/  18.57 GFLOPS | Progress: (20/20) | 37.17 s
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:    7.39/  23.41 GFLOPS | Progress: (4/20) | 3.59 s
    [Task  9/25]  Current/Best:   14.33/  23.41 GFLOPS | Progress: (8/20) | 5.34 s
    [Task  9/25]  Current/Best:    8.14/  23.41 GFLOPS | Progress: (12/20) | 11.60 s
    [Task  9/25]  Current/Best:    5.20/  23.41 GFLOPS | Progress: (16/20) | 16.37 s
    [Task  9/25]  Current/Best:   21.24/  23.41 GFLOPS | Progress: (20/2
 0) | 17.82 s Done.
-
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   15.02/  18.72 GFLOPS | Progress: (4/20) | 4.48 s
    [Task 10/25]  Current/Best:   13.92/  18.72 GFLOPS | Progress: (8/20) | 5.97 s
    [Task 10/25]  Current/Best:   13.31/  18.72 GFLOPS | Progress: (12/20) | 7.53 s
    [Task 10/25]  Current/Best:   14.13/  18.72 GFLOPS | Progress: (16/20) | 9.38 s
    [Task 10/25]  Current/Best:   10.32/  18.72 GFLOPS | Progress: (20/20) | 11.20 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   12.34/  19.13 GFLOPS | Progress: (4/20) | 3.83 s
    [Task 11/25]  Current/Best:   13.44/  19.13 GFLOPS | Progress: (8/20) | 6.38 s
    [Task 11/25]  Current/Best:   13.61/  19.13 GFLOPS | Progress: (12/20) | 10.27 s
    [Task 11/25]  Current/Best:    6.26/  22.81 GFLOPS | Progress: (16/20) | 12.58 s
    [Task 11/25]  Current/Best:    7.11/  22.81 GFLOPS | Progress: (20/20) | 14.73 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:   19.68/  19.68 GFLOPS | Progress: (4/20) | 3.41 s
    [Task 12/25]  Current/Best:   15.87/  19.68 GFLOPS | Progress: (8/20) | 6.37 s
    [Task 12/25]  Current/Best:   20.01/  20.01 GFLOPS | Progress: (12/20) | 8.08 s
    [Task 12/25]  Current/Best:   14.93/  20.01 GFLOPS | Progress: (16/20) | 11.43 s
    [Task 12/25]  Current/Best:   10.51/  20.01 GFLOPS | Progress: (20/20) | 14.22 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:   10.21/  12.21 GFLOPS | Progress: (4/20) | 4.66 s
    [Task 13/25]  Current/Best:    7.87/  18.97 GFLOPS | Progress: (8/20) | 8.37 s
    [Task 13/25]  Current/Best:    6.14/  21.78 GFLOPS | Progress: (12/20) | 10.91 s
    [Task 13/25]  Current/Best:   12.50/  21.78 GFLOPS | Progress: (16/20) | 14.06 s
    [Task 13/25]  Current/Best:   11.82/  21.78 GFLOPS | Progress: (20/20) | 16.42 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:    5.38/  14.97 GFLOPS | Progress: (4/20) | 4.32 s
    [Task 14/25]  Current/Best:    6.30/  14.97 GFLOPS | Progress: (8/20) | 11.78 s
    [Task 14/25]  Current/Best:    3.15/  14.97 GFLOPS | Progress: (12/20) | 14.90 s
    [Task 14/25]  Current/Best:    8.57/  15.64 GFLOPS | Progress: (16/20) | 20.68 s Done.
-
    [Task 14/25]  Current/Best:   11.80/  16.64 GFLOPS | Progress: (20/20) | 24.56 s Done.
-
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   12.99/  20.80 GFLOPS | Progress: (4/20) | 2.65 s
    [Task 15/25]  Current/Best:   18.92/  20.80 GFLOPS | Progress: (8/20) | 4.05 s
    [Task 15/25]  Current/Best:   21.04/  21.04 GFLOPS | Progress: (12/20) | 6.01 s
    [Task 15/25]  Current/Best:    7.71/  22.08 GFLOPS | Progress: (16/20) | 7.40 s
    [Task 15/25]  Current/Best:    9.62/  22.08 GFLOPS | Progress: (20/20) | 10.41 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:    1.58/  13.09 GFLOPS | Progress: (4/20) | 6.38 s
    [Task 16/25]  Current/Best:   15.51/  23.06 GFLOPS | Progress: (8/20) | 7.92 s
    [Task 16/25]  Current/Best:   11.85/  23.06 GFLOPS | Progress: (12/20) | 9.38 s
    [Task 16/25]  Current/Best:   11.54/  23.06 GFLOPS | Progress: (16/20) | 12.36 s
    [Task 16/25]  Current/Best:   15.23/  23.06 GFLOPS | Progress: (20/20) |
  14.23 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   10.22/  13.76 GFLOPS | Progress: (4/20) | 3.74 s
    [Task 17/25]  Current/Best:   12.07/  22.36 GFLOPS | Progress: (8/20) | 5.81 s
    [Task 17/25]  Current/Best:    8.68/  22.53 GFLOPS | Progress: (12/20) | 8.06 s
    [Task 17/25]  Current/Best:   20.25/  22.53 GFLOPS | Progress: (16/20) | 10.03 s
    [Task 17/25]  Current/Best:   14.15/  22.53 GFLOPS | Progress: (20/20) | 13.99 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:    6.38/  20.75 GFLOPS | Progress: (4/20) | 3.14 s
    [Task 18/25]  Current/Best:    5.68/  20.75 GFLOPS | Progress: (8/20) | 6.53 s
    [Task 18/25]  Current/Best:   13.40/  20.75 GFLOPS | Progress: (12/20) | 9.88 s
    [Task 18/25]  Current/Best:    4.54/  20.75 GFLOPS | Progress: (16/20) | 13.35 s
    [Task 18/25]  Current/Best:   12.07/  20.75 GFLOPS | Progress: (20/20) | 15.96 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    6.65/  21.86 GFLOPS | Progress: (4/20) | 4.59 s
    [Task 19/25]  Current/Best:    6.43/  21.86 GFLOPS | Progress: (8/20) | 8.37 s
    [Task 19/25]  Current/Best:    6.48/  21.86 GFLOPS | Progress: (12/20) | 10.95 s
    [Task 19/25]  Current/Best:   11.20/  21.86 GFLOPS | Progress: (16/20) | 14.45 s
    [Task 19/25]  Current/Best:   10.65/  21.86 GFLOPS | Progress: (20/20) | 17.32 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    7.88/  15.19 GFLOPS | Progress: (4/20) | 4.03 s
    [Task 20/25]  Current/Best:   19.05/  19.05 GFLOPS | Progress: (8/20) | 5.67 s
    [Task 20/25]  Current/Best:   17.90/  19.05 GFLOPS | Progress: (12/20) | 8.16 s
    [Task 20/25]  Current/Best:   11.15/  19.05 GFLOPS | Progress: (16/20) | 11.68 s
    [Task 20/25]  Current/Best:   10.22/  19.05 GFLOPS | Progress: (20/20) | 14.48 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.96/  17.96 GFLOPS | Progress: (4/20) | 6.75 s
    [Task  1/25]  Current/Best:    9.58/  18.17 GFLOPS | Progress: (8/20) | 10.07 s
    [Task  1/25]  Current/Best:    1.92/  18.17 GFLOPS | Progress: (12/20) | 13.81 s
    [Task  1/25]  Current/Best:    6.30/  18.17 GFLOPS | Progress: (16/20) | 19.72 s
    [Task  1/25]  Current/Best:   10.72/  21.94 GFLOPS | Progress: (20/20) | 22.15 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   14.52/  14.52 GFLOPS | Progress: (4/20) | 3.35 s
    [Task  2/25]  Current/Best:   10.02/  14.52 GFLOPS | Progress: (8/20) | 4.74 s
    [Task  2/25]  Current/Best:   14.40/  18.63 GFLOPS | Progress: (12/20) | 5.77 s
    [Task  2/25]  Current/Best:   14.85/  21.55 GFLOPS | Progress: (16/20) | 7.52 s
    [Task  2/25]  Current/Best:   12.57/  21.55 GFLOPS | Progress: (20/20) | 8.85 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:   11.67/  15.09 GFLOPS | Progress: (4/20) | 3.87 s
    [Task  3/25]  Current/Best:   15.37/  22.64 GFLOPS | Progress: (8/20) | 5.82 s
    [Task  3/25]  Current/Best:    6.44/  22.64 GFLOPS | Progress: (12/20) | 8.52 s
    [Task  3/25]  Current/Best:   13.36/  22.64 GFLOPS | Progress: (16/20) | 11.26 s
    [Task  3/25]  Current/Best:   14.77/  22.64 GFLOPS | Progress: (20/20) | 13.49 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    7.99/  19.11 GFLOPS | Progress: (4/20) | 3.52 s
    [Task  4/25]  Current/Best:   15.07/  19.11 GFLOPS | Progress: (8/20) | 8.15 s
    [Task  4/25]  Current/Best:   16.07/  19.11 GFLOPS | Progress: (12/20) | 10.04 s
    [Task  4/25]  Current/Best:   14.15/  19.11 GFLOPS | Progress: (16/20) | 12.35 s
    [Task  4/25]  Current/Best:   12.74/  19.11 GFLOPS | Progress: (20/20) | 14.95 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    5.15/  13.66 GFLOPS | Progress: (4/20) | 3.40 s
    [Task  5/25]  Current/Best:   14.74/  14.74 GFLOPS | Progress: (8/20) | 5.64 s
    [Task  5/25]  Current/Best:   11.18/  14.74 GFLOPS | Progress: (12/20) | 7.49 s
    [Task  5/25]  Current/Best:   11.58/  15.54 GFLOPS | Progress: (16/20) | 10.52 s
    [Task  5/25]  Current/Best:    1.63/  15.54 GFLOPS | Progress: (20/20) | 13.41 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   17.64/  17.64 GFLOPS | Progress: (4/20) | 3.93 s
    [Task  6/25]  Current/Best:    5.68/  17.64 GFLOPS | Progress: (8/20) | 6.36 s
    [Task  6/25]  Current/Best:   13.51/  22.04 GFLOPS | Progress: (12/20) | 8.73 s
    [Task  6/25]  Current/Best:   11.03/  22.04 GFLOPS | Progress: (16/20) | 10.73 s
    [Task  6/25]  Current/Best:    5.63/  22.04 GFLOPS | Progress: (20/20) | 13.21 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   21.41/  21.41 GFLOPS | Progress: (4/20) | 3.76 s
    [Task  7/25]  Current/Best:    8.30/  21.41 GFLOPS | Progress: (8/20) | 7.34 s
    [Task  7/25]  Current/Best:   15.94/  21.41 GFLOPS | Progress: (12/20) | 9.43 s
    [Task  7/25]  Current/Best:    9.67/  21.41 GFLOPS | Progress: (16/20) | 11.52 s
    [Task  7/25]  Current/Best:   11.70/  21.41 GFLOPS | Progress: (20/20) | 14.53 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:   11.50/  12.98 GFLOPS | Progress: (4/20) | 5.91 s
    [Task  8/25]  Current/Best:   11.51/  14.78 GFLOPS | Progress: (8/20) | 12.70 s
    [Task  8/25]  Current/Best:   15.60/  15.60 GFLOPS | Progress: (12/20) | 16.47 s
    [Task  8/25]  Current/Best:    9.20/  22.10 GFLOPS | Progress: (16/20) | 20.04 s
    [Task  8/25]  Current/Best:   12.78/  22.10 GFLOPS | Progress: (20/20) | 22.03 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   16.35/  16.54 GFLOPS | Progress: (4/20) | 3.68 s
    [Task  9/25]  Current/Best:    6.17/  22.74 GFLOPS | Progress: (8/20) | 6.09 s
    [Task  9/25]  Current/Best:    1.89/  22.74 GFLOPS | Progress: (12/20) | 10.00 s
    [Task  9/25]  Current/Best:   11.75/  22.74 GFLOPS | Progress: (16/20) | 14.57 s
    [Task  9/25]  Current/Best:   14.40/  22.74 GFLOPS | Progress: (20/20) | 19.12 s Done.
+
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   15.89/  20.82 GFLOPS | Progress: (4/20) | 2.95 s
    [Task 10/25]  Current/Best:   14.93/  20.82 GFLOPS | Progress: (8/20) | 4.28 s
    [Task 10/25]  Current/Best:    9.47/  20.82 GFLOPS | Progress: (12/20) | 6.05 s
    [Task 10/25]  Current/Best:   16.09/  20.82 GFLOPS | Progress: (16/20) | 7.54 s
    [Task 10/25]  Current/Best:    5.39/  20.82 GFLOPS | Progress: (20/20) | 9.36 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   21.32/  21.32 GFLOPS | Progress: (4/20) | 3.47 s
    [Task 11/25]  Current/Best:   12.38/  21.32 GFLOPS | Progress: (8/20) | 5.67 s
    [Task 11/25]  Current/Best:   10.40/  21.32 GFLOPS | Progress: (12/20) | 8.12 s
    [Task 11/25]  Current/Best:    6.24/  21.32 GFLOPS | Progress: (16/20) | 10.58 s
    [Task 11/25]  Current/Best:   18.92/  21.32 GFLOPS | Progress: (20/20) | 13.27 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:   16.97/  16.97 GFLOPS | Progress: (4/20) | 4.02 s
    [Task 12/25]  Current/Best:    6.75/  17.67 GFLOPS | Progress: (8/20) | 6.61 s
    [Task 12/25]  Current/Best:   11.02/  18.16 GFLOPS | Progress: (12/20) | 12.36 s
    [Task 12/25]  Current/Best:   14.44/  18.16 GFLOPS | Progress: (16/20) | 14.95 s
    [Task 12/25]  Current/Best:    4.38/  18.16 GFLOPS | Progress: (20/20) | 17.57 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:   10.00/  22.33 GFLOPS | Progress: (4/20) | 4.12 s
    [Task 13/25]  Current/Best:    9.86/  22.33 GFLOPS | Progress: (8/20) | 6.02 s
    [Task 13/25]  Current/Best:   12.04/  22.33 GFLOPS | Progress: (12/20) | 9.55 s
    [Task 13/25]  Current/Best:    4.94/  22.33 GFLOPS | Progress: (16/20) | 12.21 s
    [Task 13/25]  Current/Best:   10.36/  22.33 GFLOPS | Progress: (20/20) | 15.02 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:    8.44/  17.32 GFLOPS | Progress: (4/20) | 5.03 s
    [Task 14/25]  Current/Best:    6.30/  17.32 GFLOPS | Progress: (8/20) | 7.31 s
    [Task 14/25]  Current/Best:    3.10/  17.61 GFLOPS | Progress: (12/20) | 12.69 s
    [Task 14/25]  Current/Best:   10.78/  17.61 GFLOPS | Progress: (16/20) | 17.80 s
    [Task 14/25]  Current/Best:   14.41/  17.61 GFLOPS | Progress: (20/20) | 19.69 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   15.23/  17.42 GFLOPS | Progress: (4/20) | 3.53 s
    [Task 15/25]  Current/Best:   16.10/  17.42 GFLOPS | Progress: (8/20) | 4.80 s
    [Task 15/25]  Current/Best:   13.88/  20.03 GFLOPS | Progress: (12/20) | 6.51 s
    [Task 15/25]  Current/Best:   11.35/  20.03 GFLOPS | Progress: (16/20) | 8.19 s
    [Task 15/25]  Current/Best:   12.42/  20.03 GFLOPS | Progress: (20/20) 
 | 11.11 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   10.61/  17.91 GFLOPS | Progress: (4/20) | 3.45 s Done.
      Done.
-
    [Task 21/25]  Current/Best:   14.94/  14.98 GFLOPS | Progress: (4/20) | 3.45 s
    [Task 21/25]  Current/Best:    9.69/  14.98 GFLOPS | Progress: (8/20) | 6.20 s
    [Task 21/25]  Current/Best:   19.57/  19.57 GFLOPS | Progress: (12/20) | 8.08 s
    [Task 21/25]  Current/Best:   13.73/  19.57 GFLOPS | Progress: (16/20) | 10.32 s
    [Task 21/25]  Current/Best:    8.45/  19.57 GFLOPS | Progress: (20/20) | 12.75 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    1.56/  16.46 GFLOPS | Progress: (4/20) | 5.35 s
    [Task 22/25]  Current/Best:   16.44/  20.74 GFLOPS | Progress: (8/20) | 6.60 s
    [Task 22/25]  Current/Best:    8.23/  20.74 GFLOPS | Progress: (12/20) | 9.07 s
    [Task 22/25]  Current/Best:    8.94/  20.74 GFLOPS | Progress: (16/20) | 12.03 s
    [Task 22/25]  Current/Best:    3.09/  20.94 GFLOPS | Progress: (20/20) | 13.84 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:    6.17/   9.78 GFLOPS | Progress: (4/20) | 5.15 s
    [Task 23/25]  Current/Best:   12.19/  22.76 GFLOPS | Progress: (8/20) | 7.84 s
    [Task 23/25]  Current/Best:   12.38/  22.76 GFLOPS | Progress: (12/20) | 10.70 s
    [Task 23/25]  Current/Best:   12.62/  22.76 GFLOPS | Progress: (16/20) | 15.13 s
    [Task 23/25]  Current/Best:   20.57/  22.76 GFLOPS | Progress: (20/20) | 18.20 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    2.31/   3.60 GFLOPS | Progress: (4/20) | 12.22 s
    [Task 24/25]  Current/Best:    2.89/   9.13 GFLOPS | Progress: (8/20) | 19.57 s
    [Task 24/25]  Current/Best:    4.16/   9.13 GFLOPS | Progress: (12/20) | 30.30 s
    [Task 24/25]  Current/Best:    4.60/   9.13 GFLOPS | Progress: (16/20) | 32.49 s Done.
-
    [Task 24/25]  Current/Best:    3.45/   9.13 GFLOPS | Progress: (20/20) | 43.21 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    6.73/   7.72 GFLOPS | Progress: (4/20) | 12.18 s
    [Task 25/25]  Current/Best:    5.57/   8.37 GFLOPS | Progress: (8/20) | 23.64 s
    [Task 25/25]  Current/Best:    9.02/   9.02 GFLOPS | Progress: (12/20) | 34.93 s
    [Task 25/25]  Current/Best:    8.56/   9.02 GFLOPS | Progress: (16/20) | 45.58 s
    [Task 25/25]  Current/Best:    1.54/   9.76 GFLOPS | Progress: (20/20) | 47.33 s Done.
-
+
    [Task 16/25]  Current/Best:   16.34/  20.74 GFLOPS | Progress: (8/20) | 5.39 s
    [Task 16/25]  Current/Best:    9.99/  20.74 GFLOPS | Progress: (12/20) | 8.33 s
    [Task 16/25]  Current/Best:   22.24/  22.24 GFLOPS | Progress: (16/20) | 10.16 s
    [Task 16/25]  Current/Best:   12.80/  22.24 GFLOPS | Progress: (20/20) | 12.67 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   16.86/  18.83 GFLOPS | Progress: (4/20) | 3.29 s
    [Task 17/25]  Current/Best:   12.37/  22.77 GFLOPS | Progress: (8/20) | 5.89 s
    [Task 17/25]  Current/Best:   15.34/  22.77 GFLOPS | Progress: (12/20) | 8.35 s
    [Task 17/25]  Current/Best:    3.09/  22.77 GFLOPS | Progress: (16/20) | 11.41 s
    [Task 17/25]  Current/Best:    8.13/  22.77 GFLOPS | Progress: (20/20) | 14.34 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   18.34/  20.40 GFLOPS | Progress: (4/20) | 3.27 s
    [Task 18/25]  Current/Best:   13.10/  20.40 GFLOPS | Progress: (8/20) | 10.99 s
    [Task 18/25]  Current/Best:   14.97/  20.40 GFLOPS | Progress: (12/20) | 14.09 s
    [Task 18/25]  Current/Best:   10.99/  20.40 GFLOPS | Progress: (16/20) | 16.49 s
    [Task 18/25]  Current/Best:   18.85/  20.40 GFLOPS | Progress: (20/20) | 18.28 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:   18.09/  20.13 GFLOPS | Progress: (4/20) | 3.92 s
    [Task 19/25]  Current/Best:    9.71/  20.13 GFLOPS | Progress: (8/20) | 7.02 s
    [Task 19/25]  Current/Best:    9.76/  20.13 GFLOPS | Progress: (12/20) | 11.17 s
    [Task 19/25]  Current/Best:   12.84/  20.13 GFLOPS | Progress: (16/20) | 14.97 s
    [Task 19/25]  Current/Best:   11.12/  20.13 GFLOPS | Progress: (20/20) | 21.60 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    3.10/   6.49 GFLOPS | Progress: (4/20) | 4.70 s
    [Task 20/25]  Current/Best:   20.67/  20.67 GFLOPS | Progress: (8/20) | 7.30 s
    [Task 20/25]  Current/Best:    6.23/  20.67 GFLOPS | Progress: (12/20) | 9.12 s
    [Task 20/25]  Current/Best:   13.43/  20.67 GFLOPS | Progress: (16/20) | 12.04 s
    [Task 20/25]  Current/Best:   11.07/  20.67 GFLOPS | Progress: (20/20) | 15.83 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:   17.67/  18.63 GFLOPS | Progress: (4/20) | 3.19 s
    [Task 21/25]  Current/Best:   14.35/  18.63 GFLOPS | Progress: (8/20) | 4.55 s
    [Task 21/25]  Current/Best:   12.22/  18.63 GFLOPS | Progress: (12/20) | 7.04 s Done.
+
    [Task 21/25]  Current/Best:   14.25/  18.70 GFLOPS | Progress: (16/20) | 8.96 s
    [Task 21/25]  Current/Best:   10.66/  18.70 GFLOPS | Progress: (20/20) | 10.07 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:   11.72/  17.52 GFLOPS | Progress: (4/20) | 4.36 s
    [Task 22/25]  Current/Best:   11.73/  17.52 GFLOPS | Progress: (8/20) | 6.30 s
    [Task 22/25]  Current/Best:    7.51/  17.52 GFLOPS | Progress: (12/20) | 9.00 s
    [Task 22/25]  Current/Best:    7.43/  17.52 GFLOPS | Progress: (16/20) | 11.86 s
    [Task 22/25]  Current/Best:   18.64/  18.64 GFLOPS | Progress: (20/20) | 13.93 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   20.01/  20.11 GFLOPS | Progress: (4/20) | 3.76 s
    [Task 23/25]  Current/Best:    6.86/  20.11 GFLOPS | Progress: (8/20) | 6.27 s
    [Task 23/25]  Current/Best:   18.03/  20.11 GFLOPS | Progress: (12/20) | 9.23 s
    [Task 23/25]  Current/Best:    8.23/  20.11 GFLOPS | Progress: (16/20) | 12.89 s
    [Task 23/25]  Current/Best:   12.96/  20.11 GFLOPS | Progress: (20/20) | 15.59 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    9.99/   9.99 GFLOPS | Progress: (4/20) | 2.83 s
    [Task 24/25]  Current/Best:    0.88/   9.99 GFLOPS | Progress: (8/20) | 13.54 s
    [Task 24/25]  Current/Best:    3.27/   9.99 GFLOPS | Progress: (12/20) | 21.66 s
    [Task 24/25]  Current/Best:    5.07/   9.99 GFLOPS | Progress: (16/20) | 32.16 s
    [Task 24/25]  Current/Best:    9.35/   9.99 GFLOPS | Progress: (20/20) | 42.66 s
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s Done.
+     Done.
+
    [Task 25/25]  Current/Best:    1.54/   5.94 GFLOPS | Progress: (4/20) | 13.04 s
    [Task 25/25]  Current/Best:    5.81/   8.43 GFLOPS | Progress: (8/20) | 14.82 s
    [Task 25/25]  Current/Best:    4.29/   8.43 GFLOPS | Progress: (12/20) | 19.41 s
    [Task 25/25]  Current/Best:    7.51/   8.43 GFLOPS | Progress: (16/20) | 20.57 s
    [Task 25/25]  Current/Best:    5.74/   8.43 GFLOPS | Progress: (20/20) | 31.08 s
 
 
 
@@ -674,8 +674,8 @@ Verify that the optimized model runs and produces the same results:
 
  .. code-block:: none
 
-    class='n02123045 tabby, tabby cat' with probability=0.621105
-    class='n02123159 tiger cat' with probability=0.356377
+    class='n02123045 tabby, tabby cat' with probability=0.621104
+    class='n02123159 tiger cat' with probability=0.356378
     class='n02124075 Egyptian cat' with probability=0.019712
     class='n02129604 tiger, Panthera tigris' with probability=0.001215
     class='n04040759 radiator' with probability=0.000262
@@ -732,8 +732,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 407.5403767800026, 'median': 406.85900895000486, 'std': 1.8852394637939685}
-    unoptimized: {'mean': 509.437529610002, 'median': 508.79846905000363, 'std': 1.9956144726592564}
+    optimized: {'mean': 414.2405844899986, 'median': 414.3426308500011, 'std': 1.0258821366311048}
+    unoptimized: {'mean': 507.7278030899982, 'median': 508.08670225000014, 'std': 1.1649449954831121}
 
 
 
@@ -756,7 +756,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 11 minutes  4.887 seconds)
+   **Total running time of the script:** ( 10 minutes  31.316 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 496d9491a9..c092bc944a 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -270,7 +270,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.29e-07 secs/op
+    1.248e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 3c53c5d854..f46f1d955b 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -263,7 +263,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x2316e4b0)), stage(b, placeholder(b, 0xdec6340)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min [...]
+    [stage(a, placeholder(a, 0xe9fa350)), stage(b, placeholder(b, 0x16788d00)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min [...]
 
 
 
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index a49efc4b03..9de1bf93f0 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,32 +5,32 @@
 
 Computation times
 =================
-**14:33.083** total execution time for **tutorial** files:
+**13:59.850** total execution time for **tutorial** files:
 
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 11:04.887 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)                 | 10:31.316 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:25.784 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``) | 01:25.052 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 00:57.939 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)     | 01:01.501 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:35.517 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)                 | 00:35.789 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:26.946 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)               | 00:23.994 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:01.073 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)       | 00:01.269 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.766 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)                               | 00:00.767 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.162 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``) | 00:00.154 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)                           | 00:00.005 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_uma.py` (``uma.py``)                                             | 00:00.002 | 0.0 MB |
-+------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)   | 00:00.001 | 0.0 MB |
+| :ref:`sphx_glr_tutorial_uma.py` (``uma.py``)                                             | 00:00.001 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)                             | 00:00.001 | 0.0 MB |
 +------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)   | 00:00.001 | 0.0 MB |
++------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_tutorial_install.py` (``install.py``)                                     | 00:00.001 | 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 784ce26ae6..aa3eb99a92 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -294,7 +294,7 @@ helper function to run a profile of the TVM generated code.
 
  .. code-block:: none
 
-    Numpy running time: 0.000008
+    Numpy running time: 0.000007
     naive: 0.000007
 
 
@@ -394,7 +394,7 @@ compile and run this new schedule with the parallel operation applied:
 
  .. code-block:: none
 
-    parallel: 0.000014
+    parallel: 0.000007
 
 
 
@@ -501,10 +501,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    7.789060000504832e-06                    1.0
-                   naive              6.8521e-06      0.8797082060679845
-                parallel    1.3775999999999998e-05     1.768634469256513
-                  vector              2.4737e-05       3.175864609901159
+                   numpy    7.159299998420465e-06                    1.0
+                   naive              6.6387e-06      0.9272833938324524
+                parallel    6.928900000000001e-06     0.9678180829869825
+                  vector             2.45793e-05       3.433198777174145
 
 
 
@@ -925,7 +925,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.018086
+    Numpy running time: 0.019143
 
 
 
@@ -983,7 +983,7 @@ optimizations.
 
  .. code-block:: none
 
-    none: 3.194429
+    none: 3.444761
 
 
 
@@ -1086,7 +1086,7 @@ schedule.
 
  .. code-block:: none
 
-    blocking: 0.291321
+    blocking: 0.305775
 
 
 
@@ -1182,7 +1182,7 @@ already cache friendly from our previous optimizations.
 
  .. code-block:: none
 
-    vectorization: 0.329895
+    vectorization: 0.335886
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1256,7 +1256,7 @@ more cache friendly.
 
  .. code-block:: none
 
-    loop permutation: 0.115137
+    loop permutation: 0.117990
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1355,7 +1355,7 @@ optimized schedule.
 
  .. code-block:: none
 
-    array packing: 0.109133
+    array packing: 0.108471
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1448,7 +1448,7 @@ to `C` when all the block results are ready.
 
  .. code-block:: none
 
-    block caching: 0.110608
+    block caching: 0.112193
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1534,7 +1534,7 @@ of thread-level parallelization.
 
  .. code-block:: none
 
-    parallelization: 0.146229
+    parallelization: 0.147401
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1615,13 +1615,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none      3.1944290215000004                     1.0
-                blocking     0.29132084450000006     0.09119653075378248
-           vectorization            0.3298950855     0.10327200362870857
-        loop permutation     0.11513653099999999     0.03604291415620047
-           array packing            0.1091326201    0.034163419930599945
-           block caching     0.11060836059999998     0.03462539310016094
-         parallelization            0.1462290094     0.04577625873538289
+                    none      3.4447611562999993                     1.0
+                blocking            0.3057749593     0.08876521344325403
+           vectorization            0.3358855503     0.09750619420615303
+        loop permutation     0.11799022210000001    0.034252076340390666
+           array packing            0.1084708411     0.03148863917651347
+           block caching     0.11219302439999998     0.03256917368416507
+         parallelization            0.1474014388     0.04279003161958641
 
 
 
@@ -1661,6 +1661,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.501 seconds)
+
+
 .. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
 
 .. only:: html
diff --git a/docs/commit_hash b/docs/commit_hash
index 9d016e1ec5..df59605ddf 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-5ffcfd9327e24129b50ebb3c8c0456961e444999
+88979834842115ef9ea8487d9a631dc3275f7a7d
diff --git a/docs/how_to/compile_models/from_darknet.html b/docs/how_to/compile_models/from_darknet.html
index a7aa97be8c..6826941b52 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  11.692 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  11.033 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 c42b429ef8..5d61951c91 100644
--- a/docs/how_to/compile_models/from_keras.html
+++ b/docs/how_to/compile_models/from_keras.html
@@ -506,7 +506,7 @@ pip install -U tensorflow --user
 <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 941ms/step
+1/1 [==============================] - 1s 932ms/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 a1b751c67f..aa3341af4c 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -440,7 +440,7 @@ to download the full example code</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;x&quot;</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#tuple" title="builtins.tuple" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span><span class="o">.</span><span class="n">shape</span></a><span class="p">)</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_from_mxnet_001.png" srcset="../../_images/sphx_glr_from_mxnet_001.png" alt="from mxnet" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip0f22659a-1eda-4207-9f61-6f443972fb41 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.zipa3da7928-338f-43fc-aa87-db1e4a282088 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 0e91504a61..9a5c28223a 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -448,13 +448,14 @@ 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]
- 19%|#9        | 7.99M/41.5M [00:00&lt;00:00, 39.6MB/s]
- 35%|###4      | 14.3M/41.5M [00:00&lt;00:00, 39.2MB/s]
- 44%|####3     | 18.1M/41.5M [00:00&lt;00:00, 37.7MB/s]
- 58%|#####7    | 24.0M/41.5M [00:00&lt;00:00, 38.1MB/s]
- 77%|#######7  | 32.0M/41.5M [00:00&lt;00:00, 47.6MB/s]
- 92%|#########2| 38.3M/41.5M [00:00&lt;00:00, 43.7MB/s]
-100%|##########| 41.5M/41.5M [00:01&lt;00:00, 42.9MB/s]
+ 15%|#5        | 6.33M/41.5M [00:00&lt;00:00, 62.5MB/s]
+ 30%|##9       | 12.3M/41.5M [00:00&lt;00:00, 47.8MB/s]
+ 41%|####1     | 17.0M/41.5M [00:00&lt;00:00, 40.9MB/s]
+ 57%|#####6    | 23.6M/41.5M [00:00&lt;00:00, 49.9MB/s]
+ 69%|######9   | 28.7M/41.5M [00:00&lt;00:00, 47.4MB/s]
+ 80%|########  | 33.4M/41.5M [00:00&lt;00:00, 44.5MB/s]
+ 92%|#########2| 38.3M/41.5M [00:00&lt;00:00, 37.7MB/s]
+100%|##########| 41.5M/41.5M [00:00&lt;00:00, 43.6MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index 54ba101fd0..3c0a8cb6aa 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -431,11 +431,12 @@ 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]
- 18%|#7        | 7.99M/44.7M [00:00&lt;00:00, 69.1MB/s]
- 39%|###9      | 17.5M/44.7M [00:00&lt;00:00, 85.6MB/s]
- 63%|######2   | 28.0M/44.7M [00:00&lt;00:00, 96.2MB/s]
- 83%|########3 | 37.3M/44.7M [00:00&lt;00:00, 90.0MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 64.0MB/s]
+ 18%|#7        | 7.99M/44.7M [00:00&lt;00:00, 74.8MB/s]
+ 34%|###3      | 15.1M/44.7M [00:00&lt;00:00, 72.9MB/s]
+ 54%|#####3    | 24.0M/44.7M [00:00&lt;00:00, 79.6MB/s]
+ 72%|#######1  | 32.0M/44.7M [00:00&lt;00:00, 81.1MB/s]
+ 89%|########8 | 39.7M/44.7M [00:00&lt;00:00, 64.5MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 63.6MB/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 f7959c7d99..458f557eb0 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -645,7 +645,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  10.815 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  10.478 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 309f6078a8..6390720c70 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>05:43.394</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:42.185</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_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:11.692</p></td>
+<td><p>01:11.033</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></td>
-<td><p>01:10.815</p></td>
+<td><p>01:10.478</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:45.624</p></td>
+<td><p>00:44.838</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:32.269</p></td>
+<td><p>00:31.834</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <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:30.052</p></td>
+<td><p>00:29.933</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <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:26.208</p></td>
+<td><p>00:26.842</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></td>
-<td><p>00:24.609</p></td>
+<td><p>00:25.061</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:22.229</p></td>
+<td><p>00:22.159</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:17.477</p></td>
+<td><p>00:17.668</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.418</p></td>
+<td><p>00:02.340</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index 6be858d8ad..1cf46f5632 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.1948      16.1111      16.6856      15.7359       0.3016
+  15.6913      15.6844      15.7736      15.6278       0.0415
 </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 bb7c754512..04d2843ad2 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -453,24 +453,21 @@ 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]
-  7%|7         | 12.0M/170M [00:00&lt;00:01, 126MB/s]
- 14%|#4        | 24.0M/170M [00:00&lt;00:03, 49.0MB/s]
- 24%|##3       | 40.0M/170M [00:00&lt;00:02, 67.6MB/s]
- 28%|##8       | 48.2M/170M [00:00&lt;00:02, 56.4MB/s]
- 35%|###4      | 58.7M/170M [00:00&lt;00:01, 67.1MB/s]
- 42%|####2     | 71.8M/170M [00:01&lt;00:01, 82.8MB/s]
- 48%|####7     | 81.3M/170M [00:01&lt;00:01, 67.1MB/s]
- 52%|#####2    | 89.2M/170M [00:01&lt;00:01, 58.5MB/s]
- 57%|#####6    | 96.0M/170M [00:01&lt;00:01, 54.7MB/s]
- 61%|######1   | 104M/170M [00:01&lt;00:01, 53.9MB/s]
- 66%|######5   | 112M/170M [00:01&lt;00:01, 54.0MB/s]
- 71%|#######   | 120M/170M [00:02&lt;00:00, 59.9MB/s]
- 79%|#######9  | 135M/170M [00:02&lt;00:00, 82.0MB/s]
- 85%|########4 | 144M/170M [00:02&lt;00:00, 81.4MB/s]
- 90%|########9 | 152M/170M [00:02&lt;00:00, 57.7MB/s]
- 94%|#########4| 160M/170M [00:02&lt;00:00, 54.7MB/s]
- 98%|#########7| 166M/170M [00:02&lt;00:00, 51.4MB/s]
-100%|##########| 170M/170M [00:02&lt;00:00, 60.6MB/s]
+  6%|5         | 9.50M/170M [00:00&lt;00:01, 99.5MB/s]
+ 11%|#1        | 19.0M/170M [00:00&lt;00:02, 69.8MB/s]
+ 15%|#5        | 26.1M/170M [00:00&lt;00:02, 69.8MB/s]
+ 19%|#9        | 33.1M/170M [00:00&lt;00:02, 49.5MB/s]
+ 28%|##8       | 48.0M/170M [00:00&lt;00:01, 74.8MB/s]
+ 38%|###7      | 64.0M/170M [00:00&lt;00:01, 91.0MB/s]
+ 47%|####7     | 80.0M/170M [00:01&lt;00:01, 89.0MB/s]
+ 53%|#####3    | 90.5M/170M [00:01&lt;00:00, 93.8MB/s]
+ 61%|######1   | 104M/170M [00:01&lt;00:00, 97.2MB/s]
+ 67%|######6   | 114M/170M [00:01&lt;00:00, 94.2MB/s]
+ 72%|#######2  | 123M/170M [00:01&lt;00:00, 89.2MB/s]
+ 80%|########  | 136M/170M [00:01&lt;00:00, 93.3MB/s]
+ 89%|########9 | 152M/170M [00:01&lt;00:00, 97.7MB/s]
+ 95%|#########5| 162M/170M [00:01&lt;00:00, 98.7MB/s]
+100%|##########| 170M/170M [00:02&lt;00:00, 88.9MB/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=& [...]
@@ -568,7 +565,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  10.309 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 3 minutes  8.915 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 277bdfc3fb..bae481ad4f 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -497,8 +497,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, 61.5MB/s]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 78.8MB/s]
+ 59%|#####8    | 7.99M/13.6M [00:00&lt;00:00, 78.1MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 106MB/s]
 </pre></div>
 </div>
 </div>
@@ -589,7 +589,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.1874      90.0828      96.1832      89.8562       0.6344
+  88.8378      88.7331      90.5060      88.5198       0.3382
 </pre></div>
 </div>
 <div class="admonition note">
@@ -628,7 +628,7 @@ This includes support for the VNNI 8 bit dot product instruction (CascadeLake or
 <div class="section" id="deploy-a-quantized-tflite-model">
 <h2>Deploy a quantized TFLite Model<a class="headerlink" href="#deploy-a-quantized-tflite-model" title="Permalink to this headline">¶</a></h2>
 <p>TODO</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  4.760 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  4.035 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 5c732d7a47..8a14bcd93e 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -582,7 +582,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.3842     119.2682     123.6073     118.4121      0.5972
+  119.3821     119.3645     122.1992     118.4341      0.5097
 </pre></div>
 </div>
 <div class="admonition note">
@@ -610,7 +610,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  25.582 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  20.507 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 431f85af1b..edcdbd458a 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -520,7 +520,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  34.704 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  28.804 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 786a4a9f66..00202b1d1c 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -462,22 +462,22 @@ to your device.</p>
 Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
 
   0%|          | 0/132723 [00:00&lt;?, ?KB/s]
-  5%|4         | 6600/132723 [00:00&lt;00:01, 65994.56KB/s]
- 12%|#1        | 15288/132723 [00:00&lt;00:01, 78275.46KB/s]
- 17%|#7        | 23116/132723 [00:00&lt;00:01, 60580.43KB/s]
- 24%|##3       | 31847/132723 [00:00&lt;00:01, 69544.66KB/s]
- 31%|###       | 40519/132723 [00:00&lt;00:01, 75107.84KB/s]
- 37%|###7      | 49140/132723 [00:00&lt;00:01, 71411.27KB/s]
- 44%|####3     | 57850/132723 [00:00&lt;00:00, 75976.18KB/s]
- 50%|#####     | 66578/132723 [00:00&lt;00:00, 79293.05KB/s]
- 57%|#####6    | 75244/132723 [00:00&lt;00:00, 81467.05KB/s]
- 63%|######3   | 83963/132723 [00:01&lt;00:00, 83162.65KB/s]
- 70%|######9   | 92670/132723 [00:01&lt;00:00, 84323.70KB/s]
- 76%|#######6  | 101300/132723 [00:01&lt;00:00, 84911.53KB/s]
- 83%|########2 | 109901/132723 [00:01&lt;00:00, 85234.91KB/s]
- 89%|########9 | 118461/132723 [00:01&lt;00:00, 84945.85KB/s]
- 96%|#########5| 127284/132723 [00:01&lt;00:00, 85923.53KB/s]
-100%|##########| 132723/132723 [00:01&lt;00:00, 79908.14KB/s]
+  5%|4         | 6289/132723 [00:00&lt;00:02, 62880.32KB/s]
+ 11%|#1        | 14857/132723 [00:00&lt;00:01, 76289.27KB/s]
+ 18%|#7        | 23404/132723 [00:00&lt;00:01, 80479.12KB/s]
+ 24%|##4       | 31974/132723 [00:00&lt;00:01, 82538.34KB/s]
+ 31%|###       | 40488/132723 [00:00&lt;00:01, 83474.50KB/s]
+ 37%|###6      | 49000/132723 [00:00&lt;00:00, 84030.16KB/s]
+ 43%|####3     | 57649/132723 [00:00&lt;00:00, 84830.75KB/s]
+ 50%|####9     | 66355/132723 [00:00&lt;00:00, 85537.23KB/s]
+ 56%|#####6    | 74978/132723 [00:00&lt;00:00, 85752.15KB/s]
+ 63%|######2   | 83554/132723 [00:01&lt;00:00, 83808.25KB/s]
+ 69%|######9   | 92027/132723 [00:01&lt;00:00, 84083.48KB/s]
+ 76%|#######5  | 100443/132723 [00:01&lt;00:00, 70279.48KB/s]
+ 82%|########2 | 109036/132723 [00:01&lt;00:00, 74413.69KB/s]
+ 88%|########8 | 116800/132723 [00:01&lt;00:00, 62268.27KB/s]
+ 95%|#########4| 125429/132723 [00:01&lt;00:00, 68141.99KB/s]
+100%|##########| 132723/132723 [00:01&lt;00:00, 76042.56KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -516,7 +516,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
 <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
 </pre></div>
 </div>
-<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  58.518 seconds)</p>
+<img src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" srcset="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" alt="deploy ssd gluoncv" class = "sphx-glr-single-img"/><p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  57.052 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 0f985b0565..ee6ead5e52 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>12:39.242</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>12:23.496</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 86%" />
@@ -349,39 +349,39 @@
 </colgroup>
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></td>
-<td><p>03:10.309</p></td>
+<td><p>03:08.915</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></td>
-<td><p>02:58.518</p></td>
+<td><p>02:57.052</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:25.582</p></td>
+<td><p>02:20.507</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:34.704</p></td>
+<td><p>01:28.804</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:04.760</p></td>
+<td><p>01:04.035</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></td>
-<td><p>00:35.298</p></td>
+<td><p>00:35.251</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_model_on_nano.html#sphx-glr-how-to-deploy-models-deploy-model-on-nano-py"><span class="std std-ref">Deploy the Pretrained Model on Jetson Nano</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_nano.py</span></code>)</p></td>
-<td><p>00:25.280</p></td>
+<td><p>00:24.783</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></td>
-<td><p>00:24.785</p></td>
+<td><p>00:24.142</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></td>
-<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 ede779b9dd..24318e8954 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -621,7 +621,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.zipd49fbfe6-2e6c-4236-a41d-2df55e0b26ec 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.zip2d9dfe66-c60a-4fb6-a94b-adc6a22ba651 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 4616acbdb8..e9cd9efbc5 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:46.883</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:46.625</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:43.483</p></td>
+<td><p>00:43.262</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.381</p></td>
+<td><p>00:02.358</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.011</p></td>
+<td><p>00:00.996</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.007</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 79dcb7cee2..02a3cd3c1e 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -525,10 +525,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: 7361us [7361us] (46.78%; 46.78%)
-FoldScaleAxis: 8375us [7us] (53.22%; 53.22%)
-        FoldConstant: 8368us [1729us] (53.17%; 99.91%)
-                InferType: 6639us [6639us] (42.19%; 79.34%)
+InferType: 7197us [7197us] (46.17%; 46.17%)
+FoldScaleAxis: 8390us [7us] (53.83%; 53.83%)
+        FoldConstant: 8383us [1714us] (53.78%; 99.92%)
+                InferType: 6669us [6669us] (42.79%; 79.55%)
 </pre></div>
 </div>
 </div>
@@ -550,10 +550,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: 6741us [6741us] (44.97%; 44.97%)
-FoldScaleAxis: 8249us [5us] (55.03%; 55.03%)
-        FoldConstant: 8244us [1736us] (54.99%; 99.94%)
-                InferType: 6508us [6508us] (43.42%; 78.95%)
+InferType: 6694us [6694us] (45.10%; 45.10%)
+FoldScaleAxis: 8147us [5us] (54.90%; 54.90%)
+        FoldConstant: 8142us [1653us] (54.86%; 99.94%)
+                InferType: 6489us [6489us] (43.72%; 79.70%)
 </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 4f6a1ff67b..9f54e4c754 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -577,7 +577,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: 34.181152 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 38.561569 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 1d03d39cdf..601942d68a 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -916,7 +916,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: 12.399268 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 11.910179 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 4c96f46d21..29fed0da90 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -474,8 +474,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.018167
-Baseline: 3.189108
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018436
+Baseline: 3.462091
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -535,7 +535,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.297096
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.294242
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -602,7 +602,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.331047
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.333649
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -663,7 +663,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.114364
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.115591
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -746,7 +746,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.109365
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.108762
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -832,7 +832,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.112397
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.110485
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -922,7 +922,7 @@ write to C when all the block results are ready.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opt6: </span><span class="si">%f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">opt6_time</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.147102
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145104
 </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 58551f90d8..5463016158 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.060</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.657</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.494</p></td>
+<td><p>00:32.209</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.489</p></td>
+<td><p>00:01.406</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.078</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 400b51e7c4..d7f7f3496c 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:01.419</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>09:11.381</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>05:35.870</p></td>
+<td><p>05:47.500</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:31.708</p></td>
+<td><p>01:30.348</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:02.650</p></td>
+<td><p>01:02.030</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:28.544</p></td>
+<td><p>00:28.897</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:11.709</p></td>
+<td><p>00:11.726</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:10.939</p></td>
+<td><p>00:10.880</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 9a9e1f8c58..4f0d92b60c 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
@@ -1017,7 +1017,7 @@ cooperative fetching, unrolling and operator fusion.</p>
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.349 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.348 ms
 </pre></div>
 </div>
 </div>
@@ -1580,7 +1580,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> ( 5 minutes  35.870 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 5 minutes  47.500 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 06a252f035..8a70d3ece2 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -915,7 +915,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)
-   8.2247       8.2274       8.2284       8.2184       0.0045
+   8.1995       8.1982       8.2087       8.1915       0.0071
 </pre></div>
 </div>
 </div>
@@ -937,7 +937,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  2.650 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  2.030 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 e93787cd7b..8898903b20 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -934,7 +934,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)
-  752.6515     752.4521     754.0442     751.4582      1.0651
+  744.6625     744.5877     744.9302     744.4696      0.1953
 </pre></div>
 </div>
 </div>
@@ -956,7 +956,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  31.708 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  30.348 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 3d822cdd8d..4fe4795903 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -632,30 +632,78 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
              placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
              compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
   buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-  preflattened_buffer_map = {placeholder_9: placeholder_15: Buffer(placeholder_14, float32, [128, 512], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_16: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_5: placeholder_17: Buffer(placeholder_10, float32, [128, 256], []), placeholder_7: placeholder_18: Buffer(placeholder_12, int32, [4916], []), placeholder_8: placeholder_19: Buffer(placeholder_13, int32, [33], [])} {
-  for (i0.outer.i1.outer.fused: int32, 0, 128) &quot;parallel&quot; {
-    allocate(compute_4: Pointer(global float32), float32, [512]), storage_scope = global {
-      for (nb_j.inner: int32, 0, 2) {
-        for (i.inner.init: int32, 0, 16) {
-          for (j.init: int32, 0, 16) {
-            compute_5: Buffer(compute_4, float32, [512], [])[(((i.inner.init*32) + (nb_j.inner*16)) + j.init)] = 0f32
+  preflattened_buffer_map = {placeholder_6: placeholder_15: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), placeholder_7: placeholder_17: Buffer(placeholder_12, int32, [4916], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_8: placeholder_18: Buffer(placeholder_13, int32, [33], []), placeholder_9: placeholder_19: Buffer(placeholder_14, float32, [128, 512], [])} {
+  for (i0.outer.i1.outer.fused: int32, 0, 64) &quot;parallel&quot; {
+    allocate(compute_4: Pointer(global float32), float32, [1024]), storage_scope = global {
+      for (i.outer.inner: int32, 0, 2) {
+        for (nb_j.inner: int32, 0, 2) {
+          for (i.inner.init: int32, 0, 16) {
+            let cse_var_1: int32 = (((i.outer.inner*512) + (i.inner.init*32)) + (nb_j.inner*16))
+             {
+              compute_5: Buffer(compute_4, float32, [1024], [])[cse_var_1] = 0f32
+              compute_5[(cse_var_1 + 1)] = 0f32
+              compute_5[(cse_var_1 + 2)] = 0f32
+              compute_5[(cse_var_1 + 3)] = 0f32
+              compute_5[(cse_var_1 + 4)] = 0f32
+              compute_5[(cse_var_1 + 5)] = 0f32
+              compute_5[(cse_var_1 + 6)] = 0f32
+              compute_5[(cse_var_1 + 7)] = 0f32
+              compute_5[(cse_var_1 + 8)] = 0f32
+              compute_5[(cse_var_1 + 9)] = 0f32
+              compute_5[(cse_var_1 + 10)] = 0f32
+              compute_5[(cse_var_1 + 11)] = 0f32
+              compute_5[(cse_var_1 + 12)] = 0f32
+              compute_5[(cse_var_1 + 13)] = 0f32
+              compute_5[(cse_var_1 + 14)] = 0f32
+              compute_5[(cse_var_1 + 15)] = 0f32
+            }
           }
-        }
-        for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-          for (i.inner: int32, 0, 16) {
-            for (j: int32, 0, 16) {
-              let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
-              let cse_var_2: int32 = (((i.inner*32) + (nb_j.inner*16)) + j)
-              compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[(((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
+          for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
+            for (i.inner: int32, 0, 16) {
+              let cse_var_21: int32 = (elem_idx*16)
+              let cse_var_20: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+              let cse_var_19: int32 = (((i.outer.inner*512) + (i.inner*32)) + (nb_j.inner*16))
+              let cse_var_18: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i.outer.inner*4096)) + (i.inner*256))
+              let cse_var_17: int32 = (cse_var_19 + 9)
+              let cse_var_16: int32 = (cse_var_19 + 8)
+              let cse_var_15: int32 = (cse_var_19 + 7)
+              let cse_var_14: int32 = (cse_var_19 + 6)
+              let cse_var_13: int32 = (cse_var_19 + 5)
+              let cse_var_12: int32 = (cse_var_19 + 4)
+              let cse_var_11: int32 = (cse_var_19 + 3)
+              let cse_var_10: int32 = (cse_var_19 + 2)
+              let cse_var_9: int32 = (cse_var_19 + 15)
+              let cse_var_8: int32 = (cse_var_19 + 14)
+              let cse_var_7: int32 = (cse_var_19 + 13)
+              let cse_var_6: int32 = (cse_var_19 + 12)
+              let cse_var_5: int32 = (cse_var_19 + 11)
+              let cse_var_4: int32 = (cse_var_19 + 10)
+              let cse_var_3: int32 = (cse_var_19 + 1)
+               {
+                compute_5[cse_var_19] = (compute_5[cse_var_19] + (placeholder_1[((placeholder_3[cse_var_20]*16) + cse_var_21)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 1)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 2)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 3)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 4)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 5)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 6)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 7)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 8)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 9)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 10)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 11)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 12)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 13)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 14)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 15)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+              }
             }
           }
         }
       }
-      for (i0.inner: int32, 0, 16) {
-        for (i1.inner: int32, 0, 32) {
-          let cse_var_4: int32 = ((((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32)) + i1.inner)
-          compute[cse_var_4] = max((compute_5[((i0.inner*32) + i1.inner)] + placeholder_4[cse_var_4]), 0f32)
-        }
+      for (i0.inner: int32, 0, 32) {
+        let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+        compute[ramp(cse_var_22, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
       }
     }
   }
@@ -693,7 +741,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
 <span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.504 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.690 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 537b3f8bdd..be5ed3ac03 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:48.744</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:23.563</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,22 +349,22 @@
 </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:48.707</p></td>
+<td><p>00:23.528</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></td>
-<td><p>00:00.022</p></td>
+<td><p>00:00.021</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tune_relay_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-cuda-py"><span class="std std-ref">Auto-tuning a Convolutional Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_cuda.py</span></code>)</p></td>
 <td><p>00:00.005</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></td>
 <td><p>00:00.005</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></td>
 <td><p>00:00.005</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
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 582386bb83..069f6fb247 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -567,9 +567,7 @@ for this template</p>
 waiting for device...
 device available
 Get devices for measurement successfully!
-No: 1   GFLOPS: 167.60/167.60   result: MeasureResult(costs=(0.001381298825,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.522179365158081, timestamp=1668157477.0085385)      [(&#39;tile_f&#39;, [-1, 1, 4, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 2, 8]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4360472
-No: 2   GFLOPS: 8.79/167.60     result: MeasureResult(costs=(0.02632410425,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.8582940101623535, timestamp=1668157477.7304428)      [(&#39;tile_f&#39;, [-1, 4, 4, 4]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2141377
-No: 3   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+No: 1   GFLOPS: 0.00/0.00       result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -691,9 +689,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 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 32, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 128]), (&#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,7926252
-No: 4   GFLOPS: 12.79/167.60    result: MeasureResult(costs=(0.018099557166666665,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.841151237487793, timestamp=1668157480.3641567)        [(&#39;tile_f&#39;, [-1, 2, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 4]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2974401
-No: 5   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 8, 1]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 64, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2347210
+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 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -815,8 +812,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 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 2, 8]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 64]), (&#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,9264785
-No: 6   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 64, 1, 8]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 128]), (&#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;, 0)],None,1335762
+No: 3   GFLOPS: 179.68/179.68   result: MeasureResult(costs=(0.0012884258333333333,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4960997104644775, timestamp=1668189427.0684822)      [(&#39;tile_f&#39;, [-1, 1, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 2, 1]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,781010
+No: 4   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -938,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 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 64, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 128, 2]), (&#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,447135
-No: 7   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 2, 16]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 64]), (&#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,4232533
+No: 5   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1061,9 +1059,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 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 256]), (&#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,575092
-No: 8   GFLOPS: 5.27/167.60     result: MeasureResult(costs=(0.04390903075,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.5156841278076172, timestamp=1668157482.9872196)      [(&#39;tile_f&#39;, [-1, 2, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 256]), (&#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,959201
-No: 9   GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 256]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4625497
+No: 6   GFLOPS: 54.70/179.68    result: MeasureResult(costs=(0.00423223296,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.938089370727539, timestamp=1668189430.1134493)       [(&#39;tile_f&#39;, [-1, 8, 4, 4]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,1818418
+No: 7   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1185,27 +1183,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 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 32, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 64, 8]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4377213
-No: 10  GFLOPS: 31.11/167.60    result: MeasureResult(costs=(0.007442182789473684,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.3957109451293945, timestamp=1668157494.0435655)       [(&#39;tile_f&#39;, [-1, 1, 8, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 256, 1]), (&#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,415387
-No: 11  GFLOPS: 0.00/167.60     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, 8, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 64, 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;, 1)],None,8771723
-No: 12  GFLOPS: 0.00/167.60     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 16, 8]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 128, 1]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4285319
+No: 8   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1327,13 +1306,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 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 2, 2]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 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;, 512), (&#39;unroll_explicit&#39;, 1)],None,7638909
-No: 13  GFLOPS: 53.11/167.60    result: MeasureResult(costs=(0.0043591832608695655,), error_no=MeasureErrorNo.NO_ERROR, all_cost=2.326113224029541, timestamp=1668157499.8068411)       [(&#39;tile_f&#39;, [-1, 8, 4, 2]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 16]), (&#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,121735
-No: 14  GFLOPS: 77.04/167.60    result: MeasureResult(costs=(0.0030047811470588237,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.2728245258331299, timestamp=1668157500.4617536)      [(&#39;tile_f&#39;, [-1, 4, 1, 2]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#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;, 0), (&#39;unroll_explicit&#39;, 1)],None,6022337
-No: 15  GFLOPS: 908.00/908.00   result: MeasureResult(costs=(0.00025495840031897925,), error_no=MeasureErrorNo.NO_ERROR, all_cost=3.206448793411255, timestamp=1668157501.4171813)      [(&#39;tile_f&#39;, [-1, 1, 4, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 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,10164732
-No: 16  GFLOPS: 6.49/908.00     result: MeasureResult(costs=(0.035650565999999995,), error_no=MeasureErrorNo.NO_ERROR, all_cost=4.15035080909729, timestamp=1668157502.193695)  [(&#39;tile_f&#39;, [-1, 2, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 4]), (&#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,7247781
-No: 17  GFLOPS: 10.62/908.00    result: MeasureResult(costs=(0.0217960255,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.662975549697876, timestamp=1668157504.025463) [(&#39;tile_f&#39;, [-1, 8, 1, 8]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 2]), (&#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;, 0)],None,626699
-No: 18  GFLOPS: 0.00/908.00     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 8, 8]), (&#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, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,5676155
+No: 9   GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1455,9 +1429,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 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 16, 8]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 32]), (&#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,4794620
-No: 19  GFLOPS: 57.42/908.00    result: MeasureResult(costs=(0.004031399519999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.133490800857544, timestamp=1668157504.7228327)        [(&#39;tile_f&#39;, [-1, 8, 64, 1]), (&#39;tile_y&#39;, [-1, 1, 7, 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, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2715288
-No: 20  GFLOPS: 0.00/908.00     result: Traceback (most recent call last):
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 1, 1]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6772703
+No: 10  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
@@ -1579,7 +1552,993 @@ 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 871, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
-tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 64, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 64, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2962976
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 128, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#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, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6265651
+No: 11  GFLOPS: 47.27/179.68    result: MeasureResult(costs=(0.004897892318181819,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4505457878112793, timestamp=1668189432.7280188)       [(&#39;tile_f&#39;, [-1, 1, 32, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 2, 8]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,100140
+No: 12  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
+    func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
+    func = build(s, args, target_host=task.target_host, 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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 8, 32]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 32, 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,55858
+No: 13  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
+    func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
+    func = build(s, args, target_host=task.target_host, 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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 32, 8]), (&#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, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3972921
+No: 14  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
+    func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
+    func = build(s, args, target_host=task.target_host, 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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 1, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 64, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6835148
+No: 15  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
+    func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
+    func = build(s, args, target_host=task.target_host, 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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 2, 64]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 256, 2]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2194924
+No: 16  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
+    func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
+    func = build(s, args, target_host=task.target_host, 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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 1, 2]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#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,7491060
+No: 17  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
+    func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
+    func = build(s, args, target_host=task.target_host, 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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 8, 4]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 32, 4]), (&#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,7249783
+No: 18  GFLOPS: 6.69/179.68     result: MeasureResult(costs=(0.034608097,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.389497995376587, timestamp=1668189434.490282)  [(&#39;tile_f&#39;, [-1, 2, 8, 8]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 1]), (&#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,1937695
+No: 19  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
+    func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
+    func = build(s, args, target_host=task.target_host, 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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 256, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4555812
+No: 20  GFLOPS: 0.00/179.68     result: Traceback (most recent call last):
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 588, in __call__
+    func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
+  File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 540, in _build_func_common
+    func = build(s, args, target_host=task.target_host, 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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel
+
+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:1731
+  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:1671
+  19: run&lt;&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  18: run&lt;tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  17: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  16: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  15: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
+        at ../include/tvm/runtime/packed_func.h:1631
+  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:1646
+  13: operator()
+        at ../src/driver/driver_api.cc:388
+  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:374
+  11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
+        at ../src/driver/driver_api.cc:269
+  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:453
+  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:1750
+  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:1694
+  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:1618
+  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 871, in verify_pass
+    raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
+tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 8, 8]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 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;, 0), (&#39;unroll_explicit&#39;, 0)],None,1261416
 </pre></div>
 </div>
 <p>Finally we can inspect the best config from log file, check correctness,
@@ -1618,9 +2577,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, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 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,10164732
+[(&#39;tile_f&#39;, [-1, 1, 2, 1]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 2, 1]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,781010
 Finish loading 20 records
-Time cost of this operator: 0.000635
+Time cost of this operator: 0.000934
 </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 d2724d37be..f36e868718 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -596,10 +596,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  310.6     98.635   (1, 2, 10, 10, 3)  2       1        [310.6]
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.328     1.057    (1, 6, 10, 10)     1       1        [3.328]
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.97      0.308    (1, 1, 10, 10, 3)  1       1        [0.97]
-Total_time                                    -                                             314.899   -        -                  -       -        -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  308.9     98.714   (1, 2, 10, 10, 3)  2       1        [308.9]
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.078     0.984    (1, 6, 10, 10)     1       1        [3.078]
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.946     0.302    (1, 1, 10, 10, 3)  1       1        [0.946]
+Total_time                                    -                                             312.924   -        -                  -       -        -
 </pre></div>
 </div>
 </div>
@@ -650,10 +650,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.6     97.474   (1, 6, 10, 10, 1)  2       1        [102.6]
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.806     1.715    (1, 6, 10, 10)     1       1        [1.806]
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.853     0.81     (1, 3, 10, 10, 1)  1       1        [0.853]
-Total_time                                    -                                             105.259   -        -                  -       -        -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  137.3     98.139   (1, 6, 10, 10, 1)  2       1        [137.3]
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.773     1.267    (1, 6, 10, 10)     1       1        [1.773]
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.831     0.594    (1, 3, 10, 10, 1)  1       1        [0.831]
+Total_time                                    -                                             139.904   -        -                  -       -        -
 </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 550aa74856..3029c8402e 100644
--- a/docs/how_to/work_with_microtvm/micro_pytorch.html
+++ b/docs/how_to/work_with_microtvm/micro_pytorch.html
@@ -440,7 +440,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]
-100%|##########| 3.42M/3.42M [00:00&lt;00:00, 98.4MB/s]
+ 66%|######5   | 2.26M/3.42M [00:00&lt;00:00, 23.6MB/s]
+100%|##########| 3.42M/3.42M [00:00&lt;00:00, 26.3MB/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.
@@ -564,7 +565,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  1.171 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  0.935 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 af2519486d..a33b00fbbe 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -530,7 +530,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/tmp_3wrvtfh/images/random&#39;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&#39;/tmp/tmpvckjxel4/images/random&#39;
 </pre></div>
 </div>
 </div>
@@ -590,8 +590,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], [1.0, 0.0], [1.0, 0.0], [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]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmp_3wrvtfh/images/target contains 8144 images
-/tmp/tmp_3wrvtfh/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], [1.0, 0.0], [1.0, 0.0], [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]" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpvckjxel4/images/target contains 8144 images
+/tmp/tmpvckjxel4/images/random contains 5000 images
 </pre></div>
 </div>
 </div>
@@ -703,13 +703,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.2525 - accuracy: 0.9177 - val_loss: 0.1238 - val_accuracy: 0.9558 - 46s/epoch - 140ms/step
+328/328 - 46s - loss: 0.2440 - accuracy: 0.9146 - val_loss: 0.1043 - val_accuracy: 0.9622 - 46s/epoch - 140ms/step
 Epoch 2/3
-328/328 - 43s - loss: 0.1037 - accuracy: 0.9607 - val_loss: 0.1002 - val_accuracy: 0.9656 - 43s/epoch - 130ms/step
+328/328 - 42s - loss: 0.1057 - accuracy: 0.9600 - val_loss: 0.1039 - val_accuracy: 0.9649 - 42s/epoch - 129ms/step
 Epoch 3/3
-328/328 - 43s - loss: 0.0639 - accuracy: 0.9752 - val_loss: 0.1019 - val_accuracy: 0.9698 - 43s/epoch - 130ms/step
+328/328 - 42s - loss: 0.0645 - accuracy: 0.9755 - val_loss: 0.0914 - val_accuracy: 0.9690 - 42s/epoch - 129ms/step
 
-&lt;keras.callbacks.History object at 0x7f3591b42650&gt;
+&lt;keras.callbacks.History object at 0x7f2f286eb150&gt;
 </pre></div>
 </div>
 </div>
@@ -971,7 +971,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  40.078 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes  36.438 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 1177449faa..11c52c4fc1 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>06:41.660</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>06:37.498</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <table class="docutils align-default">
 <colgroup>
 <col style="width: 83%" />
@@ -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">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:40.078</p></td>
+<td><p>04:36.438</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">microTVM PyTorch Tutorial</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_pytorch.py</span></code>)</p></td>
-<td><p>01:01.171</p></td>
+<td><p>01:00.935</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">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></td>
-<td><p>00:48.438</p></td>
+<td><p>00:48.282</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">microTVM Host-Driven AoT</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_aot.py</span></code>)</p></td>
-<td><p>00:08.256</p></td>
+<td><p>00:08.161</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">microTVM with TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></td>
-<td><p>00:03.715</p></td>
+<td><p>00:03.680</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="micro_reference_vm.html#sphx-glr-how-to-work-with-microtvm-micro-reference-vm-py"><span class="std std-ref">microTVM Reference Virtual Machines</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_reference_vm.py</span></code>)</p></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 a6b64d48fb..73e61dfe93 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:42.1000</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:43.266</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.269</p></td>
+<td><p>00:31.714</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.163</p></td>
+<td><p>00:09.930</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.561</p></td>
+<td><p>00:01.615</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 4fd8ec88ec..be0bf1e7ba 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 0x7f344fc00950&gt;
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;function my_cuda_math_rule at 0x7f2f9f779320&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 f1d36b9d9f..4de5309028 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:07.765</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:07.993</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:05.441</p></td>
+<td><p>00:05.653</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.012</p></td>
+<td><p>00:01.011</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.558</p></td>
+<td><p>00:00.567</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.541</p></td>
+<td><p>00:00.549</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.113</p></td>
+<td><p>00:00.115</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.049</p></td>
+<td><p>00:00.050</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.034</p></td>
+<td><p>00:00.029</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.019</p></td>
+<td><p>00:00.020</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/work_with_schedules/tensorize.html b/docs/how_to/work_with_schedules/tensorize.html
index 2a6a16a9a9..5919a1f9a0 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -590,7 +590,7 @@ The importing needs to happen before the tensorized GEMV being executed.</p>
              C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
   buffer_map = {A_1: A, B_1: B, C_1: C}
   preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmpolf_aqlv/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmpolf_aqlv/input0.cc\&quot;\ntarget datalayout = \&quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128\&quot;\ntarget triple = \&quot;x86_64-pc-linux-gnu\&quot;\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = allo [...]
+  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmpe_3c4rc7/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmpe_3c4rc7/input0.cc\&quot;\ntarget datalayout = \&quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128\&quot;\ntarget triple = \&quot;x86_64-pc-linux-gnu\&quot;\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = allo [...]
   for (i, 0, 1024) {
     for (j.outer: int32, 0, 32) {
       @tir.call_extern(&quot;gemv_update&quot;, @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/install/nnpack.html b/docs/install/nnpack.html
index 1ef28de467..23d2181e9d 100644
--- a/docs/install/nnpack.html
+++ b/docs/install/nnpack.html
@@ -229,7 +229,17 @@
               <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"><a class="reference internal" href="from_source.html">Install from Source</a></li>
+<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="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/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg
index 7705b501da..d1d905f4ef 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg
@@ -133,7 +133,7 @@
 <text text-anchor="start" x="8" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype</text>
 <text text-anchor="start" x="8" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ extents</text>
 <text text-anchor="start" x="8" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ data</text>
-<text text-anchor="start" x="8" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="8" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer_var</text>
 <text text-anchor="start" x="8" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ annotations</text>
 <text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="0,-74.5 209,-74.5 "/>
@@ -162,7 +162,7 @@
 <text text-anchor="start" x="235" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ storage_scope</text>
 <text text-anchor="start" x="235" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ condition</text>
 <text text-anchor="start" x="235" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ annotations</text>
-<text text-anchor="start" x="235" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="235" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer_var</text>
 <text text-anchor="start" x="235" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="227,-69 436,-69 "/>
 <text text-anchor="start" x="235" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
@@ -285,24 +285,25 @@
 <!-- Node10 -->
 <g id="node11" class="node">
 <title>Node10</title>
-<g id="a_node11"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html" target="_top" xlink:title="{tvm::script::ir_builder\l::tir::DeclBufferFrameNode\n|+ buffer\l+ _type_key\l|+ VisitAttrs()\l+ TVM_DECLARE_FINAL_OBJECT_INFO()\l+ ExitWithScope()\l}">
-<polygon fill="#ffffff" stroke="#000000" points="1362,-55.5 1362,-156.5 1571,-156.5 1571,-55.5 1362,-55.5"/>
-<text text-anchor="start" x="1370" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="1466.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::DeclBufferFrameNode</text>
-<polyline fill="none" stroke="#000000" points="1362,-126.5 1571,-126.5 "/>
-<text text-anchor="start" x="1370" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
-<text text-anchor="start" x="1370" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="1362,-96.5 1571,-96.5 "/>
-<text text-anchor="start" x="1370" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="1370" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
-<text text-anchor="start" x="1370" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
+<g id="a_node11"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html" target="_top" xlink:title="{tvm::script::ir_builder\l::tir::DeclBufferFrameNode\n|+ buffer\l+ allocated\l+ _type_key\l|+ VisitAttrs()\l+ TVM_DECLARE_FINAL_OBJECT_INFO()\l+ ExitWithScope()\l}">
+<polygon fill="#ffffff" stroke="#000000" points="1362,-50 1362,-162 1571,-162 1571,-50 1362,-50"/>
+<text text-anchor="start" x="1370" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="1466.5" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::DeclBufferFrameNode</text>
+<polyline fill="none" stroke="#000000" points="1362,-132 1571,-132 "/>
+<text text-anchor="start" x="1370" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="1370" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ allocated</text>
+<text text-anchor="start" x="1370" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="1362,-91 1571,-91 "/>
+<text text-anchor="start" x="1370" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="1370" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
+<text text-anchor="start" x="1370" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node10 -->
 <g id="edge10" class="edge">
 <title>Node3&#45;&gt;Node10</title>
-<path fill="none" stroke="#191970" d="M1711.1956,-255.1204C1705.5877,-252.6221 1699.9948,-250.2285 1694.5,-248 1644.8695,-227.8715 1625.7522,-239.0014 1579.5,-212 1554.4118,-197.3539 1530.3802,-176.1997 1510.9789,-156.6353"/>
+<path fill="none" stroke="#191970" d="M1711.1956,-255.1204C1705.5877,-252.6221 1699.9948,-250.2285 1694.5,-248 1644.8695,-227.8715 1625.7522,-239.0014 1579.5,-212 1556.7348,-198.71 1534.8396,-180.0613 1516.4844,-162.1043"/>
 <polygon fill="none" stroke="#191970" points="1710.0812,-258.4585 1720.6329,-259.4131 1712.9795,-252.0867 1710.0812,-258.4585"/>
 </g>
 <!-- Node11 -->
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode-members.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode-members.html
index 45601dddd7..207d388ff2 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode-members.html
@@ -80,7 +80,7 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a72527f7eae49af4cc33d7858397226af">_type_key</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">tvm::script::ir_builder::tir::AllocateConstFrameNode</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a08e6e65098b35e2908e774de3ab970f3">AddCallback</a>(runtime::TypedPackedFunc&lt; void()&gt; callback)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a4d617420058fe33bc87a4cf74e773d88">annotations</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">tvm::script::ir_builder::tir::AllocateConstFrameNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a9334403129924bc1ed84d8753dd9f672">buffer</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">tvm::script::ir_builder::tir::AllocateConstFrameNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a4b062ec7c2f519922051de6cfffd9762">buffer_var</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">tvm::script::ir_builder::tir::AllocateConstFrameNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#aa21f554fdcf6ab78c55cb54cdc69c0c2">callbacks</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a620cb147179d7c6893d1ffd8b306f516">data</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">tvm::script::ir_builder::tir::AllocateConstFrameNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a70fb5361147634605d6595bb89381f03">DecRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html
index c36d7d3f40..5cb4900e01 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html
@@ -85,7 +85,7 @@ Inheritance diagram for tvm::script::ir_builder::tir::AllocateConstFrameNode:</d
 <div class="dynheader">
 Collaboration diagram for tvm::script::ir_builder::tir::AllocateConstFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__coll__graph.svg" width="1168" height="2062"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__coll__graph.svg" width="1131" height="2484"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -151,9 +151,9 @@ Public Attributes</h2></td></tr>
 <tr class="memitem:a620cb147179d7c6893d1ffd8b306f516"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1NDArray.html">tvm::runtime::NDArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a620cb147179d7c6893d1ffd8b306f516">data</a></td></tr>
 <tr class="memdesc:a620cb147179d7c6893d1ffd8b306f516"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data associated with the constant.  <a href="#a620cb147179d7c6893d1ffd8b306f516">More...</a><br /></td></tr>
 <tr class="separator:a620cb147179d7c6893d1ffd8b306f516"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9334403129924bc1ed84d8753dd9f672"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">tvm::tir::Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a9334403129924bc1ed84d8753dd9f672">buffer</a></td></tr>
-<tr class="memdesc:a9334403129924bc1ed84d8753dd9f672"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer.  <a href="#a9334403129924bc1ed84d8753dd9f672">More...</a><br /></td></tr>
-<tr class="separator:a9334403129924bc1ed84d8753dd9f672"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b062ec7c2f519922051de6cfffd9762"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1tir_1_1Var.html">tvm::tir::Var</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a4b062ec7c2f519922051de6cfffd9762">buffer_var</a></td></tr>
+<tr class="memdesc:a4b062ec7c2f519922051de6cfffd9762"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer var.  <a href="#a4b062ec7c2f519922051de6cfffd9762">More...</a><br /></td></tr>
+<tr class="separator:a4b062ec7c2f519922051de6cfffd9762"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4d617420058fe33bc87a4cf74e773d88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a4d617420058fe33bc87a4cf74e773d88 [...]
 <tr class="memdesc:a4d617420058fe33bc87a4cf74e773d88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Additional annotations about the allocation.  <a href="#a4d617420058fe33bc87a4cf74e773d88">More...</a><br /></td></tr>
 <tr class="separator:a4d617420058fe33bc87a4cf74e773d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -365,19 +365,19 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a id="a9334403129924bc1ed84d8753dd9f672"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9334403129924bc1ed84d8753dd9f672">&#9670;&nbsp;</a></span>buffer</h2>
+<a id="a4b062ec7c2f519922051de6cfffd9762"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b062ec7c2f519922051de6cfffd9762">&#9670;&nbsp;</a></span>buffer_var</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">tvm::tir::Buffer</a> tvm::script::ir_builder::tir::AllocateConstFrameNode::buffer</td>
+          <td class="memname"><a class="el" href="classtvm_1_1tir_1_1Var.html">tvm::tir::Var</a> tvm::script::ir_builder::tir::AllocateConstFrameNode::buffer_var</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>The buffer. </p>
+<p>The buffer var. </p>
 
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__coll__graph.svg
index 6e2648a025..43553bbd3a 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__coll__graph.svg
@@ -4,419 +4,456 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: tvm::script::ir_builder::tir::AllocateConstFrameNode Pages: 1 -->
-<svg width="876pt" height="1546pt"
- viewBox="0.00 0.00 875.50 1546.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 1542)">
+<svg width="848pt" height="1863pt"
+ viewBox="0.00 0.00 847.50 1863.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 1859)">
 <title>tvm::script::ir_builder::tir::AllocateConstFrameNode</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1542 871.5,-1542 871.5,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1859 843.5,-1859 843.5,4 -4,4"/>
 <!-- Node4 -->
 <g id="node1" class="node">
 <title>Node4</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="364,-.5 364,-90.5 573,-90.5 573,-.5 364,-.5"/>
-<text text-anchor="start" x="372" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="468.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::AllocateConstFrameNode</text>
-<polyline fill="none" stroke="#000000" points="364,-60.5 573,-60.5 "/>
-<text text-anchor="start" x="372" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="364,-41.5 573,-41.5 "/>
-<text text-anchor="start" x="372" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="372" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
-<text text-anchor="start" x="372" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="434,-.5 434,-90.5 643,-90.5 643,-.5 434,-.5"/>
+<text text-anchor="start" x="442" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="538.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::AllocateConstFrameNode</text>
+<polyline fill="none" stroke="#000000" points="434,-60.5 643,-60.5 "/>
+<text text-anchor="start" x="442" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="434,-41.5 643,-41.5 "/>
+<text text-anchor="start" x="442" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="442" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
+<text text-anchor="start" x="442" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
 </g>
 <!-- Node5 -->
 <g id="node2" class="node">
 <title>Node5</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements. ">
-<polygon fill="#ffffff" stroke="#000000" points="33,-226.5 33,-305.5 240,-305.5 240,-226.5 33,-226.5"/>
-<text text-anchor="start" x="41" y="-293.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="136.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::TIRFrameNode</text>
-<polyline fill="none" stroke="#000000" points="33,-275.5 240,-275.5 "/>
-<text text-anchor="start" x="41" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="33,-256.5 240,-256.5 "/>
-<text text-anchor="start" x="41" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="41" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<polygon fill="#ffffff" stroke="#000000" points="96,-620.5 96,-699.5 303,-699.5 303,-620.5 96,-620.5"/>
+<text text-anchor="start" x="104" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="199.5" y="-676.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::TIRFrameNode</text>
+<polyline fill="none" stroke="#000000" points="96,-669.5 303,-669.5 "/>
+<text text-anchor="start" x="104" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="96,-650.5 303,-650.5 "/>
+<text text-anchor="start" x="104" y="-638.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="104" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node4 -->
 <g id="edge1" class="edge">
 <title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="#191970" d="M177.1037,-218.678C208.5033,-184.4637 254.5821,-139.1389 302.5,-109 321.3058,-97.1717 342.6642,-86.9739 363.6518,-78.425"/>
-<polygon fill="none" stroke="#191970" points="174.3691,-216.4831 170.2369,-226.2389 179.551,-221.1893 174.3691,-216.4831"/>
+<path fill="none" stroke="#191970" d="M199.4855,-609.969C202.0587,-508.9892 221.4419,-278.4889 339.5,-138 363.9492,-108.9055 399.5586,-88.4404 433.919,-74.2971"/>
+<polygon fill="none" stroke="#191970" points="195.9816,-610.1224 199.2718,-620.1934 202.9801,-610.2688 195.9816,-610.1224"/>
 </g>
 <!-- Node6 -->
 <g id="node3" class="node">
 <title>Node6</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="{tvm::script::ir_builder\l::IRBuilderFrameNode\n|+ callbacks\l+ _type_key\l|+ VisitAttrs()\l+ TVM_DECLARE_BASE_OBJECT_INFO()\l+ ~IRBuilderFrameNode()\l+ EnterWithScope()\l+ ExitWithScope()\l+ AddCallback()\l}">
-<polygon fill="#ffffff" stroke="#000000" points="0,-730.5 0,-864.5 207,-864.5 207,-730.5 0,-730.5"/>
-<text text-anchor="start" x="8" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="103.5" y="-841.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
-<polyline fill="none" stroke="#000000" points="0,-834.5 207,-834.5 "/>
-<text text-anchor="start" x="8" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ callbacks</text>
-<text text-anchor="start" x="8" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="0,-804.5 207,-804.5 "/>
-<text text-anchor="start" x="8" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="8" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
-<text text-anchor="start" x="8" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~IRBuilderFrameNode()</text>
-<text text-anchor="start" x="8" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ EnterWithScope()</text>
-<text text-anchor="start" x="8" y="-748.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
-<text text-anchor="start" x="8" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AddCallback()</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-1047.5 0,-1181.5 207,-1181.5 207,-1047.5 0,-1047.5"/>
+<text text-anchor="start" x="8" y="-1169.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="103.5" y="-1158.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
+<polyline fill="none" stroke="#000000" points="0,-1151.5 207,-1151.5 "/>
+<text text-anchor="start" x="8" y="-1139.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ callbacks</text>
+<text text-anchor="start" x="8" y="-1128.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="0,-1121.5 207,-1121.5 "/>
+<text text-anchor="start" x="8" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="8" y="-1098.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<text text-anchor="start" x="8" y="-1087.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="8" y="-1076.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ EnterWithScope()</text>
+<text text-anchor="start" x="8" y="-1065.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
+<text text-anchor="start" x="8" y="-1054.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AddCallback()</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node5 -->
 <g id="edge2" class="edge">
 <title>Node6&#45;&gt;Node5</title>
-<path fill="none" stroke="#191970" d="M104.1978,-719.9687C105.3971,-642.0331 108.6549,-518.5093 117.5,-412 120.5039,-375.828 126.0212,-334.8633 130.3394,-305.5521"/>
-<polygon fill="none" stroke="#191970" points="100.6951,-720.1347 104.0484,-730.1848 107.6943,-720.2371 100.6951,-720.1347"/>
+<path fill="none" stroke="#191970" d="M119.739,-1037.6184C140.3686,-939.9503 175.1985,-775.0524 191.1133,-699.706"/>
+<polygon fill="none" stroke="#191970" points="116.3074,-1036.9295 117.6651,-1047.437 123.1563,-1038.3762 116.3074,-1036.9295"/>
 </g>
 <!-- Node7 -->
 <g id="node4" class="node">
 <title>Node7</title>
 <g id="a_node4"><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,-924.5 12,-1311.5 195,-1311.5 195,-924.5 12,-924.5"/>
-<text text-anchor="middle" x="103.5" y="-1299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
-<polyline fill="none" stroke="#000000" points="12,-1292.5 195,-1292.5 "/>
-<text text-anchor="start" x="20" y="-1280.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<text text-anchor="start" x="20" y="-1269.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
-<text text-anchor="start" x="20" y="-1258.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
-<text text-anchor="start" x="20" y="-1247.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
-<text text-anchor="start" x="20" y="-1236.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
-<text text-anchor="start" x="20" y="-1225.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
-<text text-anchor="start" x="20" y="-1214.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
-<text text-anchor="start" x="20" y="-1203.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="20" y="-1192.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="20" y="-1181.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
-<text text-anchor="start" x="20" y="-1170.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="20" y="-1159.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
-<text text-anchor="start" x="20" y="-1148.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
-<text text-anchor="start" x="20" y="-1137.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
-<polyline fill="none" stroke="#000000" points="12,-1130.5 195,-1130.5 "/>
-<text text-anchor="start" x="20" y="-1118.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
-<text text-anchor="start" x="20" y="-1107.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
-<text text-anchor="start" x="20" y="-1096.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="20" y="-1085.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
-<text text-anchor="start" x="20" y="-1074.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
-<text text-anchor="start" x="20" y="-1063.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="20" y="-1052.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="20" y="-1041.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="20" y="-1030.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="20" y="-1019.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="20" y="-1008.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="20" y="-997.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="20" y="-986.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
-<text text-anchor="start" x="20" y="-975.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="20" y="-964.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="20" y="-953.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
-<text text-anchor="start" x="20" y="-942.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
-<text text-anchor="start" x="20" y="-931.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
+<polygon fill="#ffffff" stroke="#000000" points="12,-1241.5 12,-1628.5 195,-1628.5 195,-1241.5 12,-1241.5"/>
+<text text-anchor="middle" x="103.5" y="-1616.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
+<polyline fill="none" stroke="#000000" points="12,-1609.5 195,-1609.5 "/>
+<text text-anchor="start" x="20" y="-1597.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<text text-anchor="start" x="20" y="-1586.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
+<text text-anchor="start" x="20" y="-1575.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
+<text text-anchor="start" x="20" y="-1564.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
+<text text-anchor="start" x="20" y="-1553.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
+<text text-anchor="start" x="20" y="-1542.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
+<text text-anchor="start" x="20" y="-1531.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
+<text text-anchor="start" x="20" y="-1520.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="20" y="-1509.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="20" y="-1498.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
+<text text-anchor="start" x="20" y="-1487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="20" y="-1476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
+<text text-anchor="start" x="20" y="-1465.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
+<text text-anchor="start" x="20" y="-1454.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
+<polyline fill="none" stroke="#000000" points="12,-1447.5 195,-1447.5 "/>
+<text text-anchor="start" x="20" y="-1435.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
+<text text-anchor="start" x="20" y="-1424.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
+<text text-anchor="start" x="20" y="-1413.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="20" y="-1402.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
+<text text-anchor="start" x="20" y="-1391.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="20" y="-1380.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="20" y="-1369.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="20" y="-1358.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="20" y="-1347.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="20" y="-1336.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="20" y="-1325.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="20" y="-1314.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="20" y="-1303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
+<text text-anchor="start" x="20" y="-1292.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="20" y="-1281.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="20" y="-1270.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
+<text text-anchor="start" x="20" y="-1259.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
+<text text-anchor="start" x="20" y="-1248.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node6 -->
 <g id="edge3" class="edge">
 <title>Node7&#45;&gt;Node6</title>
-<path fill="none" stroke="#191970" d="M103.5,-913.7972C103.5,-896.3163 103.5,-879.5917 103.5,-864.547"/>
-<polygon fill="none" stroke="#191970" points="100.0001,-914.1701 103.5,-924.1701 107.0001,-914.1701 100.0001,-914.1701"/>
+<path fill="none" stroke="#191970" d="M103.5,-1230.7972C103.5,-1213.3163 103.5,-1196.5917 103.5,-1181.547"/>
+<polygon fill="none" stroke="#191970" points="100.0001,-1231.1701 103.5,-1241.1701 107.0001,-1231.1701 100.0001,-1231.1701"/>
 </g>
 <!-- Node7&#45;&gt;Node7 -->
 <g id="edge4" class="edge">
 <title>Node7&#45;&gt;Node7</title>
-<path fill="none" stroke="#404040" d="M195.3625,-1151.9248C206.0482,-1145.6637 213,-1134.3555 213,-1118 213,-1107.0112 209.8618,-1098.3007 204.5615,-1091.8687"/>
-<polygon fill="none" stroke="#404040" points="204.5184,-1091.8322 197.3548,-1091.0056 195.3625,-1084.0752 202.5261,-1084.9017 204.5184,-1091.8322"/>
-<text text-anchor="middle" x="239" y="-1115.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
+<path fill="none" stroke="#404040" d="M195.3625,-1468.9248C206.0482,-1462.6637 213,-1451.3555 213,-1435 213,-1424.0112 209.8618,-1415.3007 204.5615,-1408.8687"/>
+<polygon fill="none" stroke="#404040" points="204.5184,-1408.8322 197.3548,-1408.0056 195.3625,-1401.0752 202.5261,-1401.9017 204.5184,-1408.8322"/>
+<text text-anchor="middle" x="239" y="-1432.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
 </g>
 <!-- Node8 -->
 <g id="node5" class="node">
 <title>Node8</title>
 <g id="a_node5"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::tir::Stmt \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 25 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="231,-708.5 231,-886.5 344,-886.5 344,-708.5 231,-708.5"/>
-<text text-anchor="start" x="239" y="-874.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="287.5" y="-863.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::tir::Stmt &gt;</text>
-<polyline fill="none" stroke="#000000" points="231,-856.5 344,-856.5 "/>
-<text text-anchor="middle" x="287.5" y="-844.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="231,-837.5 344,-837.5 "/>
-<text text-anchor="start" x="239" y="-825.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="239" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="239" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="239" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="239" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="239" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="239" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="239" y="-748.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="239" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="239" y="-726.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="239" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
+<polygon fill="#ffffff" stroke="#000000" points="225,-1025.5 225,-1203.5 338,-1203.5 338,-1025.5 225,-1025.5"/>
+<text text-anchor="start" x="233" y="-1191.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="281.5" y="-1180.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::tir::Stmt &gt;</text>
+<polyline fill="none" stroke="#000000" points="225,-1173.5 338,-1173.5 "/>
+<text text-anchor="middle" x="281.5" y="-1161.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="225,-1154.5 338,-1154.5 "/>
+<text text-anchor="start" x="233" y="-1142.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1131.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1120.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1098.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1087.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1076.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1065.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1054.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="233" y="-1043.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="233" y="-1032.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node5 -->
 <g id="edge5" class="edge">
 <title>Node8&#45;&gt;Node5</title>
-<path fill="none" stroke="#404040" d="M230.5994,-719.1497C225.8004,-715.0243 220.7592,-711.2494 215.5,-708 183.3885,-688.1596 156.1941,-719.3833 132.5,-690 109.6643,-661.6811 124.4792,-424.2928 132.4155,-317.5904"/>
-<polygon fill="none" stroke="#404040" points="132.4208,-317.5179 128.8832,-311.2341 133.323,-305.5518 136.8606,-311.8356 132.4208,-317.5179"/>
-<text text-anchor="middle" x="152.5" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +stmts</text>
+<path fill="none" stroke="#404040" d="M265.3973,-1025.2477C248.5197,-931.7007 222.5832,-787.9431 208.8229,-711.6737"/>
+<polygon fill="none" stroke="#404040" points="208.7723,-711.393 203.7705,-706.1986 206.6416,-699.5837 211.6434,-704.7781 208.7723,-711.393"/>
+<text text-anchor="middle" x="282.5" y="-865.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +stmts</text>
 </g>
 <!-- Node9 -->
 <g id="node6" class="node">
 <title>Node9</title>
 <g id="a_node6"><a xlink:href="classtvm_1_1runtime_1_1ObjectRef.html" target="_top" xlink:title="Base class of all object reference. ">
-<polygon fill="#ffffff" stroke="#000000" points="359.5,-1007 359.5,-1229 493.5,-1229 493.5,-1007 359.5,-1007"/>
-<text text-anchor="middle" x="426.5" y="-1217" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
-<polyline fill="none" stroke="#000000" points="359.5,-1210 493.5,-1210 "/>
-<text text-anchor="start" x="367.5" y="-1198" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
-<polyline fill="none" stroke="#000000" points="359.5,-1191 493.5,-1191 "/>
-<text text-anchor="start" x="367.5" y="-1179" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="367.5" y="-1168" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="367.5" y="-1157" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
-<text text-anchor="start" x="367.5" y="-1146" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="367.5" y="-1135" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
-<text text-anchor="start" x="367.5" y="-1124" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
-<text text-anchor="start" x="367.5" y="-1113" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
-<text text-anchor="start" x="367.5" y="-1102" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="367.5" y="-1091" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="367.5" y="-1080" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
-<text text-anchor="start" x="367.5" y="-1069" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
-<text text-anchor="start" x="367.5" y="-1058" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
-<text text-anchor="start" x="367.5" y="-1047" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
-<text text-anchor="start" x="367.5" y="-1036" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
-<text text-anchor="start" x="367.5" y="-1025" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
-<text text-anchor="start" x="367.5" y="-1014" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
+<polygon fill="#ffffff" stroke="#000000" points="471.5,-1324 471.5,-1546 605.5,-1546 605.5,-1324 471.5,-1324"/>
+<text text-anchor="middle" x="538.5" y="-1534" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
+<polyline fill="none" stroke="#000000" points="471.5,-1527 605.5,-1527 "/>
+<text text-anchor="start" x="479.5" y="-1515" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
+<polyline fill="none" stroke="#000000" points="471.5,-1508 605.5,-1508 "/>
+<text text-anchor="start" x="479.5" y="-1496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
+<text text-anchor="start" x="479.5" y="-1485" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
+<text text-anchor="start" x="479.5" y="-1474" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
+<text text-anchor="start" x="479.5" y="-1463" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="479.5" y="-1452" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="479.5" y="-1441" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
+<text text-anchor="start" x="479.5" y="-1430" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
+<text text-anchor="start" x="479.5" y="-1419" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="479.5" y="-1408" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="479.5" y="-1397" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="479.5" y="-1386" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
+<text text-anchor="start" x="479.5" y="-1375" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
+<text text-anchor="start" x="479.5" y="-1364" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
+<text text-anchor="start" x="479.5" y="-1353" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
+<text text-anchor="start" x="479.5" y="-1342" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
+<text text-anchor="start" x="479.5" y="-1331" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node8 -->
 <g id="edge6" class="edge">
 <title>Node9&#45;&gt;Node8</title>
-<path fill="none" stroke="#191970" d="M374.2451,-997.513C358.277,-960.6944 341.0123,-920.8864 326.1215,-886.5518"/>
-<polygon fill="none" stroke="#191970" points="371.0847,-999.0224 378.2746,-1006.8041 377.5067,-996.2372 371.0847,-999.0224"/>
-</g>
-<!-- Node11 -->
-<g id="node8" class="node">
-<title>Node11</title>
-<g id="a_node8"><a xlink:href="classtvm_1_1runtime_1_1NDArray.html" target="_top" xlink:title="Managed NDArray. The array is backed by reference counted blocks. ">
-<polygon fill="#ffffff" stroke="#000000" points="182,-412.5 182,-689.5 365,-689.5 365,-412.5 182,-412.5"/>
-<text text-anchor="middle" x="273.5" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
-<polyline fill="none" stroke="#000000" points="182,-670.5 365,-670.5 "/>
-<text text-anchor="middle" x="273.5" y="-658.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="182,-651.5 365,-651.5 "/>
-<text text-anchor="start" x="190" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ NDArray()</text>
-<text text-anchor="start" x="190" y="-628.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ NDArray()</text>
-<text text-anchor="start" x="190" y="-617.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ reset()</text>
-<text text-anchor="start" x="190" y="-606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
-<text text-anchor="start" x="190" y="-595.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="190" y="-584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsContiguous()</text>
-<text text-anchor="start" x="190" y="-573.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyFrom()</text>
-<text text-anchor="start" x="190" y="-562.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyFrom()</text>
-<text text-anchor="start" x="190" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyFromBytes()</text>
-<text text-anchor="start" x="190" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyTo()</text>
-<text text-anchor="start" x="190" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 9 more...</text>
-<text text-anchor="start" x="190" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Empty()</text>
-<text text-anchor="start" x="190" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ FromExternalDLTensor()</text>
-<text text-anchor="start" x="190" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ NewFromDLTensor()</text>
-<text text-anchor="start" x="190" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ FromDLPack()</text>
-<text text-anchor="start" x="190" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyFromTo()</text>
-<text text-anchor="start" x="190" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AbilityOfZeroCopyForDLTensor()</text>
-<text text-anchor="start" x="190" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
-<text text-anchor="start" x="190" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIDataFromHandle()</text>
-<text text-anchor="start" x="190" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIDecRef()</text>
-<text text-anchor="start" x="190" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIGetHandle()</text>
-</a>
-</g>
-</g>
-<!-- Node9&#45;&gt;Node11 -->
-<g id="edge9" class="edge">
-<title>Node9&#45;&gt;Node11</title>
-<path fill="none" stroke="#191970" d="M413.9025,-996.6954C403.0616,-913.8593 384.0449,-802.437 352.5,-708 350.4699,-701.9223 348.2412,-695.7853 345.8602,-689.6396"/>
-<polygon fill="none" stroke="#191970" points="410.4361,-997.1814 415.1843,-1006.6526 417.3788,-996.2875 410.4361,-997.1814"/>
-</g>
-<!-- Node12 -->
-<g id="node9" class="node">
-<title>Node12</title>
-<g id="a_node9"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::PrimExpr \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 25 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="370,-462 370,-640 483,-640 483,-462 370,-462"/>
-<text text-anchor="start" x="378" y="-628" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="426.5" y="-617" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::PrimExpr &gt;</text>
-<polyline fill="none" stroke="#000000" points="370,-610 483,-610 "/>
-<text text-anchor="middle" x="426.5" y="-598" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="370,-591 483,-591 "/>
-<text text-anchor="start" x="378" y="-579" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="378" y="-568" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="378" y="-557" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="378" y="-546" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="378" y="-535" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="378" y="-524" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="378" y="-513" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="378" y="-502" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="378" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="378" y="-480" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="378" y="-469" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
-</a>
-</g>
-</g>
-<!-- Node9&#45;&gt;Node12 -->
-<g id="edge11" class="edge">
-<title>Node9&#45;&gt;Node12</title>
-<path fill="none" stroke="#191970" d="M426.5,-996.7916C426.5,-889.839 426.5,-736.4198 426.5,-640.3142"/>
-<polygon fill="none" stroke="#191970" points="423.0001,-996.9933 426.5,-1006.9933 430.0001,-996.9933 423.0001,-996.9933"/>
+<path fill="none" stroke="#191970" d="M464.7035,-1348.0802C428.7688,-1305.17 385.2722,-1252.3537 347.5,-1204 344.4099,-1200.0443 341.2667,-1195.9689 338.1131,-1191.8389"/>
+<polygon fill="none" stroke="#191970" points="462.2151,-1350.5599 471.3222,-1355.9739 467.579,-1346.0623 462.2151,-1350.5599"/>
 </g>
 <!-- Node13 -->
 <g id="node10" class="node">
 <title>Node13</title>
-<g id="a_node10"><a xlink:href="classtvm_1_1tir_1_1Buffer.html" target="_top" xlink:title="Buffer is a symbolic n&#45;darray structure. It is a composition of primitive symbolic types...">
-<polygon fill="#ffffff" stroke="#000000" points="488.5,-456.5 488.5,-645.5 642.5,-645.5 642.5,-456.5 488.5,-456.5"/>
-<text text-anchor="middle" x="565.5" y="-633.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::Buffer</text>
-<polyline fill="none" stroke="#000000" points="488.5,-626.5 642.5,-626.5 "/>
-<text text-anchor="middle" x="565.5" y="-614.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="488.5,-607.5 642.5,-607.5 "/>
-<text text-anchor="start" x="496.5" y="-595.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Buffer()</text>
-<text text-anchor="start" x="496.5" y="-584.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ MakeStrideView()</text>
-<text text-anchor="start" x="496.5" y="-573.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ MakeSlice()</text>
-<text text-anchor="start" x="496.5" y="-562.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ access_ptr()</text>
-<text text-anchor="start" x="496.5" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ vload()</text>
-<text text-anchor="start" x="496.5" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ vstore()</text>
-<text text-anchor="start" x="496.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetFlattenedBuffer()</text>
-<text text-anchor="start" x="496.5" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ OffsetOf()</text>
-<text text-anchor="start" x="496.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ scope()</text>
-<text text-anchor="start" x="496.5" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="496.5" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
-<text text-anchor="start" x="496.5" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="496.5" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_COW_METHOD()</text>
+<g id="a_node10"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode. ">
+<polygon fill="#ffffff" stroke="#000000" points="356.5,-1080.5 356.5,-1148.5 510.5,-1148.5 510.5,-1080.5 356.5,-1080.5"/>
+<text text-anchor="middle" x="433.5" y="-1136.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExpr</text>
+<polyline fill="none" stroke="#000000" points="356.5,-1129.5 510.5,-1129.5 "/>
+<text text-anchor="middle" x="433.5" y="-1117.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="356.5,-1110.5 510.5,-1110.5 "/>
+<text text-anchor="start" x="364.5" y="-1098.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="364.5" y="-1087.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node13 -->
-<g id="edge13" class="edge">
+<g id="edge11" class="edge">
 <title>Node9&#45;&gt;Node13</title>
-<path fill="none" stroke="#191970" d="M456.1685,-996.9783C481.9017,-892.0088 518.6331,-742.1764 542.2736,-645.7437"/>
-<polygon fill="none" stroke="#191970" points="452.695,-996.4475 453.7133,-1006.9933 459.4937,-998.1143 452.695,-996.4475"/>
+<path fill="none" stroke="#191970" d="M498.8576,-1313.9964C479.4677,-1254.811 457.5844,-1188.0148 444.698,-1148.6805"/>
+<polygon fill="none" stroke="#191970" points="495.6313,-1315.3908 502.0708,-1323.8041 502.2835,-1313.2114 495.6313,-1315.3908"/>
 </g>
 <!-- Node14 -->
 <g id="node11" class="node">
 <title>Node14</title>
-<g id="a_node11"><a xlink:href="classtvm_1_1runtime_1_1Map.html" target="_top" xlink:title="{tvm::runtime::Map\&lt;\l tvm::runtime::String,\l tvm::runtime::ObjectRef \&gt;\n||+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ operator=()\l+ operator=()\l+ at()\land 12 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="569.5,-171.5 569.5,-360.5 717.5,-360.5 717.5,-171.5 569.5,-171.5"/>
-<text text-anchor="start" x="577.5" y="-348.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Map&lt;</text>
-<text text-anchor="start" x="577.5" y="-337.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::runtime::String,</text>
-<text text-anchor="middle" x="643.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::runtime::ObjectRef &gt;</text>
-<polyline fill="none" stroke="#000000" points="569.5,-319.5 717.5,-319.5 "/>
-<text text-anchor="middle" x="643.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="569.5,-300.5 717.5,-300.5 "/>
-<text text-anchor="start" x="577.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="577.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="577.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="577.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="577.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="577.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="577.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="577.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="577.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="577.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ at()</text>
-<text text-anchor="start" x="577.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 12 more...</text>
+<g id="a_node11"><a xlink:href="classtvm_1_1runtime_1_1NDArray.html" target="_top" xlink:title="Managed NDArray. The array is backed by reference counted blocks. ">
+<polygon fill="#ffffff" stroke="#000000" points="407,-729.5 407,-1006.5 590,-1006.5 590,-729.5 407,-729.5"/>
+<text text-anchor="middle" x="498.5" y="-994.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::NDArray</text>
+<polyline fill="none" stroke="#000000" points="407,-987.5 590,-987.5 "/>
+<text text-anchor="middle" x="498.5" y="-975.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="407,-968.5 590,-968.5 "/>
+<text text-anchor="start" x="415" y="-956.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ NDArray()</text>
+<text text-anchor="start" x="415" y="-945.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ NDArray()</text>
+<text text-anchor="start" x="415" y="-934.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ reset()</text>
+<text text-anchor="start" x="415" y="-923.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
+<text text-anchor="start" x="415" y="-912.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="415" y="-901.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsContiguous()</text>
+<text text-anchor="start" x="415" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyFrom()</text>
+<text text-anchor="start" x="415" y="-879.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyFrom()</text>
+<text text-anchor="start" x="415" y="-868.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyFromBytes()</text>
+<text text-anchor="start" x="415" y="-857.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyTo()</text>
+<text text-anchor="start" x="415" y="-846.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 9 more...</text>
+<text text-anchor="start" x="415" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Empty()</text>
+<text text-anchor="start" x="415" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ FromExternalDLTensor()</text>
+<text text-anchor="start" x="415" y="-813.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ NewFromDLTensor()</text>
+<text text-anchor="start" x="415" y="-802.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ FromDLPack()</text>
+<text text-anchor="start" x="415" y="-791.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CopyFromTo()</text>
+<text text-anchor="start" x="415" y="-780.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AbilityOfZeroCopyForDLTensor()</text>
+<text text-anchor="start" x="415" y="-769.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
+<text text-anchor="start" x="415" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIDataFromHandle()</text>
+<text text-anchor="start" x="415" y="-747.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIDecRef()</text>
+<text text-anchor="start" x="415" y="-736.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIGetHandle()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node14 -->
-<g id="edge15" class="edge">
+<g id="edge13" class="edge">
 <title>Node9&#45;&gt;Node14</title>
-<path fill="none" stroke="#191970" d="M499.1079,-1010.3346C550.7392,-926.9561 615.6756,-806.4093 643.5,-690 669.9818,-579.2077 664.4475,-447.4274 655.9273,-360.5179"/>
-<polygon fill="none" stroke="#191970" points="495.998,-1008.7074 493.6785,-1019.0453 501.9385,-1012.4102 495.998,-1008.7074"/>
+<path fill="none" stroke="#191970" d="M535.6319,-1313.5653C533.0247,-1231.8711 528.2017,-1121.8153 519.5,-1025 518.9584,-1018.9744 518.3548,-1012.8249 517.7039,-1006.6174"/>
+<polygon fill="none" stroke="#191970" points="532.1437,-1314.0028 535.9544,-1323.8886 539.1403,-1313.7841 532.1437,-1314.0028"/>
+</g>
+<!-- Node15 -->
+<g id="node12" class="node">
+<title>Node15</title>
+<g id="a_node12"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::PrimExpr \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 25 more...\l}">
+<polygon fill="#ffffff" stroke="#000000" points="543,-412.5 543,-590.5 656,-590.5 656,-412.5 543,-412.5"/>
+<text text-anchor="start" x="551" y="-578.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="599.5" y="-567.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::PrimExpr &gt;</text>
+<polyline fill="none" stroke="#000000" points="543,-560.5 656,-560.5 "/>
+<text text-anchor="middle" x="599.5" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="543,-541.5 656,-541.5 "/>
+<text text-anchor="start" x="551" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="551" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="551" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="551" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="551" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="551" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="551" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="551" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="551" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="551" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="551" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
+</a>
+</g>
+</g>
+<!-- Node9&#45;&gt;Node15 -->
+<g id="edge15" class="edge">
+<title>Node9&#45;&gt;Node15</title>
+<path fill="none" stroke="#191970" d="M557.0635,-1313.5701C569.268,-1228.0751 584.2714,-1110.8197 591.5,-1007 601.6354,-861.4325 601.9806,-691.7433 600.9768,-590.6537"/>
+<polygon fill="none" stroke="#191970" points="553.5841,-1313.1773 555.6276,-1323.5732 560.5131,-1314.172 553.5841,-1313.1773"/>
+</g>
+<!-- Node16 -->
+<g id="node13" class="node">
+<title>Node16</title>
+<g id="a_node13"><a xlink:href="classtvm_1_1runtime_1_1Map.html" target="_top" xlink:title="{tvm::runtime::Map\&lt;\l tvm::runtime::String,\l tvm::runtime::ObjectRef \&gt;\n||+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ operator=()\l+ operator=()\l+ at()\land 12 more...\l}">
+<polygon fill="#ffffff" stroke="#000000" points="620.5,-773.5 620.5,-962.5 768.5,-962.5 768.5,-773.5 620.5,-773.5"/>
+<text text-anchor="start" x="628.5" y="-950.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Map&lt;</text>
+<text text-anchor="start" x="628.5" y="-939.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::runtime::String,</text>
+<text text-anchor="middle" x="694.5" y="-928.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::runtime::ObjectRef &gt;</text>
+<polyline fill="none" stroke="#000000" points="620.5,-921.5 768.5,-921.5 "/>
+<text text-anchor="middle" x="694.5" y="-909.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="620.5,-902.5 768.5,-902.5 "/>
+<text text-anchor="start" x="628.5" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="628.5" y="-879.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="628.5" y="-868.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="628.5" y="-857.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="628.5" y="-846.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="628.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="628.5" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="628.5" y="-813.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="628.5" y="-802.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="628.5" y="-791.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ at()</text>
+<text text-anchor="start" x="628.5" y="-780.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 12 more...</text>
+</a>
+</g>
+</g>
+<!-- Node9&#45;&gt;Node16 -->
+<g id="edge17" class="edge">
+<title>Node9&#45;&gt;Node16</title>
+<path fill="none" stroke="#191970" d="M588.3299,-1314.3789C599.5054,-1284.8006 610.6561,-1253.0105 619.5,-1223 645.0967,-1136.1416 665.5953,-1034.8947 678.6503,-962.8055"/>
+<polygon fill="none" stroke="#191970" points="584.9923,-1313.3086 584.7035,-1323.8995 591.5338,-1315.8003 584.9923,-1313.3086"/>
 </g>
 <!-- Node10 -->
 <g id="node7" class="node">
 <title>Node10</title>
 <g id="a_node7"><a xlink:href="classtvm_1_1runtime_1_1ObjectPtr.html" target="_top" xlink:title="{tvm::runtime::ObjectPtr\l\&lt; tvm::runtime::Object \&gt;\n||+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ~ObjectPtr()\l+ swap()\l+ get()\l+ operator&#45;\&gt;()\land 11 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="356.5,-1359.5 356.5,-1537.5 496.5,-1537.5 496.5,-1359.5 356.5,-1359.5"/>
-<text text-anchor="start" x="364.5" y="-1525.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
-<text text-anchor="middle" x="426.5" y="-1514.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
-<polyline fill="none" stroke="#000000" points="356.5,-1507.5 496.5,-1507.5 "/>
-<text text-anchor="middle" x="426.5" y="-1495.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="356.5,-1488.5 496.5,-1488.5 "/>
-<text text-anchor="start" x="364.5" y="-1476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="364.5" y="-1465.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="364.5" y="-1454.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="364.5" y="-1443.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="364.5" y="-1432.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="364.5" y="-1421.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="364.5" y="-1410.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
-<text text-anchor="start" x="364.5" y="-1399.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
-<text text-anchor="start" x="364.5" y="-1388.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="364.5" y="-1377.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="364.5" y="-1366.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
+<polygon fill="#ffffff" stroke="#000000" points="468.5,-1676.5 468.5,-1854.5 608.5,-1854.5 608.5,-1676.5 468.5,-1676.5"/>
+<text text-anchor="start" x="476.5" y="-1842.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
+<text text-anchor="middle" x="538.5" y="-1831.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
+<polyline fill="none" stroke="#000000" points="468.5,-1824.5 608.5,-1824.5 "/>
+<text text-anchor="middle" x="538.5" y="-1812.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="468.5,-1805.5 608.5,-1805.5 "/>
+<text text-anchor="start" x="476.5" y="-1793.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1782.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1771.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1760.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1749.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1738.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1727.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1716.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
+<text text-anchor="start" x="476.5" y="-1705.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="476.5" y="-1694.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="476.5" y="-1683.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node9 -->
 <g id="edge7" class="edge">
 <title>Node10&#45;&gt;Node9</title>
-<path fill="none" stroke="#404040" d="M426.5,-1359.4973C426.5,-1323.1115 426.5,-1280.409 426.5,-1241.1129"/>
-<polygon fill="none" stroke="#404040" points="426.5001,-1241.0376 422.5,-1235.0377 426.5,-1229.0376 430.5,-1235.0376 426.5001,-1241.0376"/>
-<text text-anchor="middle" x="446" y="-1333" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
+<path fill="none" stroke="#404040" d="M538.5,-1676.4973C538.5,-1640.1115 538.5,-1597.409 538.5,-1558.1129"/>
+<polygon fill="none" stroke="#404040" points="538.5001,-1558.0376 534.5,-1552.0377 538.5,-1546.0376 542.5,-1552.0376 538.5001,-1558.0376"/>
+<text text-anchor="middle" x="558" y="-1650" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
+</g>
+<!-- Node11 -->
+<g id="node8" class="node">
+<title>Node11</title>
+<g id="a_node8"><a xlink:href="classtvm_1_1tir_1_1Var.html" target="_top" xlink:title="a named variable in TIR ">
+<polygon fill="#ffffff" stroke="#000000" points="348.5,-204.5 348.5,-327.5 466.5,-327.5 466.5,-204.5 348.5,-204.5"/>
+<text text-anchor="middle" x="407.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::Var</text>
+<polyline fill="none" stroke="#000000" points="348.5,-308.5 466.5,-308.5 "/>
+<text text-anchor="middle" x="407.5" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="348.5,-289.5 466.5,-289.5 "/>
+<text text-anchor="start" x="356.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Var()</text>
+<text text-anchor="start" x="356.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Var()</text>
+<text text-anchor="start" x="356.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Var()</text>
+<text text-anchor="start" x="356.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ copy_with_suffix()</text>
+<text text-anchor="start" x="356.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ copy_with_dtype()</text>
+<text text-anchor="start" x="356.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="356.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+</a>
+</g>
 </g>
 <!-- Node11&#45;&gt;Node4 -->
 <g id="edge8" class="edge">
 <title>Node11&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M293.7947,-412.335C310.0105,-329.1002 337.966,-223.1964 384.5,-138 391.8024,-124.6304 401.4197,-111.6351 411.5322,-99.8148"/>
-<polygon fill="none" stroke="#404040" points="411.7452,-99.5748 412.7386,-92.4325 419.7136,-90.6023 418.7203,-97.7447 411.7452,-99.5748"/>
-<text text-anchor="middle" x="401.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +data</text>
+<path fill="none" stroke="#404040" d="M403.4132,-204.1323C404.2801,-173.2335 409.9842,-136.6472 428.5,-109 430.77,-105.6105 433.2864,-102.3793 436.0016,-99.3012"/>
+<polygon fill="none" stroke="#404040" points="436.2529,-99.0475 437.6326,-91.9696 444.6967,-90.5209 443.317,-97.5988 436.2529,-99.0475"/>
+<text text-anchor="middle" x="459" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +buffer_var</text>
 </g>
-<!-- Node12&#45;&gt;Node4 -->
+<!-- Node12 -->
+<g id="node9" class="node">
+<title>Node12</title>
+<g id="a_node9"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode. ">
+<polygon fill="#ffffff" stroke="#000000" points="321.5,-609.5 321.5,-710.5 475.5,-710.5 475.5,-609.5 321.5,-609.5"/>
+<text text-anchor="middle" x="398.5" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrimExpr</text>
+<polyline fill="none" stroke="#000000" points="321.5,-691.5 475.5,-691.5 "/>
+<text text-anchor="middle" x="398.5" y="-679.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="321.5,-672.5 475.5,-672.5 "/>
+<text text-anchor="start" x="329.5" y="-660.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
+<text text-anchor="start" x="329.5" y="-649.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
+<text text-anchor="start" x="329.5" y="-638.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype()</text>
+<text text-anchor="start" x="329.5" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="329.5" y="-616.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+</a>
+</g>
+</g>
+<!-- Node12&#45;&gt;Node11 -->
+<g id="edge9" class="edge">
+<title>Node12&#45;&gt;Node11</title>
+<path fill="none" stroke="#191970" d="M399.8882,-599.2263C401.5741,-525.4242 404.4016,-401.6427 406.0949,-327.5101"/>
+<polygon fill="none" stroke="#191970" points="396.3875,-599.2206 399.6582,-609.298 403.3857,-599.3806 396.3875,-599.2206"/>
+</g>
+<!-- Node13&#45;&gt;Node12 -->
 <g id="edge10" class="edge">
-<title>Node12&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M422.8798,-461.7225C421.0337,-377.6269 422.2375,-248.4184 440.5,-138 442.4304,-126.3283 445.4215,-114.0691 448.7425,-102.4314"/>
-<polygon fill="none" stroke="#404040" points="448.8492,-102.0749 446.7388,-95.1795 452.2921,-90.5794 454.4025,-97.4748 448.8492,-102.0749"/>
-<text text-anchor="middle" x="465" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +extents</text>
+<title>Node13&#45;&gt;Node12</title>
+<path fill="none" stroke="#191970" d="M419.5073,-1070.3592C414.0575,-1051.1089 408.4261,-1028.1486 405.5,-1007 391.0274,-902.399 393.0894,-778.3946 395.8302,-710.5727"/>
+<polygon fill="none" stroke="#191970" points="416.1742,-1071.4321 422.3253,-1080.0584 422.8962,-1069.479 416.1742,-1071.4321"/>
 </g>
-<!-- Node13&#45;&gt;Node4 -->
+<!-- Node14&#45;&gt;Node4 -->
 <g id="edge12" class="edge">
-<title>Node13&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M535.6891,-456.1181C530.0332,-435.7702 524.6086,-414.2869 520.5,-394 497.7505,-281.6716 509.1016,-250.9203 489.5,-138 487.5142,-126.5601 485.0292,-114.405 482.4707,-102.7965"/>
-<polygon fill="none" stroke="#404040" points="482.4389,-102.6552 477.2156,-97.6837 479.7957,-90.9499 485.0191,-95.9215 482.4389,-102.6552"/>
-<text text-anchor="middle" x="540.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +buffer</text>
+<title>Node14&#45;&gt;Node4</title>
+<path fill="none" stroke="#404040" d="M495.0745,-729.4537C493.7584,-639.0204 493.7366,-518.4224 499.5,-412 505.4532,-302.0722 521.0195,-174.366 530.5888,-102.4278"/>
+<polygon fill="none" stroke="#404040" points="530.5911,-102.4104 527.4242,-95.9318 532.1864,-90.5169 535.3532,-96.9954 530.5911,-102.4104"/>
+<text text-anchor="middle" x="516.5" y="-499" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +data</text>
 </g>
-<!-- Node14&#45;&gt;Node4 -->
+<!-- Node15&#45;&gt;Node4 -->
 <g id="edge14" class="edge">
-<title>Node14&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M580.946,-171.4729C572.6473,-160.0021 564.0476,-148.602 555.5,-138 545.1448,-125.1561 533.4093,-111.9168 521.9852,-99.6108"/>
-<polygon fill="none" stroke="#404040" points="521.9592,-99.5831 514.9363,-97.9464 513.746,-90.8342 520.7689,-92.4709 521.9592,-99.5831"/>
-<text text-anchor="middle" x="575.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +annotations</text>
+<title>Node15&#45;&gt;Node4</title>
+<path fill="none" stroke="#404040" d="M587.5938,-412.4961C575.3178,-320.7283 556.5433,-180.3813 546.1284,-102.5256"/>
+<polygon fill="none" stroke="#404040" points="546.1221,-102.4779 541.3619,-97.0612 544.5309,-90.5838 549.2912,-96.0004 546.1221,-102.4779"/>
+<text text-anchor="middle" x="608" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +extents</text>
 </g>
-<!-- Node15 -->
-<g id="node12" class="node">
-<title>Node15</title>
-<g id="a_node12"><a xlink:href="classtvm_1_1runtime_1_1DataType.html" target="_top" xlink:title="Runtime primitive data type. ">
-<polygon fill="#ffffff" stroke="#000000" points="735.5,-138.5 735.5,-393.5 867.5,-393.5 867.5,-138.5 735.5,-138.5"/>
-<text text-anchor="middle" x="801.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::DataType</text>
-<polyline fill="none" stroke="#000000" points="735.5,-374.5 867.5,-374.5 "/>
-<text text-anchor="middle" x="801.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="735.5,-355.5 867.5,-355.5 "/>
-<text text-anchor="start" x="743.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
-<text text-anchor="start" x="743.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
-<text text-anchor="start" x="743.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
-<text text-anchor="start" x="743.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ code()</text>
-<text text-anchor="start" x="743.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ bits()</text>
-<text text-anchor="start" x="743.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ bytes()</text>
-<text text-anchor="start" x="743.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ lanes()</text>
-<text text-anchor="start" x="743.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_scalar()</text>
-<text text-anchor="start" x="743.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_bool()</text>
-<text text-anchor="start" x="743.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_float()</text>
-<text text-anchor="start" x="743.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 15 more...</text>
-<text text-anchor="start" x="743.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Int()</text>
-<text text-anchor="start" x="743.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ UInt()</text>
-<text text-anchor="start" x="743.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Float()</text>
-<text text-anchor="start" x="743.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ BFloat()</text>
-<text text-anchor="start" x="743.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Bool()</text>
-<text text-anchor="start" x="743.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Handle()</text>
-<text text-anchor="start" x="743.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Void()</text>
-<text text-anchor="start" x="743.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ShapeIndex()</text>
+<!-- Node16&#45;&gt;Node4 -->
+<g id="edge16" class="edge">
+<title>Node16&#45;&gt;Node4</title>
+<path fill="none" stroke="#404040" d="M695.3261,-773.2367C695.4584,-601.8098 689.0954,-247.7837 636.5,-138 629.7337,-123.8766 619.8057,-110.8148 608.832,-99.2252"/>
+<polygon fill="none" stroke="#404040" points="608.7526,-99.1458 601.6822,-97.7281 600.2715,-90.6563 607.3419,-92.074 608.7526,-99.1458"/>
+<text text-anchor="middle" x="727.5" y="-499" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +annotations</text>
+</g>
+<!-- Node17 -->
+<g id="node14" class="node">
+<title>Node17</title>
+<g id="a_node14"><a xlink:href="classtvm_1_1runtime_1_1DataType.html" target="_top" xlink:title="Runtime primitive data type. ">
+<polygon fill="#ffffff" stroke="#000000" points="707.5,-138.5 707.5,-393.5 839.5,-393.5 839.5,-138.5 707.5,-138.5"/>
+<text text-anchor="middle" x="773.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::DataType</text>
+<polyline fill="none" stroke="#000000" points="707.5,-374.5 839.5,-374.5 "/>
+<text text-anchor="middle" x="773.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="707.5,-355.5 839.5,-355.5 "/>
+<text text-anchor="start" x="715.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
+<text text-anchor="start" x="715.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
+<text text-anchor="start" x="715.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
+<text text-anchor="start" x="715.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ code()</text>
+<text text-anchor="start" x="715.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ bits()</text>
+<text text-anchor="start" x="715.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ bytes()</text>
+<text text-anchor="start" x="715.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ lanes()</text>
+<text text-anchor="start" x="715.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_scalar()</text>
+<text text-anchor="start" x="715.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_bool()</text>
+<text text-anchor="start" x="715.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_float()</text>
+<text text-anchor="start" x="715.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 15 more...</text>
+<text text-anchor="start" x="715.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Int()</text>
+<text text-anchor="start" x="715.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ UInt()</text>
+<text text-anchor="start" x="715.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Float()</text>
+<text text-anchor="start" x="715.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ BFloat()</text>
+<text text-anchor="start" x="715.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Bool()</text>
+<text text-anchor="start" x="715.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Handle()</text>
+<text text-anchor="start" x="715.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Void()</text>
+<text text-anchor="start" x="715.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ShapeIndex()</text>
 </a>
 </g>
 </g>
-<!-- Node15&#45;&gt;Node4 -->
-<g id="edge16" class="edge">
-<title>Node15&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M735.4268,-146.0997C732.548,-143.2584 729.5725,-140.5489 726.5,-138 686.07,-104.4603 632.5303,-82.6459 584.7065,-68.6812"/>
-<polygon fill="none" stroke="#404040" points="584.5546,-68.6385 577.6948,-70.8619 573.004,-65.3849 579.8638,-63.1615 584.5546,-68.6385"/>
-<text text-anchor="middle" x="715.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +dtype</text>
+<!-- Node17&#45;&gt;Node4 -->
+<g id="edge18" class="edge">
+<title>Node17&#45;&gt;Node4</title>
+<path fill="none" stroke="#404040" d="M718.7959,-138.1521C711.2531,-127.5368 702.8394,-117.5995 693.5,-109 681.993,-98.4046 668.4786,-89.4583 654.3085,-81.9358"/>
+<polygon fill="none" stroke="#404040" points="654.0971,-81.83 646.9412,-82.7203 643.3671,-76.4572 650.523,-75.5669 654.0971,-81.83"/>
+<text text-anchor="middle" x="722.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +dtype</text>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__inherit__graph.svg
index bea0376e6b..1bb9e48bd3 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode__inherit__graph.svg
@@ -19,7 +19,7 @@
 <text text-anchor="start" x="8" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype</text>
 <text text-anchor="start" x="8" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ extents</text>
 <text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ data</text>
-<text text-anchor="start" x="8" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="8" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer_var</text>
 <text text-anchor="start" x="8" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ annotations</text>
 <text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="0,-41.5 209,-41.5 "/>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode-members.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode-members.html
index bda70ec853..bf75964210 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode-members.html
@@ -80,7 +80,7 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a121a0372d334ad2ef396b980870d007d">_type_key</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">tvm::script::ir_builder::tir::AllocateFrameNode</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a08e6e65098b35e2908e774de3ab970f3">AddCallback</a>(runtime::TypedPackedFunc&lt; void()&gt; callback)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a272e14ad0ee3f8c0d75744faaee3f476">annotations</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">tvm::script::ir_builder::tir::AllocateFrameNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#ad7365c7b511a9f9dffc1aac531d046c2">buffer</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">tvm::script::ir_builder::tir::AllocateFrameNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a22c42fc2abf33a4675850ae3ec826aec">buffer_var</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">tvm::script::ir_builder::tir::AllocateFrameNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#aa21f554fdcf6ab78c55cb54cdc69c0c2">callbacks</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a5a6ff996869df4462d45ce04cd8efcbb">condition</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">tvm::script::ir_builder::tir::AllocateFrameNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a70fb5361147634605d6595bb89381f03">DecRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html
index b2dabeac5e..b84b465117 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html
@@ -85,7 +85,7 @@ Inheritance diagram for tvm::script::ir_builder::tir::AllocateFrameNode:</div>
 <div class="dynheader">
 Collaboration diagram for tvm::script::ir_builder::tir::AllocateFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__coll__graph.svg" width="1292" height="1944"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__coll__graph.svg" width="1198" height="2382"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -157,9 +157,9 @@ Public Attributes</h2></td></tr>
 <tr class="memitem:a272e14ad0ee3f8c0d75744faaee3f476"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a272e14ad0ee3f8c0d75744faaee3f476">ann [...]
 <tr class="memdesc:a272e14ad0ee3f8c0d75744faaee3f476"><td class="mdescLeft">&#160;</td><td class="mdescRight">Additional annotation hints.  <a href="#a272e14ad0ee3f8c0d75744faaee3f476">More...</a><br /></td></tr>
 <tr class="separator:a272e14ad0ee3f8c0d75744faaee3f476"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad7365c7b511a9f9dffc1aac531d046c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">tvm::tir::Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#ad7365c7b511a9f9dffc1aac531d046c2">buffer</a></td></tr>
-<tr class="memdesc:ad7365c7b511a9f9dffc1aac531d046c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer.  <a href="#ad7365c7b511a9f9dffc1aac531d046c2">More...</a><br /></td></tr>
-<tr class="separator:ad7365c7b511a9f9dffc1aac531d046c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22c42fc2abf33a4675850ae3ec826aec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1tir_1_1Var.html">tvm::tir::Var</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a22c42fc2abf33a4675850ae3ec826aec">buffer_var</a></td></tr>
+<tr class="memdesc:a22c42fc2abf33a4675850ae3ec826aec"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer var.  <a href="#a22c42fc2abf33a4675850ae3ec826aec">More...</a><br /></td></tr>
+<tr class="separator:a22c42fc2abf33a4675850ae3ec826aec"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html">tvm::script::ir_builder::tir::TIRFrameNode</a></td></tr>
 <tr class="memitem:a13776bb5c2e5403138fbee06d4fdad40 inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1tir_1_1Stmt.html">tvm::tir::Stmt</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a13776bb5c2e5403138fbee06d4fdad40" [...]
 <tr class="memdesc:a13776bb5c2e5403138fbee06d4fdad40 inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Stmt within in this frame.  <a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a13776bb5c2e5403138fbee06d4fdad40">More...</a><br /></td></tr>
@@ -368,19 +368,19 @@ Additional Inherited Members</h2></td></tr>
 
 </div>
 </div>
-<a id="ad7365c7b511a9f9dffc1aac531d046c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad7365c7b511a9f9dffc1aac531d046c2">&#9670;&nbsp;</a></span>buffer</h2>
+<a id="a22c42fc2abf33a4675850ae3ec826aec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a22c42fc2abf33a4675850ae3ec826aec">&#9670;&nbsp;</a></span>buffer_var</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">tvm::tir::Buffer</a> tvm::script::ir_builder::tir::AllocateFrameNode::buffer</td>
+          <td class="memname"><a class="el" href="classtvm_1_1tir_1_1Var.html">tvm::tir::Var</a> tvm::script::ir_builder::tir::AllocateFrameNode::buffer_var</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>The buffer. </p>
+<p>The buffer var. </p>
 
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__coll__graph.svg
index 00bb00c86d..2f578cd2c4 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__coll__graph.svg
@@ -4,461 +4,455 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: tvm::script::ir_builder::tir::AllocateFrameNode Pages: 1 -->
-<svg width="969pt" height="1458pt"
- viewBox="0.00 0.00 968.50 1458.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 1454)">
+<svg width="898pt" height="1786pt"
+ viewBox="0.00 0.00 897.50 1786.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 1782)">
 <title>tvm::script::ir_builder::tir::AllocateFrameNode</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1454 964.5,-1454 964.5,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1782 893.5,-1782 893.5,4 -4,4"/>
 <!-- Node4 -->
 <g id="node1" class="node">
 <title>Node4</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="405,-.5 405,-90.5 614,-90.5 614,-.5 405,-.5"/>
-<text text-anchor="start" x="413" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="509.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::AllocateFrameNode</text>
-<polyline fill="none" stroke="#000000" points="405,-60.5 614,-60.5 "/>
-<text text-anchor="start" x="413" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="405,-41.5 614,-41.5 "/>
-<text text-anchor="start" x="413" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="413" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
-<text text-anchor="start" x="413" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="400,-.5 400,-90.5 609,-90.5 609,-.5 400,-.5"/>
+<text text-anchor="start" x="408" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="504.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::AllocateFrameNode</text>
+<polyline fill="none" stroke="#000000" points="400,-60.5 609,-60.5 "/>
+<text text-anchor="start" x="408" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="400,-41.5 609,-41.5 "/>
+<text text-anchor="start" x="408" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="408" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
+<text text-anchor="start" x="408" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
 </g>
 <!-- Node5 -->
 <g id="node2" class="node">
 <title>Node5</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements. ">
-<polygon fill="#ffffff" stroke="#000000" points="46,-226.5 46,-305.5 253,-305.5 253,-226.5 46,-226.5"/>
-<text text-anchor="start" x="54" y="-293.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="149.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::TIRFrameNode</text>
-<polyline fill="none" stroke="#000000" points="46,-275.5 253,-275.5 "/>
-<text text-anchor="start" x="54" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="46,-256.5 253,-256.5 "/>
-<text text-anchor="start" x="54" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="54" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<polygon fill="#ffffff" stroke="#000000" points="97,-631.5 97,-710.5 304,-710.5 304,-631.5 97,-631.5"/>
+<text text-anchor="start" x="105" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="200.5" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::TIRFrameNode</text>
+<polyline fill="none" stroke="#000000" points="97,-680.5 304,-680.5 "/>
+<text text-anchor="start" x="105" y="-668.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="97,-661.5 304,-661.5 "/>
+<text text-anchor="start" x="105" y="-649.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="105" y="-638.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node4 -->
 <g id="edge1" class="edge">
 <title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="#191970" d="M176.8732,-217.4973C199.1038,-182.3833 233.5859,-136.4455 275.5,-109 313.9736,-83.8073 362.226,-68.5522 404.904,-59.341"/>
-<polygon fill="none" stroke="#191970" points="173.7879,-215.8313 171.4882,-226.1735 179.7355,-219.5227 173.7879,-215.8313"/>
+<path fill="none" stroke="#191970" d="M190.6852,-621.5714C173.59,-521.0927 149.0688,-289.6915 249.5,-138 267.1135,-111.3965 337.5211,-87.0409 399.9007,-70.0068"/>
+<polygon fill="none" stroke="#191970" points="187.2429,-622.2053 192.4149,-631.4519 194.138,-620.9982 187.2429,-622.2053"/>
 </g>
 <!-- Node6 -->
 <g id="node3" class="node">
 <title>Node6</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="{tvm::script::ir_builder\l::IRBuilderFrameNode\n|+ callbacks\l+ _type_key\l|+ VisitAttrs()\l+ TVM_DECLARE_BASE_OBJECT_INFO()\l+ ~IRBuilderFrameNode()\l+ EnterWithScope()\l+ ExitWithScope()\l+ AddCallback()\l}">
-<polygon fill="#ffffff" stroke="#000000" points="0,-642.5 0,-776.5 207,-776.5 207,-642.5 0,-642.5"/>
-<text text-anchor="start" x="8" y="-764.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="103.5" y="-753.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
-<polyline fill="none" stroke="#000000" points="0,-746.5 207,-746.5 "/>
-<text text-anchor="start" x="8" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ callbacks</text>
-<text text-anchor="start" x="8" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="0,-716.5 207,-716.5 "/>
-<text text-anchor="start" x="8" y="-704.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="8" y="-693.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
-<text text-anchor="start" x="8" y="-682.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~IRBuilderFrameNode()</text>
-<text text-anchor="start" x="8" y="-671.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ EnterWithScope()</text>
-<text text-anchor="start" x="8" y="-660.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
-<text text-anchor="start" x="8" y="-649.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AddCallback()</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-970.5 0,-1104.5 207,-1104.5 207,-970.5 0,-970.5"/>
+<text text-anchor="start" x="8" y="-1092.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="103.5" y="-1081.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
+<polyline fill="none" stroke="#000000" points="0,-1074.5 207,-1074.5 "/>
+<text text-anchor="start" x="8" y="-1062.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ callbacks</text>
+<text text-anchor="start" x="8" y="-1051.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="0,-1044.5 207,-1044.5 "/>
+<text text-anchor="start" x="8" y="-1032.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="8" y="-1021.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<text text-anchor="start" x="8" y="-1010.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="8" y="-999.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ EnterWithScope()</text>
+<text text-anchor="start" x="8" y="-988.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
+<text text-anchor="start" x="8" y="-977.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AddCallback()</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node5 -->
 <g id="edge2" class="edge">
 <title>Node6&#45;&gt;Node5</title>
-<path fill="none" stroke="#191970" d="M111.5397,-631.9872C121.4187,-536.7407 137.8019,-378.7846 145.3985,-305.5435"/>
-<polygon fill="none" stroke="#191970" points="108.0368,-631.8341 110.4864,-642.1419 114.9995,-632.5564 108.0368,-631.8341"/>
+<path fill="none" stroke="#191970" d="M123.95,-960.2327C144.1494,-883.9123 174.24,-770.2196 190.004,-710.6574"/>
+<polygon fill="none" stroke="#191970" points="120.4664,-959.7156 121.2913,-970.2783 127.2334,-961.5066 120.4664,-959.7156"/>
 </g>
 <!-- Node7 -->
 <g id="node4" class="node">
 <title>Node7</title>
 <g id="a_node4"><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,-836.5 12,-1223.5 195,-1223.5 195,-836.5 12,-836.5"/>
-<text text-anchor="middle" x="103.5" y="-1211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
-<polyline fill="none" stroke="#000000" points="12,-1204.5 195,-1204.5 "/>
-<text text-anchor="start" x="20" y="-1192.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<text text-anchor="start" x="20" y="-1181.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
-<text text-anchor="start" x="20" y="-1170.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
-<text text-anchor="start" x="20" y="-1159.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
-<text text-anchor="start" x="20" y="-1148.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
-<text text-anchor="start" x="20" y="-1137.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
-<text text-anchor="start" x="20" y="-1126.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
-<text text-anchor="start" x="20" y="-1115.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="20" y="-1104.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="20" y="-1093.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
-<text text-anchor="start" x="20" y="-1082.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="20" y="-1071.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
-<text text-anchor="start" x="20" y="-1060.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
-<text text-anchor="start" x="20" y="-1049.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
-<polyline fill="none" stroke="#000000" points="12,-1042.5 195,-1042.5 "/>
-<text text-anchor="start" x="20" y="-1030.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
-<text text-anchor="start" x="20" y="-1019.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
-<text text-anchor="start" x="20" y="-1008.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="20" y="-997.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
-<text text-anchor="start" x="20" y="-986.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
-<text text-anchor="start" x="20" y="-975.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="20" y="-964.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="20" y="-953.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="20" y="-942.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="20" y="-931.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="20" y="-920.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="20" y="-909.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="20" y="-898.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
-<text text-anchor="start" x="20" y="-887.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="20" y="-876.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="20" y="-865.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
-<text text-anchor="start" x="20" y="-854.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
-<text text-anchor="start" x="20" y="-843.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
+<polygon fill="#ffffff" stroke="#000000" points="12,-1164.5 12,-1551.5 195,-1551.5 195,-1164.5 12,-1164.5"/>
+<text text-anchor="middle" x="103.5" y="-1539.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
+<polyline fill="none" stroke="#000000" points="12,-1532.5 195,-1532.5 "/>
+<text text-anchor="start" x="20" y="-1520.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<text text-anchor="start" x="20" y="-1509.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
+<text text-anchor="start" x="20" y="-1498.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
+<text text-anchor="start" x="20" y="-1487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
+<text text-anchor="start" x="20" y="-1476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
+<text text-anchor="start" x="20" y="-1465.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
+<text text-anchor="start" x="20" y="-1454.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
+<text text-anchor="start" x="20" y="-1443.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="20" y="-1432.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="20" y="-1421.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
+<text text-anchor="start" x="20" y="-1410.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="20" y="-1399.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
+<text text-anchor="start" x="20" y="-1388.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
+<text text-anchor="start" x="20" y="-1377.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
+<polyline fill="none" stroke="#000000" points="12,-1370.5 195,-1370.5 "/>
+<text text-anchor="start" x="20" y="-1358.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
+<text text-anchor="start" x="20" y="-1347.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
+<text text-anchor="start" x="20" y="-1336.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="20" y="-1325.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
+<text text-anchor="start" x="20" y="-1314.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="20" y="-1303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="20" y="-1292.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="20" y="-1281.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="20" y="-1270.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="20" y="-1259.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="20" y="-1248.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="20" y="-1237.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="20" y="-1226.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
+<text text-anchor="start" x="20" y="-1215.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="20" y="-1204.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="20" y="-1193.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
+<text text-anchor="start" x="20" y="-1182.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
+<text text-anchor="start" x="20" y="-1171.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node6 -->
 <g id="edge3" class="edge">
 <title>Node7&#45;&gt;Node6</title>
-<path fill="none" stroke="#191970" d="M103.5,-825.7972C103.5,-808.3163 103.5,-791.5917 103.5,-776.547"/>
-<polygon fill="none" stroke="#191970" points="100.0001,-826.1701 103.5,-836.1701 107.0001,-826.1701 100.0001,-826.1701"/>
+<path fill="none" stroke="#191970" d="M103.5,-1153.7972C103.5,-1136.3163 103.5,-1119.5917 103.5,-1104.547"/>
+<polygon fill="none" stroke="#191970" points="100.0001,-1154.1701 103.5,-1164.1701 107.0001,-1154.1701 100.0001,-1154.1701"/>
 </g>
 <!-- Node7&#45;&gt;Node7 -->
 <g id="edge4" class="edge">
 <title>Node7&#45;&gt;Node7</title>
-<path fill="none" stroke="#404040" d="M195.3625,-1063.9248C206.0482,-1057.6637 213,-1046.3555 213,-1030 213,-1019.0112 209.8618,-1010.3007 204.5615,-1003.8687"/>
-<polygon fill="none" stroke="#404040" points="204.5184,-1003.8322 197.3548,-1003.0056 195.3625,-996.0752 202.5261,-996.9017 204.5184,-1003.8322"/>
-<text text-anchor="middle" x="239" y="-1027.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
+<path fill="none" stroke="#404040" d="M195.3625,-1391.9248C206.0482,-1385.6637 213,-1374.3555 213,-1358 213,-1347.0112 209.8618,-1338.3007 204.5615,-1331.8687"/>
+<polygon fill="none" stroke="#404040" points="204.5184,-1331.8322 197.3548,-1331.0056 195.3625,-1324.0752 202.5261,-1324.9017 204.5184,-1331.8322"/>
+<text text-anchor="middle" x="239" y="-1355.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
 </g>
 <!-- Node8 -->
 <g id="node5" class="node">
 <title>Node8</title>
 <g id="a_node5"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::tir::Stmt \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 25 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="225,-620.5 225,-798.5 338,-798.5 338,-620.5 225,-620.5"/>
-<text text-anchor="start" x="233" y="-786.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="281.5" y="-775.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::tir::Stmt &gt;</text>
-<polyline fill="none" stroke="#000000" points="225,-768.5 338,-768.5 "/>
-<text text-anchor="middle" x="281.5" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="225,-749.5 338,-749.5 "/>
-<text text-anchor="start" x="233" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-726.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-704.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-693.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-682.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-671.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-660.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-649.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="233" y="-638.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="233" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
+<polygon fill="#ffffff" stroke="#000000" points="225,-948.5 225,-1126.5 338,-1126.5 338,-948.5 225,-948.5"/>
+<text text-anchor="start" x="233" y="-1114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="281.5" y="-1103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::tir::Stmt &gt;</text>
+<polyline fill="none" stroke="#000000" points="225,-1096.5 338,-1096.5 "/>
+<text text-anchor="middle" x="281.5" y="-1084.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="225,-1077.5 338,-1077.5 "/>
+<text text-anchor="start" x="233" y="-1065.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1054.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1043.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1032.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1021.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-1010.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-999.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-988.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-977.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="233" y="-966.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="233" y="-955.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node5 -->
 <g id="edge5" class="edge">
 <title>Node8&#45;&gt;Node5</title>
-<path fill="none" stroke="#404040" d="M224.9775,-627.8327C221.9124,-625.0503 218.7508,-622.4227 215.5,-620 196.5625,-605.8863 179.5367,-620.9947 165.5,-602 133.2299,-558.3317 139.3986,-400.8187 145.1903,-317.8916"/>
-<polygon fill="none" stroke="#404040" points="145.2038,-317.704 141.6494,-311.4298 146.074,-305.7356 149.6284,-312.0099 145.2038,-317.704"/>
-<text text-anchor="middle" x="185.5" y="-504.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +stmts</text>
+<path fill="none" stroke="#404040" d="M261.7887,-948.3127C246.1374,-877.4952 224.8031,-780.9638 211.8748,-722.4674"/>
+<polygon fill="none" stroke="#404040" points="211.8384,-722.3024 206.6378,-717.307 209.2487,-710.5851 214.4493,-715.5805 211.8384,-722.3024"/>
+<text text-anchor="middle" x="278.5" y="-832.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +stmts</text>
 </g>
 <!-- Node9 -->
 <g id="node6" class="node">
 <title>Node9</title>
 <g id="a_node6"><a xlink:href="classtvm_1_1runtime_1_1ObjectRef.html" target="_top" xlink:title="Base class of all object reference. ">
-<polygon fill="#ffffff" stroke="#000000" points="370.5,-919 370.5,-1141 504.5,-1141 504.5,-919 370.5,-919"/>
-<text text-anchor="middle" x="437.5" y="-1129" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
-<polyline fill="none" stroke="#000000" points="370.5,-1122 504.5,-1122 "/>
-<text text-anchor="start" x="378.5" y="-1110" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
-<polyline fill="none" stroke="#000000" points="370.5,-1103 504.5,-1103 "/>
-<text text-anchor="start" x="378.5" y="-1091" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="378.5" y="-1080" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="378.5" y="-1069" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
-<text text-anchor="start" x="378.5" y="-1058" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="378.5" y="-1047" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
-<text text-anchor="start" x="378.5" y="-1036" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
-<text text-anchor="start" x="378.5" y="-1025" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
-<text text-anchor="start" x="378.5" y="-1014" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="378.5" y="-1003" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="378.5" y="-992" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
-<text text-anchor="start" x="378.5" y="-981" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
-<text text-anchor="start" x="378.5" y="-970" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
-<text text-anchor="start" x="378.5" y="-959" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
-<text text-anchor="start" x="378.5" y="-948" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
-<text text-anchor="start" x="378.5" y="-937" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
-<text text-anchor="start" x="378.5" y="-926" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
+<polygon fill="#ffffff" stroke="#000000" points="471.5,-1247 471.5,-1469 605.5,-1469 605.5,-1247 471.5,-1247"/>
+<text text-anchor="middle" x="538.5" y="-1457" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
+<polyline fill="none" stroke="#000000" points="471.5,-1450 605.5,-1450 "/>
+<text text-anchor="start" x="479.5" y="-1438" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
+<polyline fill="none" stroke="#000000" points="471.5,-1431 605.5,-1431 "/>
+<text text-anchor="start" x="479.5" y="-1419" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
+<text text-anchor="start" x="479.5" y="-1408" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
+<text text-anchor="start" x="479.5" y="-1397" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
+<text text-anchor="start" x="479.5" y="-1386" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="479.5" y="-1375" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="479.5" y="-1364" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
+<text text-anchor="start" x="479.5" y="-1353" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
+<text text-anchor="start" x="479.5" y="-1342" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="479.5" y="-1331" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="479.5" y="-1320" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="479.5" y="-1309" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
+<text text-anchor="start" x="479.5" y="-1298" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
+<text text-anchor="start" x="479.5" y="-1287" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
+<text text-anchor="start" x="479.5" y="-1276" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
+<text text-anchor="start" x="479.5" y="-1265" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
+<text text-anchor="start" x="479.5" y="-1254" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node8 -->
 <g id="edge6" class="edge">
 <title>Node9&#45;&gt;Node8</title>
-<path fill="none" stroke="#191970" d="M378.8542,-909.513C360.9331,-872.6944 341.557,-832.8864 324.845,-798.5518"/>
-<polygon fill="none" stroke="#191970" points="375.853,-911.3445 383.3766,-918.8041 382.147,-908.2809 375.853,-911.3445"/>
+<path fill="none" stroke="#191970" d="M464.7035,-1271.0802C428.7688,-1228.17 385.2722,-1175.3537 347.5,-1127 344.4099,-1123.0443 341.2667,-1118.9689 338.1131,-1114.8389"/>
+<polygon fill="none" stroke="#191970" points="462.2151,-1273.5599 471.3222,-1278.9739 467.579,-1269.0623 462.2151,-1273.5599"/>
 </g>
-<!-- Node11 -->
-<g id="node8" class="node">
-<title>Node11</title>
-<g id="a_node8"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::PrimExpr \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 25 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="215,-418 215,-596 328,-596 328,-418 215,-418"/>
-<text text-anchor="start" x="223" y="-584" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="271.5" y="-573" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::PrimExpr &gt;</text>
-<polyline fill="none" stroke="#000000" points="215,-566 328,-566 "/>
-<text text-anchor="middle" x="271.5" y="-554" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="215,-547 328,-547 "/>
-<text text-anchor="start" x="223" y="-535" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="223" y="-524" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="223" y="-513" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="223" y="-502" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="223" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="223" y="-480" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="223" y="-469" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="223" y="-458" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="223" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="223" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="223" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
-</a>
-</g>
-</g>
-<!-- Node9&#45;&gt;Node11 -->
-<g id="edge9" class="edge">
-<title>Node9&#45;&gt;Node11</title>
-<path fill="none" stroke="#191970" d="M425.8742,-908.538C414.2022,-824.1797 391.213,-711.03 346.5,-620 341.9089,-610.653 337.627,-610.4205 331.5,-602 330.1227,-600.1072 328.7428,-598.1831 327.3633,-596.2348"/>
-<polygon fill="none" stroke="#191970" points="422.4368,-909.2371 427.2423,-918.6795 429.3739,-908.3013 422.4368,-909.2371"/>
-</g>
-<!-- Node12 -->
-<g id="node9" class="node">
-<title>Node12</title>
-<g id="a_node9"><a xlink:href="classtvm_1_1tir_1_1Buffer.html" target="_top" xlink:title="Buffer is a symbolic n&#45;darray structure. It is a composition of primitive symbolic types...">
-<polygon fill="#ffffff" stroke="#000000" points="333.5,-412.5 333.5,-601.5 487.5,-601.5 487.5,-412.5 333.5,-412.5"/>
-<text text-anchor="middle" x="410.5" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::Buffer</text>
-<polyline fill="none" stroke="#000000" points="333.5,-582.5 487.5,-582.5 "/>
-<text text-anchor="middle" x="410.5" y="-570.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="333.5,-563.5 487.5,-563.5 "/>
-<text text-anchor="start" x="341.5" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Buffer()</text>
-<text text-anchor="start" x="341.5" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ MakeStrideView()</text>
-<text text-anchor="start" x="341.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ MakeSlice()</text>
-<text text-anchor="start" x="341.5" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ access_ptr()</text>
-<text text-anchor="start" x="341.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ vload()</text>
-<text text-anchor="start" x="341.5" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ vstore()</text>
-<text text-anchor="start" x="341.5" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetFlattenedBuffer()</text>
-<text text-anchor="start" x="341.5" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ OffsetOf()</text>
-<text text-anchor="start" x="341.5" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ scope()</text>
-<text text-anchor="start" x="341.5" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="341.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
-<text text-anchor="start" x="341.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="341.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_COW_METHOD()</text>
+<!-- Node13 -->
+<g id="node10" class="node">
+<title>Node13</title>
+<g id="a_node10"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode. ">
+<polygon fill="#ffffff" stroke="#000000" points="356.5,-1003.5 356.5,-1071.5 510.5,-1071.5 510.5,-1003.5 356.5,-1003.5"/>
+<text text-anchor="middle" x="433.5" y="-1059.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExpr</text>
+<polyline fill="none" stroke="#000000" points="356.5,-1052.5 510.5,-1052.5 "/>
+<text text-anchor="middle" x="433.5" y="-1040.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="356.5,-1033.5 510.5,-1033.5 "/>
+<text text-anchor="start" x="364.5" y="-1021.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="364.5" y="-1010.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
 </a>
 </g>
 </g>
-<!-- Node9&#45;&gt;Node12 -->
+<!-- Node9&#45;&gt;Node13 -->
 <g id="edge11" class="edge">
-<title>Node9&#45;&gt;Node12</title>
-<path fill="none" stroke="#191970" d="M429.777,-908.6241C427.6276,-873.2823 425.3714,-834.6047 423.5,-799 420.0375,-733.1229 416.7392,-658.8531 414.3313,-601.7025"/>
-<polygon fill="none" stroke="#191970" points="426.3067,-909.2185 430.4099,-918.9865 433.2937,-908.7917 426.3067,-909.2185"/>
+<title>Node9&#45;&gt;Node13</title>
+<path fill="none" stroke="#191970" d="M498.8576,-1236.9964C479.4677,-1177.811 457.5844,-1111.0148 444.698,-1071.6805"/>
+<polygon fill="none" stroke="#191970" points="495.6313,-1238.3908 502.0708,-1246.8041 502.2835,-1236.2114 495.6313,-1238.3908"/>
 </g>
 <!-- Node14 -->
 <g id="node11" class="node">
 <title>Node14</title>
-<g id="a_node11"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode. ">
-<polygon fill="#ffffff" stroke="#000000" points="432.5,-675.5 432.5,-743.5 586.5,-743.5 586.5,-675.5 432.5,-675.5"/>
-<text text-anchor="middle" x="509.5" y="-731.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::BaseExpr</text>
-<polyline fill="none" stroke="#000000" points="432.5,-724.5 586.5,-724.5 "/>
-<text text-anchor="middle" x="509.5" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="432.5,-705.5 586.5,-705.5 "/>
-<text text-anchor="start" x="440.5" y="-693.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="440.5" y="-682.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+<g id="a_node11"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::PrimExpr \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 25 more...\l}">
+<polygon fill="#ffffff" stroke="#000000" points="470,-746 470,-924 583,-924 583,-746 470,-746"/>
+<text text-anchor="start" x="478" y="-912" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="526.5" y="-901" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::PrimExpr &gt;</text>
+<polyline fill="none" stroke="#000000" points="470,-894 583,-894 "/>
+<text text-anchor="middle" x="526.5" y="-882" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="470,-875 583,-875 "/>
+<text text-anchor="start" x="478" y="-863" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="478" y="-852" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="478" y="-841" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="478" y="-830" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="478" y="-819" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="478" y="-808" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="478" y="-797" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="478" y="-786" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="478" y="-775" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="478" y="-764" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="478" y="-753" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node14 -->
-<g id="edge14" class="edge">
+<g id="edge13" class="edge">
 <title>Node9&#45;&gt;Node14</title>
-<path fill="none" stroke="#191970" d="M464.6833,-908.9964C477.9793,-849.811 492.985,-783.0148 501.8214,-743.6805"/>
-<polygon fill="none" stroke="#191970" points="461.2571,-908.2801 462.48,-918.8041 468.0869,-909.8145 461.2571,-908.2801"/>
+<path fill="none" stroke="#191970" d="M535.7117,-1236.4788C533.5223,-1141.057 530.5239,-1010.3764 528.5507,-924.3779"/>
+<polygon fill="none" stroke="#191970" points="532.2192,-1236.8481 535.9478,-1246.7652 539.2174,-1236.6875 532.2192,-1236.8481"/>
 </g>
 <!-- Node15 -->
 <g id="node12" class="node">
 <title>Node15</title>
 <g id="a_node12"><a xlink:href="classtvm_1_1runtime_1_1Map.html" target="_top" xlink:title="{tvm::runtime::Map\&lt;\l tvm::runtime::String,\l tvm::runtime::ObjectRef \&gt;\n||+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ Map()\l+ operator=()\l+ operator=()\l+ at()\land 12 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="532.5,-412.5 532.5,-601.5 680.5,-601.5 680.5,-412.5 532.5,-412.5"/>
-<text text-anchor="start" x="540.5" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Map&lt;</text>
-<text text-anchor="start" x="540.5" y="-578.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::runtime::String,</text>
-<text text-anchor="middle" x="606.5" y="-567.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::runtime::ObjectRef &gt;</text>
-<polyline fill="none" stroke="#000000" points="532.5,-560.5 680.5,-560.5 "/>
-<text text-anchor="middle" x="606.5" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="532.5,-541.5 680.5,-541.5 "/>
-<text text-anchor="start" x="540.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="540.5" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="540.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="540.5" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="540.5" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="540.5" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="540.5" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
-<text text-anchor="start" x="540.5" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="540.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="540.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ at()</text>
-<text text-anchor="start" x="540.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 12 more...</text>
+<polygon fill="#ffffff" stroke="#000000" points="558.5,-412.5 558.5,-601.5 706.5,-601.5 706.5,-412.5 558.5,-412.5"/>
+<text text-anchor="start" x="566.5" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Map&lt;</text>
+<text text-anchor="start" x="566.5" y="-578.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::runtime::String,</text>
+<text text-anchor="middle" x="632.5" y="-567.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> tvm::runtime::ObjectRef &gt;</text>
+<polyline fill="none" stroke="#000000" points="558.5,-560.5 706.5,-560.5 "/>
+<text text-anchor="middle" x="632.5" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="558.5,-541.5 706.5,-541.5 "/>
+<text text-anchor="start" x="566.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="566.5" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="566.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="566.5" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="566.5" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="566.5" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="566.5" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Map()</text>
+<text text-anchor="start" x="566.5" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="566.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="566.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ at()</text>
+<text text-anchor="start" x="566.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 12 more...</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node15 -->
 <g id="edge16" class="edge">
 <title>Node9&#45;&gt;Node15</title>
-<path fill="none" stroke="#191970" d="M510.7383,-947.6031C543.0338,-906.0517 577.6538,-853.0746 595.5,-799 616.447,-735.5299 618.7468,-660.0494 616.0448,-601.7316"/>
-<polygon fill="none" stroke="#191970" points="507.9636,-945.4694 504.5282,-955.4918 513.4638,-949.7993 507.9636,-945.4694"/>
+<path fill="none" stroke="#191970" d="M554.3824,-1236.7781C565.3897,-1151.1367 580.0643,-1033.622 591.5,-930 603.9436,-817.2453 616.2291,-687.3508 624.058,-601.5753"/>
+<polygon fill="none" stroke="#191970" points="550.898,-1236.433 553.0926,-1246.798 557.8407,-1237.3267 550.898,-1236.433"/>
 </g>
 <!-- Node16 -->
 <g id="node13" class="node">
 <title>Node16</title>
 <g id="a_node13"><a xlink:href="classtvm_1_1runtime_1_1String.html" target="_top" xlink:title="Reference to string objects. ">
-<polygon fill="#ffffff" stroke="#000000" points="685.5,-412.5 685.5,-601.5 801.5,-601.5 801.5,-412.5 685.5,-412.5"/>
-<text text-anchor="middle" x="743.5" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::String</text>
-<polyline fill="none" stroke="#000000" points="685.5,-582.5 801.5,-582.5 "/>
-<text text-anchor="middle" x="743.5" y="-570.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="685.5,-563.5 801.5,-563.5 "/>
-<text text-anchor="start" x="693.5" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="693.5" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="693.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="693.5" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
-<text text-anchor="start" x="693.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="693.5" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="693.5" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
-<text text-anchor="start" x="693.5" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
-<text text-anchor="start" x="693.5" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
-<text text-anchor="start" x="693.5" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
-<text text-anchor="start" x="693.5" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
-<text text-anchor="start" x="693.5" y="-430.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
-<text text-anchor="start" x="693.5" y="-419.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
+<polygon fill="#ffffff" stroke="#000000" points="648.5,-740.5 648.5,-929.5 764.5,-929.5 764.5,-740.5 648.5,-740.5"/>
+<text text-anchor="middle" x="706.5" y="-917.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::String</text>
+<polyline fill="none" stroke="#000000" points="648.5,-910.5 764.5,-910.5 "/>
+<text text-anchor="middle" x="706.5" y="-898.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="648.5,-891.5 764.5,-891.5 "/>
+<text text-anchor="start" x="656.5" y="-879.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
+<text text-anchor="start" x="656.5" y="-868.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
+<text text-anchor="start" x="656.5" y="-857.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
+<text text-anchor="start" x="656.5" y="-846.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ String()</text>
+<text text-anchor="start" x="656.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="656.5" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
+<text text-anchor="start" x="656.5" y="-813.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
+<text text-anchor="start" x="656.5" y="-802.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
+<text text-anchor="start" x="656.5" y="-791.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ compare()</text>
+<text text-anchor="start" x="656.5" y="-780.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ c_str()</text>
+<text text-anchor="start" x="656.5" y="-769.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 6 more...</text>
+<text text-anchor="start" x="656.5" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ CanConvertFrom()</text>
+<text text-anchor="start" x="656.5" y="-747.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ HashBytes()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node16 -->
 <g id="edge18" class="edge">
 <title>Node9&#45;&gt;Node16</title>
-<path fill="none" stroke="#191970" d="M511.2794,-948.2042C547.2139,-905.7123 589.287,-851.7479 620.5,-799 657.6179,-736.2732 689.2631,-660.2554 711.1573,-601.5086"/>
-<polygon fill="none" stroke="#191970" points="508.4594,-946.1176 504.6451,-956.002 513.7909,-950.6536 508.4594,-946.1176"/>
+<path fill="none" stroke="#191970" d="M598.792,-1237.4859C612.0845,-1208.0288 625.2419,-1176.2661 635.5,-1146 659.5885,-1074.9283 678.068,-991.9644 690.1278,-929.6084"/>
+<polygon fill="none" stroke="#191970" points="595.4349,-1236.4128 594.475,-1246.9641 601.8052,-1239.3144 595.4349,-1236.4128"/>
 </g>
 <!-- Node10 -->
 <g id="node7" class="node">
 <title>Node10</title>
 <g id="a_node7"><a xlink:href="classtvm_1_1runtime_1_1ObjectPtr.html" target="_top" xlink:title="{tvm::runtime::ObjectPtr\l\&lt; tvm::runtime::Object \&gt;\n||+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ~ObjectPtr()\l+ swap()\l+ get()\l+ operator&#45;\&gt;()\land 11 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="367.5,-1271.5 367.5,-1449.5 507.5,-1449.5 507.5,-1271.5 367.5,-1271.5"/>
-<text text-anchor="start" x="375.5" y="-1437.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
-<text text-anchor="middle" x="437.5" y="-1426.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
-<polyline fill="none" stroke="#000000" points="367.5,-1419.5 507.5,-1419.5 "/>
-<text text-anchor="middle" x="437.5" y="-1407.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="367.5,-1400.5 507.5,-1400.5 "/>
-<text text-anchor="start" x="375.5" y="-1388.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="375.5" y="-1377.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="375.5" y="-1366.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="375.5" y="-1355.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="375.5" y="-1344.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="375.5" y="-1333.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="375.5" y="-1322.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
-<text text-anchor="start" x="375.5" y="-1311.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
-<text text-anchor="start" x="375.5" y="-1300.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="375.5" y="-1289.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="375.5" y="-1278.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
+<polygon fill="#ffffff" stroke="#000000" points="468.5,-1599.5 468.5,-1777.5 608.5,-1777.5 608.5,-1599.5 468.5,-1599.5"/>
+<text text-anchor="start" x="476.5" y="-1765.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
+<text text-anchor="middle" x="538.5" y="-1754.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
+<polyline fill="none" stroke="#000000" points="468.5,-1747.5 608.5,-1747.5 "/>
+<text text-anchor="middle" x="538.5" y="-1735.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="468.5,-1728.5 608.5,-1728.5 "/>
+<text text-anchor="start" x="476.5" y="-1716.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1705.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1694.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1683.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1672.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1661.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1650.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
+<text text-anchor="start" x="476.5" y="-1639.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
+<text text-anchor="start" x="476.5" y="-1628.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="476.5" y="-1617.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="476.5" y="-1606.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node9 -->
 <g id="edge7" class="edge">
 <title>Node10&#45;&gt;Node9</title>
-<path fill="none" stroke="#404040" d="M437.5,-1271.4973C437.5,-1235.1115 437.5,-1192.409 437.5,-1153.1129"/>
-<polygon fill="none" stroke="#404040" points="437.5001,-1153.0376 433.5,-1147.0377 437.5,-1141.0376 441.5,-1147.0376 437.5001,-1153.0376"/>
-<text text-anchor="middle" x="457" y="-1245" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
+<path fill="none" stroke="#404040" d="M538.5,-1599.4973C538.5,-1563.1115 538.5,-1520.409 538.5,-1481.1129"/>
+<polygon fill="none" stroke="#404040" points="538.5001,-1481.0376 534.5,-1475.0377 538.5,-1469.0376 542.5,-1475.0376 538.5001,-1481.0376"/>
+<text text-anchor="middle" x="558" y="-1573" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
+</g>
+<!-- Node11 -->
+<g id="node8" class="node">
+<title>Node11</title>
+<g id="a_node8"><a xlink:href="classtvm_1_1tir_1_1Var.html" target="_top" xlink:title="a named variable in TIR ">
+<polygon fill="#ffffff" stroke="#000000" points="358.5,-204.5 358.5,-327.5 476.5,-327.5 476.5,-204.5 358.5,-204.5"/>
+<text text-anchor="middle" x="417.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::Var</text>
+<polyline fill="none" stroke="#000000" points="358.5,-308.5 476.5,-308.5 "/>
+<text text-anchor="middle" x="417.5" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="358.5,-289.5 476.5,-289.5 "/>
+<text text-anchor="start" x="366.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Var()</text>
+<text text-anchor="start" x="366.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Var()</text>
+<text text-anchor="start" x="366.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Var()</text>
+<text text-anchor="start" x="366.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ copy_with_suffix()</text>
+<text text-anchor="start" x="366.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ copy_with_dtype()</text>
+<text text-anchor="start" x="366.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="366.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+</a>
+</g>
 </g>
 <!-- Node11&#45;&gt;Node4 -->
 <g id="edge8" class="edge">
 <title>Node11&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M269.1205,-417.9521C268.326,-323.3196 272.639,-181.4458 303.5,-138 325.1211,-107.562 359.1643,-86.9692 393.3951,-73.1091"/>
-<polygon fill="none" stroke="#404040" points="393.7886,-72.9582 397.9589,-67.0754 404.9933,-68.6623 400.8229,-74.5451 393.7886,-72.9582"/>
-<text text-anchor="middle" x="328" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +extents</text>
+<path fill="none" stroke="#404040" d="M411.4175,-204.1244C411.0684,-173.9311 414.7019,-137.9696 429.5,-109 431.0122,-106.0396 432.7287,-103.1621 434.6096,-100.3718"/>
+<polygon fill="none" stroke="#404040" points="434.7595,-100.1765 435.2413,-92.9815 442.0681,-90.6588 441.5864,-97.8538 434.7595,-100.1765"/>
+<text text-anchor="middle" x="460" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +buffer_var</text>
+</g>
+<!-- Node12 -->
+<g id="node9" class="node">
+<title>Node12</title>
+<g id="a_node9"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode. ">
+<polygon fill="#ffffff" stroke="#000000" points="322.5,-620.5 322.5,-721.5 476.5,-721.5 476.5,-620.5 322.5,-620.5"/>
+<text text-anchor="middle" x="399.5" y="-709.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrimExpr</text>
+<polyline fill="none" stroke="#000000" points="322.5,-702.5 476.5,-702.5 "/>
+<text text-anchor="middle" x="399.5" y="-690.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="322.5,-683.5 476.5,-683.5 "/>
+<text text-anchor="start" x="330.5" y="-671.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
+<text text-anchor="start" x="330.5" y="-660.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
+<text text-anchor="start" x="330.5" y="-649.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype()</text>
+<text text-anchor="start" x="330.5" y="-638.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="330.5" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+</a>
+</g>
 </g>
 <!-- Node12&#45;&gt;Node4 -->
-<g id="edge10" class="edge">
+<g id="edge14" class="edge">
 <title>Node12&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M377.6308,-412.2461C356.5009,-334.3782 340.2604,-223.3839 383.5,-138 391.0964,-122.9996 402.3969,-109.8417 415.1633,-98.5131"/>
-<polygon fill="none" stroke="#404040" points="415.4628,-98.2638 417.5157,-91.3511 424.6863,-90.5873 422.6334,-97.5 415.4628,-98.2638"/>
-<text text-anchor="middle" x="403.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +buffer</text>
+<path fill="none" stroke="#404040" d="M366.765,-620.4754C306.2458,-520.048 191.8174,-291.779 292.5,-138 314.4275,-104.5087 351.4244,-83.0745 388.4296,-69.3856"/>
+<polygon fill="none" stroke="#404040" points="388.5684,-69.3372 392.9143,-63.5828 399.8976,-65.3812 395.5516,-71.1356 388.5684,-69.3372"/>
+<text text-anchor="middle" x="321" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +condition</text>
 </g>
-<!-- Node13 -->
-<g id="node10" class="node">
-<title>Node13</title>
-<g id="a_node10"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode. ">
-<polygon fill="#ffffff" stroke="#000000" points="432.5,-215.5 432.5,-316.5 586.5,-316.5 586.5,-215.5 432.5,-215.5"/>
-<text text-anchor="middle" x="509.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::PrimExpr</text>
-<polyline fill="none" stroke="#000000" points="432.5,-297.5 586.5,-297.5 "/>
-<text text-anchor="middle" x="509.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="432.5,-278.5 586.5,-278.5 "/>
-<text text-anchor="start" x="440.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
-<text text-anchor="start" x="440.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ PrimExpr()</text>
-<text text-anchor="start" x="440.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype()</text>
-<text text-anchor="start" x="440.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="440.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
-</a>
+<!-- Node12&#45;&gt;Node11 -->
+<g id="edge9" class="edge">
+<title>Node12&#45;&gt;Node11</title>
+<path fill="none" stroke="#191970" d="M402.2235,-609.7204C405.6128,-533.4621 411.3671,-403.9898 414.7627,-327.5882"/>
+<polygon fill="none" stroke="#191970" points="398.709,-609.971 401.7615,-620.1166 405.7021,-610.2819 398.709,-609.971"/>
 </g>
+<!-- Node13&#45;&gt;Node12 -->
+<g id="edge10" class="edge">
+<title>Node13&#45;&gt;Node12</title>
+<path fill="none" stroke="#191970" d="M429.4026,-993.3328C423.0601,-924.9639 410.8998,-793.8835 404.2061,-721.729"/>
+<polygon fill="none" stroke="#191970" points="425.923,-993.7158 430.3319,-1003.3497 432.8931,-993.0691 425.923,-993.7158"/>
 </g>
-<!-- Node13&#45;&gt;Node4 -->
+<!-- Node14&#45;&gt;Node4 -->
 <g id="edge12" class="edge">
-<title>Node13&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M509.5,-215.4128C509.5,-181.8938 509.5,-137.8458 509.5,-102.9978"/>
-<polygon fill="none" stroke="#404040" points="509.5001,-102.6119 505.5,-96.6119 509.5,-90.6119 513.5,-96.6119 509.5001,-102.6119"/>
-<text text-anchor="middle" x="538" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +condition</text>
-</g>
-<!-- Node14&#45;&gt;Node13 -->
-<g id="edge13" class="edge">
-<title>Node14&#45;&gt;Node13</title>
-<path fill="none" stroke="#191970" d="M509.5,-665.3495C509.5,-582.5508 509.5,-404.4264 509.5,-316.7974"/>
-<polygon fill="none" stroke="#191970" points="506.0001,-665.4357 509.5,-675.4357 513.0001,-665.4357 506.0001,-665.4357"/>
+<title>Node14&#45;&gt;Node4</title>
+<path fill="none" stroke="#404040" d="M514.2018,-745.8506C508.827,-702.5285 503.1504,-649.65 500.5,-602 490.3657,-419.7987 497.3625,-203.5315 501.7287,-102.6412"/>
+<polygon fill="none" stroke="#404040" points="501.7296,-102.6184 497.9986,-96.4475 502.2599,-90.6301 505.9908,-96.801 501.7296,-102.6184"/>
+<text text-anchor="middle" x="525" y="-504.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +extents</text>
 </g>
 <!-- Node15&#45;&gt;Node4 -->
 <g id="edge15" class="edge">
 <title>Node15&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M620.661,-412.2088C628.1705,-335.5596 629.7986,-226.2646 595.5,-138 590.2259,-124.4275 581.9012,-111.6723 572.4635,-100.2235"/>
-<polygon fill="none" stroke="#404040" points="572.2243,-99.9506 565.2618,-98.0736 564.3165,-90.9247 571.2791,-92.8017 572.2243,-99.9506"/>
-<text text-anchor="middle" x="660.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +annotations</text>
+<path fill="none" stroke="#404040" d="M606.2884,-412.495C580.427,-319.2524 541.7402,-179.7682 520.276,-102.3799"/>
+<polygon fill="none" stroke="#404040" points="520.1909,-102.0728 514.7328,-97.3601 516.9836,-90.5093 522.4418,-95.222 520.1909,-102.0728"/>
+<text text-anchor="middle" x="635.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +annotations</text>
 </g>
 <!-- Node16&#45;&gt;Node4 -->
 <g id="edge17" class="edge">
 <title>Node16&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M736.9041,-412.172C729.0789,-310.2912 715.1111,-159.9503 699.5,-138 681.2112,-112.2847 653.7638,-93.4074 625.3765,-79.6761"/>
-<polygon fill="none" stroke="#404040" points="625.3712,-79.6737 618.249,-80.8022 614.4679,-74.6618 621.5902,-73.5333 625.3712,-79.6737"/>
-<text text-anchor="middle" x="775.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +storage_scope</text>
+<path fill="none" stroke="#404040" d="M714.0104,-740.2145C725.3708,-572.8175 739.2836,-233.4764 674.5,-138 660.7192,-117.6902 640.9617,-101.4396 619.7602,-88.5852"/>
+<polygon fill="none" stroke="#404040" points="619.6587,-88.5269 612.4634,-89.0034 609.2561,-82.5448 616.4514,-82.0683 619.6587,-88.5269"/>
+<text text-anchor="middle" x="764.5" y="-504.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +storage_scope</text>
 </g>
 <!-- Node17 -->
 <g id="node14" class="node">
 <title>Node17</title>
 <g id="a_node14"><a xlink:href="classtvm_1_1runtime_1_1DataType.html" target="_top" xlink:title="Runtime primitive data type. ">
-<polygon fill="#ffffff" stroke="#000000" points="828.5,-138.5 828.5,-393.5 960.5,-393.5 960.5,-138.5 828.5,-138.5"/>
-<text text-anchor="middle" x="894.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::DataType</text>
-<polyline fill="none" stroke="#000000" points="828.5,-374.5 960.5,-374.5 "/>
-<text text-anchor="middle" x="894.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="828.5,-355.5 960.5,-355.5 "/>
-<text text-anchor="start" x="836.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
-<text text-anchor="start" x="836.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
-<text text-anchor="start" x="836.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
-<text text-anchor="start" x="836.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ code()</text>
-<text text-anchor="start" x="836.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ bits()</text>
-<text text-anchor="start" x="836.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ bytes()</text>
-<text text-anchor="start" x="836.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ lanes()</text>
-<text text-anchor="start" x="836.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_scalar()</text>
-<text text-anchor="start" x="836.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_bool()</text>
-<text text-anchor="start" x="836.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_float()</text>
-<text text-anchor="start" x="836.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 15 more...</text>
-<text text-anchor="start" x="836.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Int()</text>
-<text text-anchor="start" x="836.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ UInt()</text>
-<text text-anchor="start" x="836.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Float()</text>
-<text text-anchor="start" x="836.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ BFloat()</text>
-<text text-anchor="start" x="836.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Bool()</text>
-<text text-anchor="start" x="836.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Handle()</text>
-<text text-anchor="start" x="836.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Void()</text>
-<text text-anchor="start" x="836.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ShapeIndex()</text>
+<polygon fill="#ffffff" stroke="#000000" points="757.5,-138.5 757.5,-393.5 889.5,-393.5 889.5,-138.5 757.5,-138.5"/>
+<text text-anchor="middle" x="823.5" y="-381.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::DataType</text>
+<polyline fill="none" stroke="#000000" points="757.5,-374.5 889.5,-374.5 "/>
+<text text-anchor="middle" x="823.5" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="757.5,-355.5 889.5,-355.5 "/>
+<text text-anchor="start" x="765.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
+<text text-anchor="start" x="765.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
+<text text-anchor="start" x="765.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ DataType()</text>
+<text text-anchor="start" x="765.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ code()</text>
+<text text-anchor="start" x="765.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ bits()</text>
+<text text-anchor="start" x="765.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ bytes()</text>
+<text text-anchor="start" x="765.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ lanes()</text>
+<text text-anchor="start" x="765.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_scalar()</text>
+<text text-anchor="start" x="765.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_bool()</text>
+<text text-anchor="start" x="765.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ is_float()</text>
+<text text-anchor="start" x="765.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 15 more...</text>
+<text text-anchor="start" x="765.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Int()</text>
+<text text-anchor="start" x="765.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ UInt()</text>
+<text text-anchor="start" x="765.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Float()</text>
+<text text-anchor="start" x="765.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ BFloat()</text>
+<text text-anchor="start" x="765.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Bool()</text>
+<text text-anchor="start" x="765.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Handle()</text>
+<text text-anchor="start" x="765.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Void()</text>
+<text text-anchor="start" x="765.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ShapeIndex()</text>
 </a>
 </g>
 </g>
 <!-- Node17&#45;&gt;Node4 -->
 <g id="edge19" class="edge">
 <title>Node17&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M828.354,-151.1178C823.9398,-146.4473 819.3203,-142.0399 814.5,-138 761.6221,-93.6828 687.8992,-70.5923 626.1809,-58.5645"/>
-<polygon fill="none" stroke="#404040" points="625.8053,-58.4948 619.1757,-61.3318 614.007,-56.3034 620.6366,-53.4663 625.8053,-58.4948"/>
-<text text-anchor="middle" x="806.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +dtype</text>
+<path fill="none" stroke="#404040" d="M771.0403,-138.347C762.9936,-127.4179 753.8506,-117.3635 743.5,-109 723.8274,-93.1041 671.6373,-78.3894 621.0287,-67.1357"/>
+<polygon fill="none" stroke="#404040" points="620.9723,-67.1235 614.2586,-69.7551 609.2472,-64.5699 615.9609,-61.9383 620.9723,-67.1235"/>
+<text text-anchor="middle" x="773.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +dtype</text>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__inherit__graph.svg
index ef28147b49..95adec0a59 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode__inherit__graph.svg
@@ -21,7 +21,7 @@
 <text text-anchor="start" x="8" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ storage_scope</text>
 <text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ condition</text>
 <text text-anchor="start" x="8" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ annotations</text>
-<text text-anchor="start" x="8" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="8" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer_var</text>
 <text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="0,-41.5 209,-41.5 "/>
 <text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode-members.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode-members.html
index 7128ab4e3a..7ebd9d110d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode-members.html
@@ -79,38 +79,39 @@ $(function() {
   <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#af6aed95d70af7e44ce376a8d7be6c5f1">_type_index</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a05db88b0ab1b6f2d69f86a367c6403af">_type_key</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a08e6e65098b35e2908e774de3ab970f3">AddCallback</a>(runtime::TypedPackedFunc&lt; void()&gt; callback)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a573cf6a08a4d6c55548308b77469b3fc">buffer</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#aa21f554fdcf6ab78c55cb54cdc69c0c2">callbacks</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a70fb5361147634605d6595bb89381f03">DecRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#af4407d2b59132e803ff791482dbe0145">deleter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#ab3aaced994da313ebabad6b955332f14">EnterWithScope</a>()</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a2c38ca68ceb49e11097dd80393e40da1">ExitWithScope</a>() final</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a9e84841ca982bff376a978ade0132631">FDeleter</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a726972ff315c446192df94027ddea032">GetOrAllocRuntimeTypeIndex</a>(const std::string &amp;key, uint32_t static_tindex, uint32_t parent_tindex, uint32_t type_child_slots, bool type_child_slots_can_overflow)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a4d951e51832081b85875669eac90e940">GetTypeKey</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a5693cbadcc1168b96db7b1cc5c200b86">GetTypeKeyHash</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ac9e5eed7719e322117bde996a171e33a">IncRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a90e90b3f4ba8a590baff78c75807bbc7">IsInstance</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a133436a9ec5c4a768b94102bf95a660b">Object</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ab7968feb6ad38ecaffc320e13819d826">Object</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#aa1612f69ea5b4225d4cda759cd517323">Object</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">operator=</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ae341e561272ff43cdcbc927bc29ac50d">operator=</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a0d492efee331e2239a093f4b2017c10f">ref_counter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a55549a6c23987890246248682560a03d">RefCounterType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ad94d79729ac85aa7c976e23d39066383">RuntimeTypeIndex</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a13776bb5c2e5403138fbee06d4fdad40">stmts</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html">tvm::script::ir_builder::tir::TIRFrameNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a4caa65dc8a549ed58fcb1d47964734d8">TVM_DECLARE_BASE_OBJECT_INFO</a>(TIRFrameNode, IRBuilderFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html">tvm::script::ir_builder::tir::TIRFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a290e180b9b57d3e133874fc0343a0453">tvm::script::ir_builder::IRBuilderFrameNode::TVM_DECLARE_BASE_OBJECT_INFO</a>(IRBuilderFrameNode, runtime::Object)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a6c8c6cc5c627cd29cc5eea3f4a6c8d80">TVM_DECLARE_FINAL_OBJECT_INFO</a>(DeclBufferFrameNode, TIRFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a481f01923b14e1851ebd38506e9c66ea">type_index</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a4bfc2586cb55f2af47728187b3256255">type_index_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">TypeIndex2Key</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6ee32a02dd44257da105fbbe5d9c8622">TypeIndex2KeyHash</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6841f97e06e6614dd7e82c6dd41b818a">TypeKey2Index</a>(const std::string &amp;key)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a5284f329953ea259af3028144968fdcd">VisitAttrs</a>(tvm::AttrVisitor *v)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a8e61799eac4e806aef5a87d07943883d">~IRBuilderFrameNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a71f494b77cd89321bcd2d9bb7c7835e0">allocated</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a573cf6a08a4d6c55548308b77469b3fc">buffer</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#aa21f554fdcf6ab78c55cb54cdc69c0c2">callbacks</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a70fb5361147634605d6595bb89381f03">DecRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#af4407d2b59132e803ff791482dbe0145">deleter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#ab3aaced994da313ebabad6b955332f14">EnterWithScope</a>()</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a2c38ca68ceb49e11097dd80393e40da1">ExitWithScope</a>() final</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a9e84841ca982bff376a978ade0132631">FDeleter</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a726972ff315c446192df94027ddea032">GetOrAllocRuntimeTypeIndex</a>(const std::string &amp;key, uint32_t static_tindex, uint32_t parent_tindex, uint32_t type_child_slots, bool type_child_slots_can_overflow)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span [...]
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a4d951e51832081b85875669eac90e940">GetTypeKey</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a5693cbadcc1168b96db7b1cc5c200b86">GetTypeKeyHash</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ac9e5eed7719e322117bde996a171e33a">IncRef</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a90e90b3f4ba8a590baff78c75807bbc7">IsInstance</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a133436a9ec5c4a768b94102bf95a660b">Object</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ab7968feb6ad38ecaffc320e13819d826">Object</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#aa1612f69ea5b4225d4cda759cd517323">Object</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a69c32fbd96181f5c21d2c878ab285e4f">operator=</a>(const Object &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ae341e561272ff43cdcbc927bc29ac50d">operator=</a>(Object &amp;&amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a0d492efee331e2239a093f4b2017c10f">ref_counter_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a55549a6c23987890246248682560a03d">RefCounterType</a> typedef</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#ad94d79729ac85aa7c976e23d39066383">RuntimeTypeIndex</a>()</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a13776bb5c2e5403138fbee06d4fdad40">stmts</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html">tvm::script::ir_builder::tir::TIRFrameNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a4caa65dc8a549ed58fcb1d47964734d8">TVM_DECLARE_BASE_OBJECT_INFO</a>(TIRFrameNode, IRBuilderFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html">tvm::script::ir_builder::tir::TIRFrameNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a290e180b9b57d3e133874fc0343a0453">tvm::script::ir_builder::IRBuilderFrameNode::TVM_DECLARE_BASE_OBJECT_INFO</a>(IRBuilderFrameNode, runtime::Object)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a6c8c6cc5c627cd29cc5eea3f4a6c8d80">TVM_DECLARE_FINAL_OBJECT_INFO</a>(DeclBufferFrameNode, TIRFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a481f01923b14e1851ebd38506e9c66ea">type_index</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a4bfc2586cb55f2af47728187b3256255">type_index_</a></td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a817ba6c23b7ee1821c48a75edf255a30">TypeIndex2Key</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6ee32a02dd44257da105fbbe5d9c8622">TypeIndex2KeyHash</a>(uint32_t tindex)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#a6841f97e06e6614dd7e82c6dd41b818a">TypeKey2Index</a>(const std::string &amp;key)</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html#afd548730a6139d19fe24473ad66026d7">unique</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1runtime_1_1Object.html">tvm::runtime::Object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a5284f329953ea259af3028144968fdcd">VisitAttrs</a>(tvm::AttrVisitor *v)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tir::DeclBufferFrameNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a8e61799eac4e806aef5a87d07943883d">~IRBuilderFrameNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html
index 6db42229d7..ef6de9c43a 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html
@@ -76,13 +76,13 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::script::ir_builder::tir::DeclBufferFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__inherit__graph.svg" width="290" height="1124"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__inherit__graph.svg" width="290" height="1139"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
 Collaboration diagram for tvm::script::ir_builder::tir::DeclBufferFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__coll__graph.svg" width="603" height="1696"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__coll__graph.svg" width="603" height="1711"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -140,7 +140,11 @@ Public Member Functions</h2></td></tr>
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
 <tr class="memitem:a573cf6a08a4d6c55548308b77469b3fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">tvm::tir::Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a573cf6a08a4d6c55548308b77469b3fc">buffer</a></td></tr>
+<tr class="memdesc:a573cf6a08a4d6c55548308b77469b3fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The declared buffer.  <a href="#a573cf6a08a4d6c55548308b77469b3fc">More...</a><br /></td></tr>
 <tr class="separator:a573cf6a08a4d6c55548308b77469b3fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71f494b77cd89321bcd2d9bb7c7835e0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a71f494b77cd89321bcd2d9bb7c7835e0">allocated</a></td></tr>
+<tr class="memdesc:a71f494b77cd89321bcd2d9bb7c7835e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer allocated or not.  <a href="#a71f494b77cd89321bcd2d9bb7c7835e0">More...</a><br /></td></tr>
+<tr class="separator:a71f494b77cd89321bcd2d9bb7c7835e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html">tvm::script::ir_builder::tir::TIRFrameNode</a></td></tr>
 <tr class="memitem:a13776bb5c2e5403138fbee06d4fdad40 inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1tir_1_1Stmt.html">tvm::tir::Stmt</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a13776bb5c2e5403138fbee06d4fdad40" [...]
 <tr class="memdesc:a13776bb5c2e5403138fbee06d4fdad40 inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Stmt within in this frame.  <a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a13776bb5c2e5403138fbee06d4fdad40">More...</a><br /></td></tr>
@@ -328,6 +332,22 @@ Additional Inherited Members</h2></td></tr>
 </table>
 </div><div class="memdoc">
 
+</div>
+</div>
+<a id="a71f494b77cd89321bcd2d9bb7c7835e0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71f494b77cd89321bcd2d9bb7c7835e0">&#9670;&nbsp;</a></span>allocated</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tvm::script::ir_builder::tir::DeclBufferFrameNode::allocated</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The buffer allocated or not. </p>
+
 </div>
 </div>
 <a id="a573cf6a08a4d6c55548308b77469b3fc"></a>
@@ -342,6 +362,8 @@ Additional Inherited Members</h2></td></tr>
       </table>
 </div><div class="memdoc">
 
+<p>The declared buffer. </p>
+
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following file:<ul>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__coll__graph.svg
index 61c0cecccc..e4ef4cbd2e 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__coll__graph.svg
@@ -4,18 +4,19 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: tvm::script::ir_builder::tir::DeclBufferFrameNode Pages: 1 -->
-<svg width="452pt" height="1272pt"
- viewBox="0.00 0.00 451.50 1272.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 1268)">
+<svg width="452pt" height="1283pt"
+ viewBox="0.00 0.00 451.50 1283.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 1279)">
 <title>tvm::script::ir_builder::tir::DeclBufferFrameNode</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1268 447.5,-1268 447.5,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1279 447.5,-1279 447.5,4 -4,4"/>
 <!-- Node4 -->
 <g id="node1" class="node">
 <title>Node4</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="192,-.5 192,-90.5 401,-90.5 401,-.5 192,-.5"/>
-<text text-anchor="start" x="200" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="296.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::DeclBufferFrameNode</text>
-<polyline fill="none" stroke="#000000" points="192,-60.5 401,-60.5 "/>
+<polygon fill="#bfbfbf" stroke="#000000" points="192,-.5 192,-101.5 401,-101.5 401,-.5 192,-.5"/>
+<text text-anchor="start" x="200" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="296.5" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::DeclBufferFrameNode</text>
+<polyline fill="none" stroke="#000000" points="192,-71.5 401,-71.5 "/>
+<text text-anchor="start" x="200" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ allocated</text>
 <text text-anchor="start" x="200" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="192,-41.5 401,-41.5 "/>
 <text text-anchor="start" x="200" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
@@ -26,115 +27,116 @@
 <g id="node2" class="node">
 <title>Node5</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements. ">
-<polygon fill="#ffffff" stroke="#000000" points="123,-128.5 123,-207.5 330,-207.5 330,-128.5 123,-128.5"/>
-<text text-anchor="start" x="131" y="-195.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="226.5" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::TIRFrameNode</text>
-<polyline fill="none" stroke="#000000" points="123,-177.5 330,-177.5 "/>
-<text text-anchor="start" x="131" y="-165.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="123,-158.5 330,-158.5 "/>
-<text text-anchor="start" x="131" y="-146.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="131" y="-135.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<polygon fill="#ffffff" stroke="#000000" points="123,-139.5 123,-218.5 330,-218.5 330,-139.5 123,-139.5"/>
+<text text-anchor="start" x="131" y="-206.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="226.5" y="-195.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::TIRFrameNode</text>
+<polyline fill="none" stroke="#000000" points="123,-188.5 330,-188.5 "/>
+<text text-anchor="start" x="131" y="-176.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="123,-169.5 330,-169.5 "/>
+<text text-anchor="start" x="131" y="-157.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="131" y="-146.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node4 -->
 <g id="edge1" class="edge">
 <title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="#191970" d="M254.3249,-119.3063C259.7373,-109.8348 265.3888,-99.9446 270.7312,-90.5953"/>
-<polygon fill="none" stroke="#191970" points="251.1496,-117.8088 249.227,-128.2278 257.2273,-121.2818 251.1496,-117.8088"/>
+<path fill="none" stroke="#191970" d="M253.0987,-130.3624C258.2391,-120.9628 263.6364,-111.0935 268.8106,-101.6321"/>
+<polygon fill="none" stroke="#191970" points="249.9921,-128.7486 248.2647,-139.2016 256.1337,-132.1073 249.9921,-128.7486"/>
 </g>
 <!-- Node6 -->
 <g id="node3" class="node">
 <title>Node6</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="{tvm::script::ir_builder\l::IRBuilderFrameNode\n|+ callbacks\l+ _type_key\l|+ VisitAttrs()\l+ TVM_DECLARE_BASE_OBJECT_INFO()\l+ ~IRBuilderFrameNode()\l+ EnterWithScope()\l+ ExitWithScope()\l+ AddCallback()\l}">
-<polygon fill="#ffffff" stroke="#000000" points="0,-456.5 0,-590.5 207,-590.5 207,-456.5 0,-456.5"/>
-<text text-anchor="start" x="8" y="-578.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="103.5" y="-567.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
-<polyline fill="none" stroke="#000000" points="0,-560.5 207,-560.5 "/>
-<text text-anchor="start" x="8" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ callbacks</text>
-<text text-anchor="start" x="8" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="0,-530.5 207,-530.5 "/>
-<text text-anchor="start" x="8" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="8" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
-<text text-anchor="start" x="8" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~IRBuilderFrameNode()</text>
-<text text-anchor="start" x="8" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ EnterWithScope()</text>
-<text text-anchor="start" x="8" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
-<text text-anchor="start" x="8" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AddCallback()</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-467.5 0,-601.5 207,-601.5 207,-467.5 0,-467.5"/>
+<text text-anchor="start" x="8" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="103.5" y="-578.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
+<polyline fill="none" stroke="#000000" points="0,-571.5 207,-571.5 "/>
+<text text-anchor="start" x="8" y="-559.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ callbacks</text>
+<text text-anchor="start" x="8" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="0,-541.5 207,-541.5 "/>
+<text text-anchor="start" x="8" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="8" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<text text-anchor="start" x="8" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="8" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ EnterWithScope()</text>
+<text text-anchor="start" x="8" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
+<text text-anchor="start" x="8" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AddCallback()</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node5 -->
 <g id="edge2" class="edge">
 <title>Node6&#45;&gt;Node5</title>
-<path fill="none" stroke="#191970" d="M130.1248,-446.5479C155.5087,-373.1821 192.7332,-265.5942 212.675,-207.9576"/>
-<polygon fill="none" stroke="#191970" points="126.7421,-445.6205 126.78,-456.2152 133.3574,-447.9093 126.7421,-445.6205"/>
+<path fill="none" stroke="#191970" d="M130.1248,-457.5479C155.5087,-384.1821 192.7332,-276.5942 212.675,-218.9576"/>
+<polygon fill="none" stroke="#191970" points="126.7421,-456.6205 126.78,-467.2152 133.3574,-458.9093 126.7421,-456.6205"/>
 </g>
 <!-- Node7 -->
 <g id="node4" class="node">
 <title>Node7</title>
 <g id="a_node4"><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,-650.5 12,-1037.5 195,-1037.5 195,-650.5 12,-650.5"/>
-<text text-anchor="middle" x="103.5" y="-1025.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
-<polyline fill="none" stroke="#000000" points="12,-1018.5 195,-1018.5 "/>
-<text text-anchor="start" x="20" y="-1006.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<text text-anchor="start" x="20" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
-<text text-anchor="start" x="20" y="-984.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
-<text text-anchor="start" x="20" y="-973.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
-<text text-anchor="start" x="20" y="-962.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
-<text text-anchor="start" x="20" y="-951.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
-<text text-anchor="start" x="20" y="-940.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
-<text text-anchor="start" x="20" y="-929.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="20" y="-918.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="20" y="-907.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
-<text text-anchor="start" x="20" y="-896.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="20" y="-885.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
-<text text-anchor="start" x="20" y="-874.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
-<text text-anchor="start" x="20" y="-863.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
-<polyline fill="none" stroke="#000000" points="12,-856.5 195,-856.5 "/>
-<text text-anchor="start" x="20" y="-844.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
-<text text-anchor="start" x="20" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
-<text text-anchor="start" x="20" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="20" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
-<text text-anchor="start" x="20" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<polygon fill="#ffffff" stroke="#000000" points="12,-661.5 12,-1048.5 195,-1048.5 195,-661.5 12,-661.5"/>
+<text text-anchor="middle" x="103.5" y="-1036.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
+<polyline fill="none" stroke="#000000" points="12,-1029.5 195,-1029.5 "/>
+<text text-anchor="start" x="20" y="-1017.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<text text-anchor="start" x="20" y="-1006.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
+<text text-anchor="start" x="20" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
+<text text-anchor="start" x="20" y="-984.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
+<text text-anchor="start" x="20" y="-973.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
+<text text-anchor="start" x="20" y="-962.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
+<text text-anchor="start" x="20" y="-951.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
+<text text-anchor="start" x="20" y="-940.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="20" y="-929.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="20" y="-918.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
+<text text-anchor="start" x="20" y="-907.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="20" y="-896.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
+<text text-anchor="start" x="20" y="-885.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
+<text text-anchor="start" x="20" y="-874.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
+<polyline fill="none" stroke="#000000" points="12,-867.5 195,-867.5 "/>
+<text text-anchor="start" x="20" y="-855.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
+<text text-anchor="start" x="20" y="-844.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
+<text text-anchor="start" x="20" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="20" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
+<text text-anchor="start" x="20" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="20" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
 <text text-anchor="start" x="20" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
 <text text-anchor="start" x="20" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="20" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="20" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
 <text text-anchor="start" x="20" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="20" y="-745.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="20" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="20" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="20" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
-<text text-anchor="start" x="20" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="20" y="-690.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="20" y="-679.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
-<text text-anchor="start" x="20" y="-668.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
-<text text-anchor="start" x="20" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="20" y="-745.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="20" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="20" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
+<text text-anchor="start" x="20" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="20" y="-701.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="20" y="-690.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
+<text text-anchor="start" x="20" y="-679.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
+<text text-anchor="start" x="20" y="-668.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node6 -->
 <g id="edge3" class="edge">
 <title>Node7&#45;&gt;Node6</title>
-<path fill="none" stroke="#191970" d="M103.5,-639.7972C103.5,-622.3163 103.5,-605.5917 103.5,-590.547"/>
-<polygon fill="none" stroke="#191970" points="100.0001,-640.1701 103.5,-650.1701 107.0001,-640.1701 100.0001,-640.1701"/>
+<path fill="none" stroke="#191970" d="M103.5,-650.7972C103.5,-633.3163 103.5,-616.5917 103.5,-601.547"/>
+<polygon fill="none" stroke="#191970" points="100.0001,-651.1701 103.5,-661.1701 107.0001,-651.1701 100.0001,-651.1701"/>
 </g>
 <!-- Node7&#45;&gt;Node7 -->
 <g id="edge4" class="edge">
 <title>Node7&#45;&gt;Node7</title>
-<path fill="none" stroke="#404040" d="M195.3625,-877.9248C206.0482,-871.6637 213,-860.3555 213,-844 213,-833.0112 209.8618,-824.3007 204.5615,-817.8687"/>
-<polygon fill="none" stroke="#404040" points="204.5184,-817.8322 197.3548,-817.0056 195.3625,-810.0752 202.5261,-810.9017 204.5184,-817.8322"/>
-<text text-anchor="middle" x="239" y="-841.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
+<path fill="none" stroke="#404040" d="M195.3625,-888.9248C206.0482,-882.6637 213,-871.3555 213,-855 213,-844.0112 209.8618,-835.3007 204.5615,-828.8687"/>
+<polygon fill="none" stroke="#404040" points="204.5184,-828.8322 197.3548,-828.0056 195.3625,-821.0752 202.5261,-821.9017 204.5184,-828.8322"/>
+<text text-anchor="middle" x="239" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #deleter_</text>
 </g>
 <!-- Node8 -->
 <g id="node5" class="node">
 <title>Node8</title>
 <g id="a_node5"><a xlink:href="classtvm_1_1runtime_1_1Array.html" target="_top" xlink:title="{tvm::runtime::Array\l\&lt; tvm::tir::Stmt \&gt;\n||+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ Array()\l+ operator=()\l+ operator=()\land 25 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="225,-434.5 225,-612.5 338,-612.5 338,-434.5 225,-434.5"/>
-<text text-anchor="start" x="233" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
-<text text-anchor="middle" x="281.5" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::tir::Stmt &gt;</text>
-<polyline fill="none" stroke="#000000" points="225,-582.5 338,-582.5 "/>
-<text text-anchor="middle" x="281.5" y="-570.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="225,-563.5 338,-563.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="225,-445.5 225,-623.5 338,-623.5 338,-445.5 225,-445.5"/>
+<text text-anchor="start" x="233" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Array</text>
+<text text-anchor="middle" x="281.5" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::tir::Stmt &gt;</text>
+<polyline fill="none" stroke="#000000" points="225,-593.5 338,-593.5 "/>
+<text text-anchor="middle" x="281.5" y="-581.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="225,-574.5 338,-574.5 "/>
+<text text-anchor="start" x="233" y="-562.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="233" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="233" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="233" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
@@ -142,122 +144,121 @@
 <text text-anchor="start" x="233" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="233" y="-496.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
 <text text-anchor="start" x="233" y="-485.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
-<text text-anchor="start" x="233" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Array()</text>
+<text text-anchor="start" x="233" y="-474.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
 <text text-anchor="start" x="233" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="233" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="233" y="-441.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
+<text text-anchor="start" x="233" y="-452.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 25 more...</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node5 -->
 <g id="edge5" class="edge">
 <title>Node8&#45;&gt;Node5</title>
-<path fill="none" stroke="#404040" d="M245.1547,-434.3806C243.3742,-428.2209 241.7931,-422.0556 240.5,-416 226.262,-349.3234 224.2706,-270.4138 224.8297,-219.8123"/>
-<polygon fill="none" stroke="#404040" points="224.8332,-219.5806 220.9275,-213.5188 225.0209,-207.5821 228.9265,-213.6439 224.8332,-219.5806"/>
-<text text-anchor="middle" x="260.5" y="-318.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +stmts</text>
+<path fill="none" stroke="#404040" d="M245.1547,-445.3806C243.3742,-439.2209 241.7931,-433.0556 240.5,-427 226.262,-360.3234 224.2706,-281.4138 224.8297,-230.8123"/>
+<polygon fill="none" stroke="#404040" points="224.8332,-230.5806 220.9275,-224.5188 225.0209,-218.5821 228.9265,-224.6439 224.8332,-230.5806"/>
+<text text-anchor="middle" x="260.5" y="-329.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +stmts</text>
 </g>
 <!-- Node9 -->
 <g id="node6" class="node">
 <title>Node9</title>
 <g id="a_node6"><a xlink:href="classtvm_1_1runtime_1_1ObjectRef.html" target="_top" xlink:title="Base class of all object reference. ">
-<polygon fill="#ffffff" stroke="#000000" points="291.5,-733 291.5,-955 425.5,-955 425.5,-733 291.5,-733"/>
-<text text-anchor="middle" x="358.5" y="-943" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
-<polyline fill="none" stroke="#000000" points="291.5,-936 425.5,-936 "/>
-<text text-anchor="start" x="299.5" y="-924" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
-<polyline fill="none" stroke="#000000" points="291.5,-917 425.5,-917 "/>
+<polygon fill="#ffffff" stroke="#000000" points="291.5,-744 291.5,-966 425.5,-966 425.5,-744 291.5,-744"/>
+<text text-anchor="middle" x="358.5" y="-954" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectRef</text>
+<polyline fill="none" stroke="#000000" points="291.5,-947 425.5,-947 "/>
+<text text-anchor="start" x="299.5" y="-935" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_is_nullable</text>
+<polyline fill="none" stroke="#000000" points="291.5,-928 425.5,-928 "/>
+<text text-anchor="start" x="299.5" y="-916" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
 <text text-anchor="start" x="299.5" y="-905" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="299.5" y="-894" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectRef()</text>
-<text text-anchor="start" x="299.5" y="-883" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
-<text text-anchor="start" x="299.5" y="-872" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
-<text text-anchor="start" x="299.5" y="-861" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
-<text text-anchor="start" x="299.5" y="-850" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
-<text text-anchor="start" x="299.5" y="-839" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
-<text text-anchor="start" x="299.5" y="-828" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="299.5" y="-817" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="299.5" y="-806" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
-<text text-anchor="start" x="299.5" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
-<text text-anchor="start" x="299.5" y="-784" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
-<text text-anchor="start" x="299.5" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
-<text text-anchor="start" x="299.5" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
-<text text-anchor="start" x="299.5" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
-<text text-anchor="start" x="299.5" y="-740" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
+<text text-anchor="start" x="299.5" y="-894" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ same_as()</text>
+<text text-anchor="start" x="299.5" y="-883" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator==()</text>
+<text text-anchor="start" x="299.5" y="-872" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator!=()</text>
+<text text-anchor="start" x="299.5" y="-861" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&lt;()</text>
+<text text-anchor="start" x="299.5" y="-850" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ defined()</text>
+<text text-anchor="start" x="299.5" y="-839" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="299.5" y="-828" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="299.5" y="-817" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="299.5" y="-806" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ use_count()</text>
+<text text-anchor="start" x="299.5" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ as()</text>
+<text text-anchor="start" x="299.5" y="-784" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># get_mutable()</text>
+<text text-anchor="start" x="299.5" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DowncastNoCheck()</text>
+<text text-anchor="start" x="299.5" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># FFIClearAfterMove()</text>
+<text text-anchor="start" x="299.5" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetDataPtr()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node8 -->
 <g id="edge6" class="edge">
 <title>Node9&#45;&gt;Node8</title>
-<path fill="none" stroke="#191970" d="M329.4406,-723.0448C320.6264,-686.3571 311.1086,-646.7409 302.8947,-612.5518"/>
-<polygon fill="none" stroke="#191970" points="326.046,-723.8984 331.7852,-732.8041 332.8523,-722.2632 326.046,-723.8984"/>
+<path fill="none" stroke="#191970" d="M329.4406,-734.0448C320.6264,-697.3571 311.1086,-657.7409 302.8947,-623.5518"/>
+<polygon fill="none" stroke="#191970" points="326.046,-734.8984 331.7852,-743.8041 332.8523,-733.2632 326.046,-734.8984"/>
 </g>
 <!-- Node11 -->
 <g id="node8" class="node">
 <title>Node11</title>
 <g id="a_node8"><a xlink:href="classtvm_1_1tir_1_1Buffer.html" target="_top" xlink:title="Buffer is a symbolic n&#45;darray structure. It is a composition of primitive symbolic types...">
-<polygon fill="#ffffff" stroke="#000000" points="289.5,-226.5 289.5,-415.5 443.5,-415.5 443.5,-226.5 289.5,-226.5"/>
-<text text-anchor="middle" x="366.5" y="-403.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::Buffer</text>
-<polyline fill="none" stroke="#000000" points="289.5,-396.5 443.5,-396.5 "/>
-<text text-anchor="middle" x="366.5" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="289.5,-377.5 443.5,-377.5 "/>
-<text text-anchor="start" x="297.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Buffer()</text>
-<text text-anchor="start" x="297.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ MakeStrideView()</text>
-<text text-anchor="start" x="297.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ MakeSlice()</text>
-<text text-anchor="start" x="297.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ access_ptr()</text>
-<text text-anchor="start" x="297.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ vload()</text>
-<text text-anchor="start" x="297.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ vstore()</text>
-<text text-anchor="start" x="297.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetFlattenedBuffer()</text>
-<text text-anchor="start" x="297.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ OffsetOf()</text>
-<text text-anchor="start" x="297.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ scope()</text>
-<text text-anchor="start" x="297.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="297.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
-<text text-anchor="start" x="297.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="297.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_COW_METHOD()</text>
+<polygon fill="#ffffff" stroke="#000000" points="289.5,-237.5 289.5,-426.5 443.5,-426.5 443.5,-237.5 289.5,-237.5"/>
+<text text-anchor="middle" x="366.5" y="-414.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::tir::Buffer</text>
+<polyline fill="none" stroke="#000000" points="289.5,-407.5 443.5,-407.5 "/>
+<text text-anchor="middle" x="366.5" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="289.5,-388.5 443.5,-388.5 "/>
+<text text-anchor="start" x="297.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Buffer()</text>
+<text text-anchor="start" x="297.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ MakeStrideView()</text>
+<text text-anchor="start" x="297.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ MakeSlice()</text>
+<text text-anchor="start" x="297.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ access_ptr()</text>
+<text text-anchor="start" x="297.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ vload()</text>
+<text text-anchor="start" x="297.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ vstore()</text>
+<text text-anchor="start" x="297.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetFlattenedBuffer()</text>
+<text text-anchor="start" x="297.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ OffsetOf()</text>
+<text text-anchor="start" x="297.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ scope()</text>
+<text text-anchor="start" x="297.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="297.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_METHODS()</text>
+<text text-anchor="start" x="297.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="297.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node11 -->
 <g id="edge9" class="edge">
 <title>Node9&#45;&gt;Node11</title>
-<path fill="none" stroke="#191970" d="M360.3556,-722.6902C361.7848,-629.2548 363.7326,-501.9195 365.049,-415.8594"/>
-<polygon fill="none" stroke="#191970" points="356.8549,-722.7128 360.2015,-732.7652 363.8541,-722.8199 356.8549,-722.7128"/>
+<path fill="none" stroke="#191970" d="M360.3556,-733.6902C361.7848,-640.2548 363.7326,-512.9195 365.049,-426.8594"/>
+<polygon fill="none" stroke="#191970" points="356.8549,-733.7128 360.2015,-743.7652 363.8541,-733.8199 356.8549,-733.7128"/>
 </g>
 <!-- Node10 -->
 <g id="node7" class="node">
 <title>Node10</title>
 <g id="a_node7"><a xlink:href="classtvm_1_1runtime_1_1ObjectPtr.html" target="_top" xlink:title="{tvm::runtime::ObjectPtr\l\&lt; tvm::runtime::Object \&gt;\n||+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ObjectPtr()\l+ ~ObjectPtr()\l+ swap()\l+ get()\l+ operator&#45;\&gt;()\land 11 more...\l}">
-<polygon fill="#ffffff" stroke="#000000" points="288.5,-1085.5 288.5,-1263.5 428.5,-1263.5 428.5,-1085.5 288.5,-1085.5"/>
-<text text-anchor="start" x="296.5" y="-1251.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
-<text text-anchor="middle" x="358.5" y="-1240.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
-<polyline fill="none" stroke="#000000" points="288.5,-1233.5 428.5,-1233.5 "/>
-<text text-anchor="middle" x="358.5" y="-1221.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-<polyline fill="none" stroke="#000000" points="288.5,-1214.5 428.5,-1214.5 "/>
+<polygon fill="#ffffff" stroke="#000000" points="288.5,-1096.5 288.5,-1274.5 428.5,-1274.5 428.5,-1096.5 288.5,-1096.5"/>
+<text text-anchor="start" x="296.5" y="-1262.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::ObjectPtr</text>
+<text text-anchor="middle" x="358.5" y="-1251.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt; tvm::runtime::Object &gt;</text>
+<polyline fill="none" stroke="#000000" points="288.5,-1244.5 428.5,-1244.5 "/>
+<text text-anchor="middle" x="358.5" y="-1232.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
+<polyline fill="none" stroke="#000000" points="288.5,-1225.5 428.5,-1225.5 "/>
+<text text-anchor="start" x="296.5" y="-1213.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="296.5" y="-1202.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="296.5" y="-1191.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="296.5" y="-1180.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="296.5" y="-1169.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
 <text text-anchor="start" x="296.5" y="-1158.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="296.5" y="-1147.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ObjectPtr()</text>
-<text text-anchor="start" x="296.5" y="-1136.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
-<text text-anchor="start" x="296.5" y="-1125.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
-<text text-anchor="start" x="296.5" y="-1114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
-<text text-anchor="start" x="296.5" y="-1103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="296.5" y="-1092.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
+<text text-anchor="start" x="296.5" y="-1147.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~ObjectPtr()</text>
+<text text-anchor="start" x="296.5" y="-1136.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ swap()</text>
+<text text-anchor="start" x="296.5" y="-1125.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ get()</text>
+<text text-anchor="start" x="296.5" y="-1114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="296.5" y="-1103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">and 11 more...</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node9 -->
 <g id="edge7" class="edge">
 <title>Node10&#45;&gt;Node9</title>
-<path fill="none" stroke="#404040" d="M358.5,-1085.4973C358.5,-1049.1115 358.5,-1006.409 358.5,-967.1129"/>
-<polygon fill="none" stroke="#404040" points="358.5001,-967.0376 354.5,-961.0377 358.5,-955.0376 362.5,-961.0376 358.5001,-967.0376"/>
-<text text-anchor="middle" x="378" y="-1059" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
+<path fill="none" stroke="#404040" d="M358.5,-1096.4973C358.5,-1060.1115 358.5,-1017.409 358.5,-978.1129"/>
+<polygon fill="none" stroke="#404040" points="358.5001,-978.0376 354.5,-972.0377 358.5,-966.0376 362.5,-972.0376 358.5001,-978.0376"/>
+<text text-anchor="middle" x="378" y="-1070" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> #data_</text>
 </g>
 <!-- Node11&#45;&gt;Node4 -->
 <g id="edge8" class="edge">
 <title>Node11&#45;&gt;Node4</title>
-<path fill="none" stroke="#404040" d="M359.768,-226.3011C355.8022,-194.5355 349.5032,-159.2566 339.5,-128 336.6615,-119.1307 332.9205,-110.0717 328.8274,-101.3585"/>
-<polygon fill="none" stroke="#404040" points="328.8033,-101.3094 322.5621,-97.6972 323.496,-90.5468 329.7372,-94.159 328.8033,-101.3094"/>
-<text text-anchor="middle" x="376.5" y="-165.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +buffer</text>
+<path fill="none" stroke="#404040" d="M359.2975,-237.4483C355.2972,-205.6935 349.0967,-170.3838 339.5,-139 336.8379,-130.2941 333.4085,-121.3806 329.6492,-112.7273"/>
+<polygon fill="none" stroke="#404040" points="329.5281,-112.4612 323.4009,-108.659 324.554,-101.5407 330.6813,-105.3429 329.5281,-112.4612"/>
+<text text-anchor="middle" x="376.5" y="-176.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> +buffer</text>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__inherit__graph.svg
index 254b3424ad..d08af4c51c 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode__inherit__graph.svg
@@ -4,19 +4,20 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: tvm::script::ir_builder::tir::DeclBufferFrameNode Pages: 1 -->
-<svg width="217pt" height="843pt"
- viewBox="0.00 0.00 217.00 843.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 839)">
+<svg width="217pt" height="854pt"
+ viewBox="0.00 0.00 217.00 854.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 850)">
 <title>tvm::script::ir_builder::tir::DeclBufferFrameNode</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-839 213,-839 213,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-850 213,-850 213,4 -4,4"/>
 <!-- Node0 -->
 <g id="node1" class="node">
 <title>Node0</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="0,-.5 0,-101.5 209,-101.5 209,-.5 0,-.5"/>
-<text text-anchor="start" x="8" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="104.5" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::DeclBufferFrameNode</text>
-<polyline fill="none" stroke="#000000" points="0,-71.5 209,-71.5 "/>
-<text text-anchor="start" x="8" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="0,-.5 0,-112.5 209,-112.5 209,-.5 0,-.5"/>
+<text text-anchor="start" x="8" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="104.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::DeclBufferFrameNode</text>
+<polyline fill="none" stroke="#000000" points="0,-82.5 209,-82.5 "/>
+<text text-anchor="start" x="8" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="8" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ allocated</text>
 <text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="0,-41.5 209,-41.5 "/>
 <text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
@@ -27,99 +28,99 @@
 <g id="node2" class="node">
 <title>Node1</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements. ">
-<polygon fill="#ffffff" stroke="#000000" points="1,-138.5 1,-228.5 208,-228.5 208,-138.5 1,-138.5"/>
-<text text-anchor="start" x="9" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="104.5" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::TIRFrameNode</text>
-<polyline fill="none" stroke="#000000" points="1,-198.5 208,-198.5 "/>
-<text text-anchor="start" x="9" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ stmts</text>
-<text text-anchor="start" x="9" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="1,-168.5 208,-168.5 "/>
-<text text-anchor="start" x="9" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="9" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<polygon fill="#ffffff" stroke="#000000" points="1,-149.5 1,-239.5 208,-239.5 208,-149.5 1,-149.5"/>
+<text text-anchor="start" x="9" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="104.5" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::TIRFrameNode</text>
+<polyline fill="none" stroke="#000000" points="1,-209.5 208,-209.5 "/>
+<text text-anchor="start" x="9" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ stmts</text>
+<text text-anchor="start" x="9" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="1,-179.5 208,-179.5 "/>
+<text text-anchor="start" x="9" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="9" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node0 -->
 <g id="edge1" class="edge">
 <title>Node1&#45;&gt;Node0</title>
-<path fill="none" stroke="#191970" d="M104.5,-128.2098C104.5,-119.5051 104.5,-110.5409 104.5,-101.9407"/>
-<polygon fill="none" stroke="#191970" points="101.0001,-128.2716 104.5,-138.2716 108.0001,-128.2716 101.0001,-128.2716"/>
+<path fill="none" stroke="#191970" d="M104.5,-139.2882C104.5,-130.5993 104.5,-121.6063 104.5,-112.8911"/>
+<polygon fill="none" stroke="#191970" points="101.0001,-139.3136 104.5,-149.3136 108.0001,-139.3137 101.0001,-139.3136"/>
 </g>
 <!-- Node2 -->
 <g id="node3" class="node">
 <title>Node2</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="{tvm::script::ir_builder\l::IRBuilderFrameNode\n|+ callbacks\l+ _type_key\l|+ VisitAttrs()\l+ TVM_DECLARE_BASE_OBJECT_INFO()\l+ ~IRBuilderFrameNode()\l+ EnterWithScope()\l+ ExitWithScope()\l+ AddCallback()\l}">
-<polygon fill="#ffffff" stroke="#000000" points="1,-265.5 1,-399.5 208,-399.5 208,-265.5 1,-265.5"/>
-<text text-anchor="start" x="9" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="104.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
-<polyline fill="none" stroke="#000000" points="1,-369.5 208,-369.5 "/>
-<text text-anchor="start" x="9" y="-357.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ callbacks</text>
-<text text-anchor="start" x="9" y="-346.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="1,-339.5 208,-339.5 "/>
-<text text-anchor="start" x="9" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="9" y="-316.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
-<text text-anchor="start" x="9" y="-305.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~IRBuilderFrameNode()</text>
-<text text-anchor="start" x="9" y="-294.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ EnterWithScope()</text>
-<text text-anchor="start" x="9" y="-283.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
-<text text-anchor="start" x="9" y="-272.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AddCallback()</text>
+<polygon fill="#ffffff" stroke="#000000" points="1,-276.5 1,-410.5 208,-410.5 208,-276.5 1,-276.5"/>
+<text text-anchor="start" x="9" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="104.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::IRBuilderFrameNode</text>
+<polyline fill="none" stroke="#000000" points="1,-380.5 208,-380.5 "/>
+<text text-anchor="start" x="9" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ callbacks</text>
+<text text-anchor="start" x="9" y="-357.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="1,-350.5 208,-350.5 "/>
+<text text-anchor="start" x="9" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="9" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_BASE_OBJECT_INFO()</text>
+<text text-anchor="start" x="9" y="-316.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="9" y="-305.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ EnterWithScope()</text>
+<text text-anchor="start" x="9" y="-294.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
+<text text-anchor="start" x="9" y="-283.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ AddCallback()</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge2" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="#191970" d="M104.5,-255.2384C104.5,-246.2246 104.5,-237.2648 104.5,-228.8878"/>
-<polygon fill="none" stroke="#191970" points="101.0001,-255.41 104.5,-265.41 108.0001,-255.41 101.0001,-255.41"/>
+<path fill="none" stroke="#191970" d="M104.5,-266.2384C104.5,-257.2246 104.5,-248.2648 104.5,-239.8878"/>
+<polygon fill="none" stroke="#191970" points="101.0001,-266.41 104.5,-276.41 108.0001,-266.41 101.0001,-266.41"/>
 </g>
 <!-- Node3 -->
 <g id="node4" class="node">
 <title>Node3</title>
 <g id="a_node4"><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="13,-436.5 13,-834.5 196,-834.5 196,-436.5 13,-436.5"/>
-<text text-anchor="middle" x="104.5" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
-<polyline fill="none" stroke="#000000" points="13,-815.5 196,-815.5 "/>
-<text text-anchor="start" x="21" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<text text-anchor="start" x="21" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
-<text text-anchor="start" x="21" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
-<text text-anchor="start" x="21" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
-<text text-anchor="start" x="21" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
-<text text-anchor="start" x="21" y="-748.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
-<text text-anchor="start" x="21" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
-<text text-anchor="start" x="21" y="-726.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="21" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="21" y="-704.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
-<text text-anchor="start" x="21" y="-693.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
-<text text-anchor="start" x="21" y="-682.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
-<text text-anchor="start" x="21" y="-671.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
-<text text-anchor="start" x="21" y="-660.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
-<text text-anchor="start" x="21" y="-649.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># deleter_</text>
-<polyline fill="none" stroke="#000000" points="13,-642.5 196,-642.5 "/>
-<text text-anchor="start" x="21" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
-<text text-anchor="start" x="21" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
-<text text-anchor="start" x="21" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="21" y="-597.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
-<text text-anchor="start" x="21" y="-586.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<polygon fill="#ffffff" stroke="#000000" points="13,-447.5 13,-845.5 196,-845.5 196,-447.5 13,-447.5"/>
+<text text-anchor="middle" x="104.5" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::runtime::Object</text>
+<polyline fill="none" stroke="#000000" points="13,-826.5 196,-826.5 "/>
+<text text-anchor="start" x="21" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<text text-anchor="start" x="21" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_final</text>
+<text text-anchor="start" x="21" y="-792.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots</text>
+<text text-anchor="start" x="21" y="-781.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_child_slots_can</text>
+<text text-anchor="start" x="21" y="-770.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_overflow</text>
+<text text-anchor="start" x="21" y="-759.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_visit</text>
+<text text-anchor="start" x="21" y="-748.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attrs</text>
+<text text-anchor="start" x="21" y="-737.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="21" y="-726.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="21" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_has_method_shash</text>
+<text text-anchor="start" x="21" y="-704.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_reduce</text>
+<text text-anchor="start" x="21" y="-693.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_index</text>
+<text text-anchor="start" x="21" y="-682.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># type_index_</text>
+<text text-anchor="start" x="21" y="-671.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># ref_counter_</text>
+<text text-anchor="start" x="21" y="-660.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># deleter_</text>
+<polyline fill="none" stroke="#000000" points="13,-653.5 196,-653.5 "/>
+<text text-anchor="start" x="21" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ type_index()</text>
+<text text-anchor="start" x="21" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKey()</text>
+<text text-anchor="start" x="21" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="21" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ IsInstance()</text>
+<text text-anchor="start" x="21" y="-597.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ unique()</text>
+<text text-anchor="start" x="21" y="-586.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
 <text text-anchor="start" x="21" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
 <text text-anchor="start" x="21" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
-<text text-anchor="start" x="21" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ Object()</text>
+<text text-anchor="start" x="21" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
 <text text-anchor="start" x="21" y="-542.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="21" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ operator=()</text>
-<text text-anchor="start" x="21" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="21" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="21" y="-498.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
-<text text-anchor="start" x="21" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="21" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="21" y="-465.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
-<text text-anchor="start" x="21" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
-<text text-anchor="start" x="21" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="21" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="21" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="21" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TypeKey2Index()</text>
+<text text-anchor="start" x="21" y="-498.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="21" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="21" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># IncRef()</text>
+<text text-anchor="start" x="21" y="-465.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># DecRef()</text>
+<text text-anchor="start" x="21" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"># GetOrAllocRuntimeTypeIndex()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node2 -->
 <g id="edge3" class="edge">
 <title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="#191970" d="M104.5,-426.1914C104.5,-416.9431 104.5,-408.0329 104.5,-399.631"/>
-<polygon fill="none" stroke="#191970" points="101.0001,-426.3515 104.5,-436.3515 108.0001,-426.3515 101.0001,-426.3515"/>
+<path fill="none" stroke="#191970" d="M104.5,-437.1914C104.5,-427.9431 104.5,-419.0329 104.5,-410.631"/>
+<polygon fill="none" stroke="#191970" points="101.0001,-437.3515 104.5,-447.3515 108.0001,-437.3515 101.0001,-437.3515"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode__inherit__graph.svg
index f22bb5bac1..23743f0212 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode__inherit__graph.svg
@@ -33,7 +33,7 @@
 <text text-anchor="start" x="8" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ dtype</text>
 <text text-anchor="start" x="8" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ extents</text>
 <text text-anchor="start" x="8" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ data</text>
-<text text-anchor="start" x="8" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="8" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer_var</text>
 <text text-anchor="start" x="8" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ annotations</text>
 <text text-anchor="start" x="8" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="0,-74.5 209,-74.5 "/>
@@ -62,7 +62,7 @@
 <text text-anchor="start" x="235" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ storage_scope</text>
 <text text-anchor="start" x="235" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ condition</text>
 <text text-anchor="start" x="235" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ annotations</text>
-<text text-anchor="start" x="235" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="235" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer_var</text>
 <text text-anchor="start" x="235" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
 <polyline fill="none" stroke="#000000" points="227,-69 436,-69 "/>
 <text text-anchor="start" x="235" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
@@ -185,24 +185,25 @@
 <!-- Node9 -->
 <g id="node10" class="node">
 <title>Node9</title>
-<g id="a_node10"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html" target="_top" xlink:title="{tvm::script::ir_builder\l::tir::DeclBufferFrameNode\n|+ buffer\l+ _type_key\l|+ VisitAttrs()\l+ TVM_DECLARE_FINAL_OBJECT_INFO()\l+ ExitWithScope()\l}">
-<polygon fill="#ffffff" stroke="#000000" points="1362,-55.5 1362,-156.5 1571,-156.5 1571,-55.5 1362,-55.5"/>
-<text text-anchor="start" x="1370" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="1466.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::DeclBufferFrameNode</text>
-<polyline fill="none" stroke="#000000" points="1362,-126.5 1571,-126.5 "/>
-<text text-anchor="start" x="1370" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
-<text text-anchor="start" x="1370" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
-<polyline fill="none" stroke="#000000" points="1362,-96.5 1571,-96.5 "/>
-<text text-anchor="start" x="1370" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
-<text text-anchor="start" x="1370" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
-<text text-anchor="start" x="1370" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
+<g id="a_node10"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html" target="_top" xlink:title="{tvm::script::ir_builder\l::tir::DeclBufferFrameNode\n|+ buffer\l+ allocated\l+ _type_key\l|+ VisitAttrs()\l+ TVM_DECLARE_FINAL_OBJECT_INFO()\l+ ExitWithScope()\l}">
+<polygon fill="#ffffff" stroke="#000000" points="1362,-50 1362,-162 1571,-162 1571,-50 1362,-50"/>
+<text text-anchor="start" x="1370" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="1466.5" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">::tir::DeclBufferFrameNode</text>
+<polyline fill="none" stroke="#000000" points="1362,-132 1571,-132 "/>
+<text text-anchor="start" x="1370" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ buffer</text>
+<text text-anchor="start" x="1370" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ allocated</text>
+<text text-anchor="start" x="1370" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ _type_key</text>
+<polyline fill="none" stroke="#000000" points="1362,-91 1571,-91 "/>
+<text text-anchor="start" x="1370" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ VisitAttrs()</text>
+<text text-anchor="start" x="1370" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ TVM_DECLARE_FINAL_OBJECT_INFO()</text>
+<text text-anchor="start" x="1370" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">+ ExitWithScope()</text>
 </a>
 </g>
 </g>
 <!-- Node0&#45;&gt;Node9 -->
 <g id="edge9" class="edge">
 <title>Node0&#45;&gt;Node9</title>
-<path fill="none" stroke="#191970" d="M1693.2357,-262.9591C1655.5404,-250.2017 1614.3207,-233.3043 1579.5,-212 1554.9492,-196.9791 1531.1805,-175.9968 1511.829,-156.6605"/>
+<path fill="none" stroke="#191970" d="M1693.2357,-262.9591C1655.5404,-250.2017 1614.3207,-233.3043 1579.5,-212 1557.2436,-198.3829 1535.63,-179.8666 1517.3674,-162.1188"/>
 <polygon fill="none" stroke="#191970" points="1692.1438,-266.2844 1702.7372,-266.1135 1694.3493,-259.641 1692.1438,-266.2844"/>
 </g>
 <!-- Node10 -->
diff --git a/docs/reference/api/doxygen/functions_a.html b/docs/reference/api/doxygen/functions_a.html
index ce96c66e8d..6f9567c677 100644
--- a/docs/reference/api/doxygen/functions_a.html
+++ b/docs/reference/api/doxygen/functions_a.html
@@ -195,6 +195,9 @@ $(function() {
 <li>AllocateConst()
 : <a class="el" href="classtvm_1_1tir_1_1AllocateConst.html#ac7cde2c6f98d30492596fd401425e8bc">tvm::tir::AllocateConst</a>
 </li>
+<li>allocated
+: <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a71f494b77cd89321bcd2d9bb7c7835e0">tvm::script::ir_builder::tir::DeclBufferFrameNode</a>
+</li>
 <li>allocated_size
 : <a class="el" href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#ae22f04d799f7cc35273d85fd3d9851fd">tvm::tir::usmp::AllocatedPoolInfoNode</a>
 </li>
@@ -380,7 +383,7 @@ $(function() {
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a360b264ed892e620935b648e5a91a5ea">tvm::runtime::vm::Instruction</a>
 </li>
 <li>Array()
-: <a class="el" href="classtvm_1_1runtime_1_1Array.html#aacdeb14d66a7f85e94ee843c459f7959">tvm::runtime::Array&lt; T, typename &gt;</a>
+: <a class="el" href="classtvm_1_1runtime_1_1Array.html#af5035bdfd76577c89f9fcde46db7edc4">tvm::runtime::Array&lt; T, typename &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ArrayNode.html#a23070656da6784a7e4c33c4b0ea9de35">tvm::runtime::ArrayNode</a>
 </li>
 <li>array
@@ -466,7 +469,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1runtime_1_1Map.html#a7fbfe0e01b0fa54e151bd481956dcfec">tvm::runtime::Map&lt; K, V, typename, typename &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1MapNode.html#a49edd4ddc34a4e0b097c34560b9b3b4e">tvm::runtime::MapNode</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ShapeTuple.html#a07d50937020663f46ce9b1f31f066a7a">tvm::runtime::ShapeTuple</a>
-, <a class="el" href="classtvm_1_1runtime_1_1SmallMapNode.html#a0593c84ceb05afb1a3f87045a3dc3a59">tvm::runtime::SmallMapNode</a>
+, <a class="el" href="classtvm_1_1runtime_1_1SmallMapNode.html#a866679f23f724edc2d165f530f058b09">tvm::runtime::SmallMapNode</a>
 , <a class="el" href="classtvm_1_1runtime_1_1String.html#aaeda6a88310d41a22ce884fb1570b0d2">tvm::runtime::String</a>
 , <a class="el" href="classtvm_1_1TracedMap.html#a886126f30f9b9329b9bcc1f63d62c4a4">tvm::TracedMap&lt; K, V &gt;</a>
 </li>
@@ -505,7 +508,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>
diff --git a/docs/reference/api/doxygen/functions_b.html b/docs/reference/api/doxygen/functions_b.html
index 70d677ab24..d98840ab9d 100644
--- a/docs/reference/api/doxygen/functions_b.html
+++ b/docs/reference/api/doxygen/functions_b.html
@@ -235,8 +235,6 @@ $(function() {
 </li>
 <li>buffer
 : <a class="el" href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html#ae787a0a25d67ff1952ac5e9eeb0d1a61">tvm::runtime::vm::StorageObj</a>
-, <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a9334403129924bc1ed84d8753dd9f672">tvm::script::ir_builder::tir::AllocateConstFrameNode</a>
-, <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#ad7365c7b511a9f9dffc1aac531d046c2">tvm::script::ir_builder::tir::AllocateFrameNode</a>
 , <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a573cf6a08a4d6c55548308b77469b3fc">tvm::script::ir_builder::tir::DeclBufferFrameNode</a>
 </li>
 <li>Buffer()
@@ -265,7 +263,9 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1BufferNode.html#a2ce595dfcf7a726c7e0f86a6942d2568">tvm::tir::BufferNode</a>
 </li>
 <li>buffer_var
-: <a class="el" href="classtvm_1_1tir_1_1AllocateConstNode.html#a8f0ca4a2b427645a93605494680cc669">tvm::tir::AllocateConstNode</a>
+: <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a4b062ec7c2f519922051de6cfffd9762">tvm::script::ir_builder::tir::AllocateConstFrameNode</a>
+, <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a22c42fc2abf33a4675850ae3ec826aec">tvm::script::ir_builder::tir::AllocateFrameNode</a>
+, <a class="el" href="classtvm_1_1tir_1_1AllocateConstNode.html#a8f0ca4a2b427645a93605494680cc669">tvm::tir::AllocateConstNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1AllocateNode.html#acc0828bc8173ba2d46f90ddd2a329ae0">tvm::tir::AllocateNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1LoadNode.html#a2c69902eee069e824c822492068e6913">tvm::tir::LoadNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1StoreNode.html#aed2fc3d3c119126a61182666930e8729">tvm::tir::StoreNode</a>
diff --git a/docs/reference/api/doxygen/functions_func_s.html b/docs/reference/api/doxygen/functions_func_s.html
index c1f056e6b5..93a8fe21e6 100644
--- a/docs/reference/api/doxygen/functions_func_s.html
+++ b/docs/reference/api/doxygen/functions_func_s.html
@@ -759,7 +759,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1Store.html#a2c4278b8bcdae57ada2022ecc7c290c3">tvm::tir::Store</a>
 </li>
 <li>Str()
-: <a class="el" href="classtvm_1_1script_1_1printer_1_1LiteralDoc.html#a789d7d73bd4d94612fa2a84c16b26b89">tvm::script::printer::LiteralDoc</a>
+: <a class="el" href="classtvm_1_1script_1_1printer_1_1LiteralDoc.html#a3511ed66e343f6db16cbd72feda03d5c">tvm::script::printer::LiteralDoc</a>
 </li>
 <li>str()
 : <a class="el" href="classtvm_1_1TargetNode.html#a30cd67db46a9c4b098a8ba38fff22e26">tvm::TargetNode</a>
diff --git a/docs/reference/api/doxygen/functions_func_u.html b/docs/reference/api/doxygen/functions_func_u.html
index 4b4e0f203d..611cae9ff1 100644
--- a/docs/reference/api/doxygen/functions_func_u.html
+++ b/docs/reference/api/doxygen/functions_func_u.html
@@ -106,7 +106,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1auto__scheduler_1_1CostModelNode.html#ae35b2b678760b8da57a43d3ae9c24da5">tvm::auto_scheduler::CostModelNode</a>
 , <a class="el" href="classtvm_1_1auto__scheduler_1_1PythonBasedModelNode.html#a2d7849df6c7dbe93bf363c1d9f860a26">tvm::auto_scheduler::PythonBasedModelNode</a>
 , <a class="el" href="classtvm_1_1auto__scheduler_1_1RandomModelNode.html#a7febac6c05d8e2d407f466467769ee32">tvm::auto_scheduler::RandomModelNode</a>
-, <a class="el" href="classtvm_1_1IRModuleNode.html#a94a93385e64ce844299729af6a573015">tvm::IRModuleNode</a>
+, <a class="el" href="classtvm_1_1IRModuleNode.html#abdd8936c6fca33ef9b7c086f8fd58f84">tvm::IRModuleNode</a>
 , <a class="el" href="classtvm_1_1meta__schedule_1_1CostModelNode.html#a1bba32eba84db583fe90d1a5bce085f1">tvm::meta_schedule::CostModelNode</a>
 , <a class="el" href="classtvm_1_1meta__schedule_1_1PyCostModelNode.html#a970b00b0eb1bf6b88eea2711b58c4d1d">tvm::meta_schedule::PyCostModelNode</a>
 </li>
diff --git a/docs/reference/api/doxygen/functions_m.html b/docs/reference/api/doxygen/functions_m.html
index d32882998b..77097244db 100644
--- a/docs/reference/api/doxygen/functions_m.html
+++ b/docs/reference/api/doxygen/functions_m.html
@@ -350,7 +350,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1DiagnosticContextNode.html#adea7e38a6e47cbab7fb5639f208aa536">tvm::DiagnosticContextNode</a>
 </li>
 <li>Module()
-: <a class="el" href="classtvm_1_1runtime_1_1Module.html#abfbc619b3b3166d63ec52e399c24bed9">tvm::runtime::Module</a>
+: <a class="el" href="classtvm_1_1runtime_1_1Module.html#abd1380b3f813c2b6acefca3aaef425f4">tvm::runtime::Module</a>
 , <a class="el" href="classtvm_1_1runtime_1_1ModuleNode.html#a21f639900c480510650969df9c74d17d">tvm::runtime::ModuleNode</a>
 </li>
 <li>module_handle
diff --git a/docs/reference/api/doxygen/functions_s.html b/docs/reference/api/doxygen/functions_s.html
index d6095c5237..e07076f382 100644
--- a/docs/reference/api/doxygen/functions_s.html
+++ b/docs/reference/api/doxygen/functions_s.html
@@ -1136,7 +1136,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tir_1_1BufferNode.html#ac18ddd10b79a30ae57d3a8283686259d">tvm::tir::BufferNode</a>
 </li>
 <li>String()
-: <a class="el" href="classtvm_1_1runtime_1_1String.html#a02fca36e3ff55cc1e83635b02a11fca3">tvm::runtime::String</a>
+: <a class="el" href="classtvm_1_1runtime_1_1String.html#ac5d930b522e9fef9c07e51819d96d2f3">tvm::runtime::String</a>
 , <a class="el" href="classtvm_1_1runtime_1_1StringObj_1_1FromStd.html#a7fb804f7dc96dd9f705c84095f37f1ca">tvm::runtime::StringObj::FromStd</a>
 , <a class="el" href="classtvm_1_1runtime_1_1StringObj.html#a7fb804f7dc96dd9f705c84095f37f1ca">tvm::runtime::StringObj</a>
 </li>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index 1753f01dc3..7de8647362 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -199,7 +199,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1Stage.html#ab5fe485e1d730c36b096c060b8d2ef9d">tvm::te::Stage</a>
 </li>
 <li>Tensorize()
-: <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#aaca1621ab9c3db0ddd04ac57de79d37f">tvm::tir::ScheduleNode</a>
+: <a class="el" href="classtvm_1_1tir_1_1ScheduleNode.html#ae3794a03b566e5b1721b44c564992975">tvm::tir::ScheduleNode</a>
 </li>
 <li>TensorNode()
 : <a class="el" href="classtvm_1_1te_1_1TensorNode.html#a153569448cb1bf9d2924d35639c3b8b8">tvm::te::TensorNode</a>
@@ -1390,7 +1390,7 @@ $(function() {
 </li>
 <li>TVMArgValue
 : <a class="el" href="classtvm_1_1runtime_1_1ObjectPtr.html#a7e8b2c6a4fde079ee813c425d2eb6b24">tvm::runtime::ObjectPtr&lt; T &gt;</a>
-, <a class="el" href="classtvm_1_1runtime_1_1TVMArgValue.html#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_1ObjectPtr.html#acd985550cba6cf8509122cbd996c1557">tvm::runtime::ObjectPtr&lt; T &gt;</a>
@@ -1412,7 +1412,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#ac4a3850c0989e7c2d5cd8e0f096d0997">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
@@ -1493,7 +1493,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a0d72a6fa7263821c14bcd37837998ed9">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
 </li>
 <li>TypedPackedFunc()
-: <a class="el" href="classtvm_1_1runtime_1_1TypedPackedFunc_3_01R_07Args_8_8_8_08_4.html#aa3663a440db7a6951abd767109b9bf90">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>
diff --git a/docs/reference/api/doxygen/functions_vars_a.html b/docs/reference/api/doxygen/functions_vars_a.html
index 950eac2ef4..d2e2c64c29 100644
--- a/docs/reference/api/doxygen/functions_vars_a.html
+++ b/docs/reference/api/doxygen/functions_vars_a.html
@@ -116,6 +116,9 @@ $(function() {
 <li>Allocate
 : <a class="el" href="structMemoryManagerInterface.html#a1dd2857f3cf22e16c431b0d67356e93b">MemoryManagerInterface</a>
 </li>
+<li>allocated
+: <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a71f494b77cd89321bcd2d9bb7c7835e0">tvm::script::ir_builder::tir::DeclBufferFrameNode</a>
+</li>
 <li>allocated_size
 : <a class="el" href="structtvm_1_1tir_1_1usmp_1_1AllocatedPoolInfoNode.html#ae22f04d799f7cc35273d85fd3d9851fd">tvm::tir::usmp::AllocatedPoolInfoNode</a>
 </li>
diff --git a/docs/reference/api/doxygen/functions_vars_b.html b/docs/reference/api/doxygen/functions_vars_b.html
index 96033d9a89..089eddb1a1 100644
--- a/docs/reference/api/doxygen/functions_vars_b.html
+++ b/docs/reference/api/doxygen/functions_vars_b.html
@@ -164,8 +164,6 @@ $(function() {
 </li>
 <li>buffer
 : <a class="el" href="classtvm_1_1runtime_1_1vm_1_1StorageObj.html#ae787a0a25d67ff1952ac5e9eeb0d1a61">tvm::runtime::vm::StorageObj</a>
-, <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a9334403129924bc1ed84d8753dd9f672">tvm::script::ir_builder::tir::AllocateConstFrameNode</a>
-, <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#ad7365c7b511a9f9dffc1aac531d046c2">tvm::script::ir_builder::tir::AllocateFrameNode</a>
 , <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a573cf6a08a4d6c55548308b77469b3fc">tvm::script::ir_builder::tir::DeclBufferFrameNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1BufferLoadNode.html#ac5c69453b84222037c5d3e7a2f1d4316">tvm::tir::BufferLoadNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1BufferRealizeNode.html#a49068e03d737011da9d55ebf52139eac">tvm::tir::BufferRealizeNode</a>
@@ -189,7 +187,9 @@ $(function() {
 : <a class="el" href="classtvm_1_1tir_1_1BufferNode.html#a2ce595dfcf7a726c7e0f86a6942d2568">tvm::tir::BufferNode</a>
 </li>
 <li>buffer_var
-: <a class="el" href="classtvm_1_1tir_1_1AllocateConstNode.html#a8f0ca4a2b427645a93605494680cc669">tvm::tir::AllocateConstNode</a>
+: <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a4b062ec7c2f519922051de6cfffd9762">tvm::script::ir_builder::tir::AllocateConstFrameNode</a>
+, <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a22c42fc2abf33a4675850ae3ec826aec">tvm::script::ir_builder::tir::AllocateFrameNode</a>
+, <a class="el" href="classtvm_1_1tir_1_1AllocateConstNode.html#a8f0ca4a2b427645a93605494680cc669">tvm::tir::AllocateConstNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1AllocateNode.html#acc0828bc8173ba2d46f90ddd2a329ae0">tvm::tir::AllocateNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1LoadNode.html#a2c69902eee069e824c822492068e6913">tvm::tir::LoadNode</a>
 , <a class="el" href="classtvm_1_1tir_1_1StoreNode.html#aed2fc3d3c119126a61182666930e8729">tvm::tir::StoreNode</a>
diff --git a/docs/reference/api/doxygen/globals_defs.html b/docs/reference/api/doxygen/globals_defs.html
index 5d1484953b..b2beb33a6d 100644
--- a/docs/reference/api/doxygen/globals_defs.html
+++ b/docs/reference/api/doxygen/globals_defs.html
@@ -372,6 +372,15 @@ $(function() {
 <li>TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST
 : <a class="el" href="tir_2ir_8h.html#a411d701e2f5c55c20f1471c339b2866d">ir.h</a>
 </li>
+<li>TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES
+: <a class="el" href="tir_2ir_8h.html#af4333f8d928fe3c9e799afd516d0f04c">ir.h</a>
+</li>
+<li>TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES
+: <a class="el" href="tir_2ir_8h.html#a492f0c9cc3b778f85c7827e7e719e9c9">ir.h</a>
+</li>
+<li>TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES_LANES
+: <a class="el" href="tir_2ir_8h.html#a9410989688d1a84ad2d088103f988b26">ir.h</a>
+</li>
 <li>TVM_TYPE_FUNCTOR_DISPATCH
 : <a class="el" href="type__functor_8h.html#afaa114a04d18cd3f8f11995628692d74">type_functor.h</a>
 </li>
diff --git a/docs/reference/api/doxygen/globals_t.html b/docs/reference/api/doxygen/globals_t.html
index ca1f577366..e367388c1e 100644
--- a/docs/reference/api/doxygen/globals_t.html
+++ b/docs/reference/api/doxygen/globals_t.html
@@ -289,6 +289,15 @@ $(function() {
 <li>TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST
 : <a class="el" href="tir_2ir_8h.html#a411d701e2f5c55c20f1471c339b2866d">ir.h</a>
 </li>
+<li>TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES
+: <a class="el" href="tir_2ir_8h.html#af4333f8d928fe3c9e799afd516d0f04c">ir.h</a>
+</li>
+<li>TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES
+: <a class="el" href="tir_2ir_8h.html#a492f0c9cc3b778f85c7827e7e719e9c9">ir.h</a>
+</li>
+<li>TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES_LANES
+: <a class="el" href="tir_2ir_8h.html#a9410989688d1a84ad2d088103f988b26">ir.h</a>
+</li>
 <li>TVM_TYPE_FUNCTOR_DISPATCH
 : <a class="el" href="type__functor_8h.html#afaa114a04d18cd3f8f11995628692d74">type_functor.h</a>
 </li>
diff --git a/docs/reference/api/doxygen/ir__builder_2tir_2frame_8h_source.html b/docs/reference/api/doxygen/ir__builder_2tir_2frame_8h_source.html
index bcd82a5f64..da2c9c5488 100644
--- a/docs/reference/api/doxygen/ir__builder_2tir_2frame_8h_source.html
+++ b/docs/reference/api/doxygen/ir__builder_2tir_2frame_8h_source.html
@@ -66,7 +66,7 @@ $(function() {
 <div class="title">frame.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ir__builder_2tir_2frame_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment [...]
+<a href="ir__builder_2tir_2frame_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment [...]
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html">tvm::script::ir_builder::tir::AllocateConstFrameNode</a></div><div class="ttdoc">A frame represents the allocate constant. </div><div class="ttdef"><b>Definition:</b> frame.h:495</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html">tvm::script::ir_builder::tir::AllocateFrameNode</a></div><div class="ttdoc">A frame represents the allocate. </div><div class="ttdef"><b>Definition:</b> frame.h:444</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrame.html">tvm::script::ir_builder::tir::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode. </div><div class="ttdef"><b>Definition:</b> frame.h:653</div></div>
@@ -87,8 +87,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode_html_acf1c9ac1eec92cbf916f2177481146fb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode.html#acf1c9ac1eec92cbf916f2177481146fb">tvm::script::ir_builder::tir::BlockFrameNode::reads</a></div><div class="ttdeci">Optional&lt; Array&lt; tvm::tir::BufferRegion &gt; &gt; reads</div><div class="ttdoc">The read buffer regions of the block. </div><div class="ttdef"><b>Definition: [...]
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrame.html">tvm::script::ir_builder::tir::LaunchThreadFrame</a></div><div class="ttdoc">Managed reference to LaunchThreadFrameNode. </div><div class="ttdef"><b>Definition:</b> frame.h:391</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrame.html">tvm::script::ir_builder::tir::AllocateConstFrame</a></div><div class="ttdoc">Managed reference to AllocateConstFrameNode. </div><div class="ttdef"><b>Definition:</b> frame.h:533</div></div>
-<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode_html_a5284f329953ea259af3028144968fdcd"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a5284f329953ea259af3028144968fdcd">tvm::script::ir_builder::tir::DeclBufferFrameNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> frame.h:728</div></div>
-<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode_html_ad7365c7b511a9f9dffc1aac531d046c2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#ad7365c7b511a9f9dffc1aac531d046c2">tvm::script::ir_builder::tir::AllocateFrameNode::buffer</a></div><div class="ttdeci">tvm::tir::Buffer buffer</div><div class="ttdoc">The buffer. </div><div class="ttdef"><b>Definition:</b> frame.h:457</div></div>
+<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode_html_a5284f329953ea259af3028144968fdcd"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a5284f329953ea259af3028144968fdcd">tvm::script::ir_builder::tir::DeclBufferFrameNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> frame.h:731</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrame.html">tvm::script::ir_builder::tir::BlockFrame</a></div><div class="ttdoc">Managed reference to BlockFrameNode. </div><div class="ttdef"><b>Definition:</b> frame.h:185</div></div>
 <div class="ttc" id="namespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">runtime implementation for LibTorch/TorchScript. </div><div class="ttdef"><b>Definition:</b> analyzer.h:36</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1RealizeFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1RealizeFrame.html">tvm::script::ir_builder::tir::RealizeFrame</a></div><div class="ttdoc">Managed reference to RealizeFrameNode. </div><div class="ttdef"><b>Definition:</b> frame.h:434</div></div>
@@ -138,7 +137,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1tir_1_1Stmt_html"><div class="ttname"><a href="classtvm_1_1tir_1_1Stmt.html">tvm::tir::Stmt</a></div><div class="ttdoc">Container of all statements. </div><div class="ttdef"><b>Definition:</b> stmt.h:57</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode_html_ac2fae69fd4b4923c2997d0e48e6820bd"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#ac2fae69fd4b4923c2997d0e48e6820bd">tvm::script::ir_builder::tir::AllocateFrameNode::storage_scope</a></div><div class="ttdeci">String storage_scope</div><div class="ttdoc">The storage scope. </div><div class="ttdef"><b>Definition:</b> frame.h:451</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode_html_aa70780de95c66113723fd753412ad34b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode.html#aa70780de95c66113723fd753412ad34b">tvm::script::ir_builder::tir::BlockFrameNode::annotations</a></div><div class="ttdeci">Optional&lt; Map&lt; String, ObjectRef &gt; &gt; annotations</div><div class="ttdoc">The annotation of the block. </div><div class="ttdef"><b>Definition:</b> [...]
-<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode_html_a573cf6a08a4d6c55548308b77469b3fc"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a573cf6a08a4d6c55548308b77469b3fc">tvm::script::ir_builder::tir::DeclBufferFrameNode::buffer</a></div><div class="ttdeci">tvm::tir::Buffer buffer</div><div class="ttdef"><b>Definition:</b> frame.h:726</div></div>
+<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode_html_a573cf6a08a4d6c55548308b77469b3fc"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a573cf6a08a4d6c55548308b77469b3fc">tvm::script::ir_builder::tir::DeclBufferFrameNode::buffer</a></div><div class="ttdeci">tvm::tir::Buffer buffer</div><div class="ttdoc">The declared buffer. </div><div class="ttdef"><b>Definition:</b> frame.h:727</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrameNode_html_afacff22429bac19053107c1024c3b91c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrameNode.html#afacff22429bac19053107c1024c3b91c">tvm::script::ir_builder::tir::LaunchThreadFrameNode::extent</a></div><div class="ttdeci">PrimExpr extent</div><div class="ttdoc">The extent of environment thread. </div><div class="ttdef"><b>Definition:</b> frame.h:362</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1String_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1String.html">tvm::runtime::String</a></div><div class="ttdoc">Reference to string objects. </div><div class="ttdef"><b>Definition:</b> string.h:97</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1TypedPackedFunc_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1TypedPackedFunc.html">tvm::runtime::TypedPackedFunc&lt; tvm::tir::Stmt(Array&lt; tvm::tir::Var &gt; loop_vars, Array&lt; Range &gt; loop_extents, tvm::tir::Stmt loop_body)&gt;</a></div></div>
@@ -172,14 +171,15 @@ $(function() {
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ThenFrame.html">tvm::script::ir_builder::tir::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode. </div><div class="ttdef"><b>Definition:</b> frame.h:686</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrameNode_html_a646ab14a567ccc1dbc05803fb45453ee"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrameNode.html#a646ab14a567ccc1dbc05803fb45453ee">tvm::script::ir_builder::tir::ForFrameNode::f_make_for_loop</a></div><div class="ttdeci">FMakeForLoop f_make_for_loop</div><div class="ttdoc">The for loop generating function. </div><div class="ttdef"><b>Definition:</b> frame.h:246</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode_html_a5a6ff996869df4462d45ce04cd8efcbb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a5a6ff996869df4462d45ce04cd8efcbb">tvm::script::ir_builder::tir::AllocateFrameNode::condition</a></div><div class="ttdeci">PrimExpr condition</div><div class="ttdoc">The condition. </div><div class="ttdef"><b>Definition:</b> frame.h:453</div></div>
+<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode_html_a22c42fc2abf33a4675850ae3ec826aec"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrameNode.html#a22c42fc2abf33a4675850ae3ec826aec">tvm::script::ir_builder::tir::AllocateFrameNode::buffer_var</a></div><div class="ttdeci">tvm::tir::Var buffer_var</div><div class="ttdoc">The buffer var. </div><div class="ttdef"><b>Definition:</b> frame.h:457</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrameNode.html">tvm::script::ir_builder::tir::LaunchThreadFrameNode</a></div><div class="ttdoc">The LaunchThreadFrameNode. </div><div class="ttdef"><b>Definition:</b> frame.h:359</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ThenFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ThenFrameNode.html">tvm::script::ir_builder::tir::ThenFrameNode</a></div><div class="ttdoc">A frame that represents then. </div><div class="ttdef"><b>Definition:</b> frame.h:663</div></div>
+<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode_html_a71f494b77cd89321bcd2d9bb7c7835e0"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrameNode.html#a71f494b77cd89321bcd2d9bb7c7835e0">tvm::script::ir_builder::tir::DeclBufferFrameNode::allocated</a></div><div class="ttdeci">bool allocated</div><div class="ttdoc">The buffer allocated or not. </div><div class="ttdef"><b>Definition:</b> frame.h:729</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Map_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Map.html">tvm::runtime::Map</a></div><div class="ttdoc">Map container of NodeRef-&gt;NodeRef in DSL graph. Map implements copy on write semantics, which means map is mutable but copy will happen when array is referenced in more than two places. </div><div class="ttdef"><b>Definition:</b> map.h:1271</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode_html_aa00a7144c5dc23443f757acf69766b4c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#aa00a7144c5dc23443f757acf69766b4c">tvm::script::ir_builder::IRBuilderFrameNode::ExitWithScope</a></div><div class="ttdeci">virtual void ExitWithScope()</div><div class="ttdoc">The method called when exiting RAII scope. </div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode_html_aab83629426451c65210bc3ba1fcda452"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockFrameNode.html#aab83629426451c65210bc3ba1fcda452">tvm::script::ir_builder::tir::BlockFrameNode::predicate</a></div><div class="ttdeci">Optional&lt; PrimExpr &gt; predicate</div><div class="ttdoc">The predicate of the block realization, the block will only be executed when the predicate is true [...]
-<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrame.html">tvm::script::ir_builder::tir::DeclBufferFrame</a></div><div class="ttdef"><b>Definition:</b> frame.h:740</div></div>
+<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1DeclBufferFrame.html">tvm::script::ir_builder::tir::DeclBufferFrame</a></div><div class="ttdef"><b>Definition:</b> frame.h:744</div></div>
 <div class="ttc" id="classtvm_1_1runtime_1_1Optional_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Optional.html">tvm::runtime::Optional</a></div><div class="ttdoc">Optional container that to represent to a Nullable variant of T. </div><div class="ttdef"><b>Definition:</b> optional.h:51</div></div>
-<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode_html_a9334403129924bc1ed84d8753dd9f672"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a9334403129924bc1ed84d8753dd9f672">tvm::script::ir_builder::tir::AllocateConstFrameNode::buffer</a></div><div class="ttdeci">tvm::tir::Buffer buffer</div><div class="ttdoc">The buffer. </div><div class="ttdef"><b>Definition:</b> frame.h:504</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1RealizeFrameNode_html_ab76c32f89b215b3d9f936233a10ee424"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1RealizeFrameNode.html#ab76c32f89b215b3d9f936233a10ee424">tvm::script::ir_builder::tir::RealizeFrameNode::condition</a></div><div class="ttdeci">PrimExpr condition</div><div class="ttdoc">The condition expression. </div><div class="ttdef"><b>Definition:</b> frame.h:409</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrameNode_html_a50f32b0496665b929e7ef56a4856eff7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrameNode.html#a50f32b0496665b929e7ef56a4856eff7">tvm::script::ir_builder::tir::ForFrameNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> frame.h:248</div></div>
 <div class="ttc" id="classtvm_1_1PrimExpr_html"><div class="ttname"><a href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></div><div class="ttdoc">Reference to PrimExprNode. </div><div class="ttdef"><b>Definition:</b> expr.h:112</div></div>
@@ -193,6 +193,7 @@ $(function() {
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrameNode_html_a84f72325f3fe12915183c5581d125d3f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrameNode.html#a84f72325f3fe12915183c5581d125d3f">tvm::script::ir_builder::tir::LaunchThreadFrameNode::iter_var</a></div><div class="ttdeci">tvm::tir::IterVar iter_var</div><div class="ttdoc">The iteration variable. </div><div class="ttdef"><b>Definition:</b> frame.h:366</div></div>
 <div class="ttc" id="script_2ir__builder_2base_8h_html"><div class="ttname"><a href="script_2ir__builder_2base_8h.html">base.h</a></div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrame.html">tvm::script::ir_builder::tir::BlockInitFrame</a></div><div class="ttdoc">Managed reference to BlockInitFrameNode. </div><div class="ttdef"><b>Definition:</b> frame.h:220</div></div>
+<div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode_html_a4b062ec7c2f519922051de6cfffd9762"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrameNode.html#a4b062ec7c2f519922051de6cfffd9762">tvm::script::ir_builder::tir::AllocateConstFrameNode::buffer_var</a></div><div class="ttdeci">tvm::tir::Var buffer_var</div><div class="ttdoc">The buffer var. </div><div class="ttdef"><b>Definition:</b> frame.h:504</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html">tvm::script::ir_builder::tir::TIRFrameNode</a></div><div class="ttdoc">A base frame that represents the TIR fame with body of statements. </div><div class="ttdef"><b>Definition:</b> frame.h:36</div></div>
 <div class="ttc" id="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode_html_a66267c80c4042b46ea86449d27dba61a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1TIRFrameNode.html#a66267c80c4042b46ea86449d27dba61a">tvm::script::ir_builder::tir::TIRFrameNode::VisitAttrs</a></div><div class="ttdeci">void VisitAttrs(tvm::AttrVisitor *v)</div><div class="ttdef"><b>Definition:</b> frame.h:41</div></div>
 </div><!-- fragment --></div><!-- contents -->
diff --git a/docs/reference/api/doxygen/namespacemembers.html b/docs/reference/api/doxygen/namespacemembers.html
index a4baa4fa10..bc2a9a25a2 100644
--- a/docs/reference/api/doxygen/namespacemembers.html
+++ b/docs/reference/api/doxygen/namespacemembers.html
@@ -107,7 +107,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa9787864f45dc62b7c3b6833003f96ea">tvm::script::ir_builder::tir</a>
 </li>
 <li>AllocateConst()
-: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acc2998389db5bc4d1d62610e908e5581">tvm::script::ir_builder::tir</a>
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a83286f6aa614fd519daa19573df13885">tvm::script::ir_builder::tir</a>
 </li>
 <li>AllocatorType
 : <a class="el" href="namespacetvm_1_1runtime_1_1vm.html#a71f7eacb312dc56f649ce8627a160c33">tvm::runtime::vm</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_b.html b/docs/reference/api/doxygen/namespacemembers_b.html
index 3283656442..077648e1b4 100644
--- a/docs/reference/api/doxygen/namespacemembers_b.html
+++ b/docs/reference/api/doxygen/namespacemembers_b.html
@@ -178,7 +178,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1tir.html#ac3d21b3e013c52e289180cd6d7d0a420">tvm::tir</a>
 </li>
 <li>build()
-: <a class="el" href="namespacetvm.html#ab5392acd55c76e34323a71a4052f7bb2">tvm</a>
+: <a class="el" href="namespacetvm.html#a018d7138c17ef78300ee256f6d348d00">tvm</a>
 </li>
 <li>Build()
 : <a class="el" href="namespacetvm_1_1codegen.html#a0d6322c2dda54a66a3b82022f5f3632c">tvm::codegen</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_f.html b/docs/reference/api/doxygen/namespacemembers_f.html
index 144d5859f9..2c6fa23a95 100644
--- a/docs/reference/api/doxygen/namespacemembers_f.html
+++ b/docs/reference/api/doxygen/namespacemembers_f.html
@@ -187,15 +187,75 @@ $(function() {
 <li>Float16()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aaf6b6dcbbd344633ac7549017151b1f4">tvm::script::ir_builder::tir</a>
 </li>
+<li>Float16x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af233b18ee0522a900568b14b6f9ef8d6">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float16x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad5311856f8b8b4df884170d8c4c513c8">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float16x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6843af0b415dd3c3555b176cd3233b6b">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float16x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac42c4020fca22350e8159b86cefb4031">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float16x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1f72082ac88788080f123bf8c93500e6">tvm::script::ir_builder::tir</a>
+</li>
 <li>Float32()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8878f384c4a2861add3f43da4aa7e080">tvm::script::ir_builder::tir</a>
 </li>
+<li>Float32x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acb206b62b60473442d995a4f868f57f1">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float32x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad859865f93db0e8b124464203253fdab">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float32x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#afc23e87468bd379cef2e436dec7380ec">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float32x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad363b06dcc7a557663219774aae3ae59">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float32x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae6706e8560ac719f2957e0186de014b3">tvm::script::ir_builder::tir</a>
+</li>
 <li>Float64()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6ff858a2cfb49c10fc00ae68a1728086">tvm::script::ir_builder::tir</a>
 </li>
+<li>Float64x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acccc0b5d430d1205b3d1a782cab67aae">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float64x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae07732bbb9fea30ff6b9c03a7150beeb">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float64x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4051e0d30c5fe712f65fffb8eee90d29">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float64x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab2aebc810c46e788e51c8e01a9eb7536">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float64x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4bb3d4dabf70259c2820a0f36c9e5661">tvm::script::ir_builder::tir</a>
+</li>
 <li>Float8()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8f02a339b55424163e97c46f1c9f7976">tvm::script::ir_builder::tir</a>
 </li>
+<li>Float8x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac5b707e9c9bd8ff20640e9aa5609f7ad">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float8x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a0c1842297c526585f5e7ecd5cf9fa835">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float8x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9d6a011a6d9a84e818bbed17821fca43">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float8x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9493b11608cc2420b3e3780726556f0c">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float8x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8d984cfc2c4f432a5e2bb16ed9723c9c">tvm::script::ir_builder::tir</a>
+</li>
 <li>FloatImmNode
 : <a class="el" href="namespacetvm_1_1tir.html#adb123be81447d2871f4c716ce2d1dc00">tvm::tir</a>
 </li>
@@ -210,7 +270,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1topi.html#a093080eceeaae43a605b8c4e638c9471">tvm::topi</a>
 </li>
 <li>floordiv()
-: <a class="el" href="namespacetvm.html#a87200564215339b900ca546678fc71a4">tvm</a>
+: <a class="el" href="namespacetvm.html#af347f10e3572adb2d74ba4a53777db2b">tvm</a>
 </li>
 <li>floormod()
 : <a class="el" href="namespacetvm.html#a8683adb542beba8ecc69354e50d62ef6">tvm</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_func.html b/docs/reference/api/doxygen/namespacemembers_func.html
index cb2a35b1df..f78004ff60 100644
--- a/docs/reference/api/doxygen/namespacemembers_func.html
+++ b/docs/reference/api/doxygen/namespacemembers_func.html
@@ -107,7 +107,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa9787864f45dc62b7c3b6833003f96ea">tvm::script::ir_builder::tir</a>
 </li>
 <li>AllocateConst()
-: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acc2998389db5bc4d1d62610e908e5581">tvm::script::ir_builder::tir</a>
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a83286f6aa614fd519daa19573df13885">tvm::script::ir_builder::tir</a>
 </li>
 <li>AllocBuffer()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a62a57ebae9d35dc7aeb63949eeb42080">tvm::script::ir_builder::tir</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_b.html b/docs/reference/api/doxygen/namespacemembers_func_b.html
index e9ba619099..6c02aca0b7 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_b.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_b.html
@@ -151,7 +151,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1tir.html#ac3d21b3e013c52e289180cd6d7d0a420">tvm::tir</a>
 </li>
 <li>build()
-: <a class="el" href="namespacetvm.html#a67dce8ba3396d28be88593081fc291fb">tvm</a>
+: <a class="el" href="namespacetvm.html#a018d7138c17ef78300ee256f6d348d00">tvm</a>
 </li>
 <li>Build()
 : <a class="el" href="namespacetvm_1_1codegen.html#a0d6322c2dda54a66a3b82022f5f3632c">tvm::codegen</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_f.html b/docs/reference/api/doxygen/namespacemembers_func_f.html
index 6191e6ddcd..24c1302652 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_f.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_f.html
@@ -121,30 +121,90 @@ $(function() {
 <li>Float16()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aaf6b6dcbbd344633ac7549017151b1f4">tvm::script::ir_builder::tir</a>
 </li>
+<li>Float16x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af233b18ee0522a900568b14b6f9ef8d6">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float16x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad5311856f8b8b4df884170d8c4c513c8">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float16x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6843af0b415dd3c3555b176cd3233b6b">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float16x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac42c4020fca22350e8159b86cefb4031">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float16x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1f72082ac88788080f123bf8c93500e6">tvm::script::ir_builder::tir</a>
+</li>
 <li>Float32()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8878f384c4a2861add3f43da4aa7e080">tvm::script::ir_builder::tir</a>
 </li>
+<li>Float32x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acb206b62b60473442d995a4f868f57f1">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float32x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad859865f93db0e8b124464203253fdab">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float32x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#afc23e87468bd379cef2e436dec7380ec">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float32x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad363b06dcc7a557663219774aae3ae59">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float32x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae6706e8560ac719f2957e0186de014b3">tvm::script::ir_builder::tir</a>
+</li>
 <li>Float64()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6ff858a2cfb49c10fc00ae68a1728086">tvm::script::ir_builder::tir</a>
 </li>
+<li>Float64x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acccc0b5d430d1205b3d1a782cab67aae">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float64x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae07732bbb9fea30ff6b9c03a7150beeb">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float64x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4051e0d30c5fe712f65fffb8eee90d29">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float64x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab2aebc810c46e788e51c8e01a9eb7536">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float64x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4bb3d4dabf70259c2820a0f36c9e5661">tvm::script::ir_builder::tir</a>
+</li>
 <li>Float8()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8f02a339b55424163e97c46f1c9f7976">tvm::script::ir_builder::tir</a>
 </li>
+<li>Float8x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac5b707e9c9bd8ff20640e9aa5609f7ad">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float8x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a0c1842297c526585f5e7ecd5cf9fa835">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float8x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9d6a011a6d9a84e818bbed17821fca43">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float8x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9493b11608cc2420b3e3780726556f0c">tvm::script::ir_builder::tir</a>
+</li>
+<li>Float8x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8d984cfc2c4f432a5e2bb16ed9723c9c">tvm::script::ir_builder::tir</a>
+</li>
 <li>floor()
 : <a class="el" href="namespacetvm.html#aaff65dde3044433b2220677aedf4855f">tvm</a>
 , <a class="el" href="namespacetvm_1_1topi.html#a25a91afb87b3b708c7de945afb9a6e69">tvm::topi</a>
 </li>
 <li>floor_divide()
-: <a class="el" href="namespacetvm_1_1topi.html#a6a04e135b576e7b4a17047168535c594">tvm::topi</a>
+: <a class="el" href="namespacetvm_1_1topi.html#ac972318d35093be225a3336843110626">tvm::topi</a>
 </li>
 <li>floor_mod()
-: <a class="el" href="namespacetvm_1_1topi.html#a570eec3c86e45d5722249d869db39c83">tvm::topi</a>
+: <a class="el" href="namespacetvm_1_1topi.html#a093080eceeaae43a605b8c4e638c9471">tvm::topi</a>
 </li>
 <li>floordiv()
 : <a class="el" href="namespacetvm.html#af347f10e3572adb2d74ba4a53777db2b">tvm</a>
 </li>
 <li>floormod()
-: <a class="el" href="namespacetvm.html#a8683adb542beba8ecc69354e50d62ef6">tvm</a>
+: <a class="el" href="namespacetvm.html#a93ac0e2663a2169194399b57ae39b003">tvm</a>
 </li>
 <li>fma()
 : <a class="el" href="namespacetvm_1_1tir_1_1builtin.html#a1e15b04fe89f7899e09e528946aa5bb4">tvm::tir::builtin</a>
@@ -165,10 +225,10 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1relay_1_1transform.html#aab7f62610e05ed0211f17d452ee37f5f">tvm::relay::transform</a>
 </li>
 <li>ForwardRewrite()
-: <a class="el" href="namespacetvm_1_1relay.html#ae6b8ec762f81290872d611c40cc72458">tvm::relay</a>
+: <a class="el" href="namespacetvm_1_1relay.html#a01b761b2455ca384e5b81100069ef9a3">tvm::relay</a>
 </li>
 <li>FreeTypeVars()
-: <a class="el" href="namespacetvm_1_1relay.html#a446e2b12f3e907336313004c3e0a0c86">tvm::relay</a>
+: <a class="el" href="namespacetvm_1_1relay.html#acc529cca9623ac81c8aa6e106cdb5850">tvm::relay</a>
 </li>
 <li>FreeVars()
 : <a class="el" href="namespacetvm_1_1relay.html#af2c5771c67f06c0af32c7b4b4269e73f">tvm::relay</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_i.html b/docs/reference/api/doxygen/namespacemembers_func_i.html
index bb8c3b2511..a7dc16b061 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_i.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_i.html
@@ -129,24 +129,75 @@ $(function() {
 <li>Int16()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a71a8950ee36a0cc96b08f6a38a67beb8">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int16x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a384760861c5679c8f3228fb069c4525b">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int16x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a535df06d8e6eec52c711be076ca919da">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int16x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aee6b73b52838f0921c9dae3a6820b9a6">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int16x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af817e48b37ce691b1538708ee4a96ae4">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int16x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a42335d7e171d3a46711e43ffd241e68d">tvm::script::ir_builder::tir</a>
+</li>
 <li>Int32()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af90ae386a2b910cc52c17ebb6390404e">tvm::script::ir_builder::tir</a>
 </li>
 <li>Int32x16()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4945336e84e5ce9b60b583ac0adb28d6">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int32x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9f621b090a72a31cf4b80978d88ccf76">tvm::script::ir_builder::tir</a>
+</li>
 <li>Int32x4()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1d7bdb8458778293ced5af6ad9378283">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int32x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a57b983ed9d4d5000d0372e64e526f9e0">tvm::script::ir_builder::tir</a>
+</li>
 <li>Int32x8()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae89c85eabf166d4efddff53988ff57b5">tvm::script::ir_builder::tir</a>
 </li>
 <li>Int64()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a7e3533536d109d1a5dd037c356ac2662">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int64x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a3c2d6fdb8690f5593c1d43b0cdf43d4e">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int64x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a7e047daab47ebe417cdda5e3209607af">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int64x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa84d61b0037299683391cfb1792064f9">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int64x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a61b20548797f6cbb80de229afe1cce53">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int64x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a972550fc782bca80bfc88281e88d6022">tvm::script::ir_builder::tir</a>
+</li>
 <li>Int8()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa8e3f67af7d6676f0980fa5fa6406ee7">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int8x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4738b9544893c5f7992efefd8959af1d">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int8x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8092c0c7d3e9c111c2c247cae4eda1e9">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int8x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8324f437b88e52d038fb35b35ee094a0">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int8x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6750fab4bf57aeb380dabe6fce99c5a4">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int8x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac575b8dc0c148ea90512e7443fde3073">tvm::script::ir_builder::tir</a>
+</li>
 <li>Intersect()
 : <a class="el" href="namespacetvm_1_1arith.html#ad66a987ddb3d8aee69f9175bf412eb8a">tvm::arith</a>
 </li>
diff --git a/docs/reference/api/doxygen/namespacemembers_func_u.html b/docs/reference/api/doxygen/namespacemembers_func_u.html
index 15a8a2258a..e19ae131b2 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_u.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_u.html
@@ -64,15 +64,75 @@ $(function() {
 <li>UInt16()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac18cfb33b4b074bebb62a0022e3fddd9">tvm::script::ir_builder::tir</a>
 </li>
+<li>UInt16x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a5505117dc914ce1bfe08fe140134dbc9">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt16x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a22c54a2af8641b558a1ad2895acb3005">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt16x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a31de2e593c18ff9cff149cc1c5f7ebb8">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt16x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#afcd528fd1230b26fce48701ce44619e3">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt16x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a0110fa08ba2f1b0d29292e4dc6d6f41d">tvm::script::ir_builder::tir</a>
+</li>
 <li>UInt32()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa7dab1502059beec51115d2fc80d7467">tvm::script::ir_builder::tir</a>
 </li>
+<li>UInt32x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab1a1aa826e5d680ad549247c55437325">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt32x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a5a86c4391013e0b0791fa8d74e925f8f">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt32x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a79e5972bf85473593165a557c7ac1ded">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt32x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1895112a229f0e1129328368f8124361">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt32x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a3e9853322f7173158dba8bea26cfeefc">tvm::script::ir_builder::tir</a>
+</li>
 <li>UInt64()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#addcd399b813b5989ff7c45a50b9a0925">tvm::script::ir_builder::tir</a>
 </li>
+<li>UInt64x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a998c1aa94e4462047190261120acdae9">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt64x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6b7b72765526b8f96cf3291f5e1c083b">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt64x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aaef8e2bd7738e488d4fac10c757a3acf">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt64x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4b6ead30ca701c211d3eac598d86b25a">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt64x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a2fcd410ad9a6e3132821db76bf7eb537">tvm::script::ir_builder::tir</a>
+</li>
 <li>UInt8()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a79bce011a3c96be3481e02fa595026e0">tvm::script::ir_builder::tir</a>
 </li>
+<li>UInt8x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4c909574d4809116f228e6212b13ec56">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt8x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa9ab96e8f14b6ee6b140bd3b7261fdd9">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt8x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab796b555e2ec6855db23676cdde3bb2d">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt8x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a297d6deaea7f8520c75b70828bb017cb">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt8x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ada38005ba6aef4e9dbae3028c1e40dd4">tvm::script::ir_builder::tir</a>
+</li>
 <li>UnCPS()
 : <a class="el" href="namespacetvm_1_1relay.html#a1677d450d58078811f52fd70d67db515">tvm::relay</a>
 </li>
@@ -80,7 +140,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1tir_1_1builtin.html#a77a72a2e21fe0ea2118479924b4fb877">tvm::tir::builtin</a>
 </li>
 <li>UndefinedVars()
-: <a class="el" href="namespacetvm_1_1tir.html#a99de316b20c7af2e8b4f06773ee69a5a">tvm::tir</a>
+: <a class="el" href="namespacetvm_1_1tir.html#ae110e02855d8bc12eb8b6f92ed391844">tvm::tir</a>
 </li>
 <li>UnifiedStaticMemoryPlanner()
 : <a class="el" href="namespacetvm_1_1tir_1_1transform.html#aca44076eb1085d664877596a8b8587d4">tvm::tir::transform</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_i.html b/docs/reference/api/doxygen/namespacemembers_i.html
index b0853ba5b0..6a1c8678ca 100644
--- a/docs/reference/api/doxygen/namespacemembers_i.html
+++ b/docs/reference/api/doxygen/namespacemembers_i.html
@@ -141,24 +141,75 @@ $(function() {
 <li>Int16()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a71a8950ee36a0cc96b08f6a38a67beb8">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int16x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a384760861c5679c8f3228fb069c4525b">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int16x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a535df06d8e6eec52c711be076ca919da">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int16x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aee6b73b52838f0921c9dae3a6820b9a6">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int16x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af817e48b37ce691b1538708ee4a96ae4">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int16x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a42335d7e171d3a46711e43ffd241e68d">tvm::script::ir_builder::tir</a>
+</li>
 <li>Int32()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af90ae386a2b910cc52c17ebb6390404e">tvm::script::ir_builder::tir</a>
 </li>
 <li>Int32x16()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4945336e84e5ce9b60b583ac0adb28d6">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int32x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9f621b090a72a31cf4b80978d88ccf76">tvm::script::ir_builder::tir</a>
+</li>
 <li>Int32x4()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1d7bdb8458778293ced5af6ad9378283">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int32x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a57b983ed9d4d5000d0372e64e526f9e0">tvm::script::ir_builder::tir</a>
+</li>
 <li>Int32x8()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae89c85eabf166d4efddff53988ff57b5">tvm::script::ir_builder::tir</a>
 </li>
 <li>Int64()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a7e3533536d109d1a5dd037c356ac2662">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int64x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a3c2d6fdb8690f5593c1d43b0cdf43d4e">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int64x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a7e047daab47ebe417cdda5e3209607af">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int64x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa84d61b0037299683391cfb1792064f9">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int64x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a61b20548797f6cbb80de229afe1cce53">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int64x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a972550fc782bca80bfc88281e88d6022">tvm::script::ir_builder::tir</a>
+</li>
 <li>Int8()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa8e3f67af7d6676f0980fa5fa6406ee7">tvm::script::ir_builder::tir</a>
 </li>
+<li>Int8x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4738b9544893c5f7992efefd8959af1d">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int8x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8092c0c7d3e9c111c2c247cae4eda1e9">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int8x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8324f437b88e52d038fb35b35ee094a0">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int8x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6750fab4bf57aeb380dabe6fce99c5a4">tvm::script::ir_builder::tir</a>
+</li>
+<li>Int8x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac575b8dc0c148ea90512e7443fde3073">tvm::script::ir_builder::tir</a>
+</li>
 <li>Intersect()
 : <a class="el" href="namespacetvm_1_1arith.html#ad66a987ddb3d8aee69f9175bf412eb8a">tvm::arith</a>
 </li>
@@ -178,7 +229,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1topi.html#ad5dcb2721aae4c9b84552b85db6e6cae">tvm::topi</a>
 </li>
 <li>is_const_int()
-: <a class="el" href="namespacetvm_1_1tir.html#a5c414d5e54c099ad7287be302aac8f02">tvm::tir</a>
+: <a class="el" href="namespacetvm_1_1tir.html#a65923ae132fcc764357a8765878fb528">tvm::tir</a>
 </li>
 <li>is_const_number()
 : <a class="el" href="namespacetvm_1_1tir.html#a5b96c80ce43c8276e39c15787d997651">tvm::tir</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_s.html b/docs/reference/api/doxygen/namespacemembers_s.html
index 4e182cd946..9e4f6b83df 100644
--- a/docs/reference/api/doxygen/namespacemembers_s.html
+++ b/docs/reference/api/doxygen/namespacemembers_s.html
@@ -383,7 +383,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1tir.html#ae06122cce8e8888b5ed3568e7a4368bc">tvm::tir</a>
 </li>
 <li>subtract()
-: <a class="el" href="namespacetvm_1_1topi.html#a1447c5af8653fa4fcbe69ee287a0a8fa">tvm::topi</a>
+: <a class="el" href="namespacetvm_1_1topi.html#a461a374321614b257311660b8bc45d0d">tvm::topi</a>
 </li>
 <li>sum()
 : <a class="el" href="namespacetvm.html#afdad0c0329bd39949ba8d296cfb85d76">tvm</a>
diff --git a/docs/reference/api/doxygen/namespacemembers_u.html b/docs/reference/api/doxygen/namespacemembers_u.html
index 762ab0dffc..a6ae30b37e 100644
--- a/docs/reference/api/doxygen/namespacemembers_u.html
+++ b/docs/reference/api/doxygen/namespacemembers_u.html
@@ -64,15 +64,75 @@ $(function() {
 <li>UInt16()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac18cfb33b4b074bebb62a0022e3fddd9">tvm::script::ir_builder::tir</a>
 </li>
+<li>UInt16x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a5505117dc914ce1bfe08fe140134dbc9">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt16x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a22c54a2af8641b558a1ad2895acb3005">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt16x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a31de2e593c18ff9cff149cc1c5f7ebb8">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt16x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#afcd528fd1230b26fce48701ce44619e3">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt16x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a0110fa08ba2f1b0d29292e4dc6d6f41d">tvm::script::ir_builder::tir</a>
+</li>
 <li>UInt32()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa7dab1502059beec51115d2fc80d7467">tvm::script::ir_builder::tir</a>
 </li>
+<li>UInt32x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab1a1aa826e5d680ad549247c55437325">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt32x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a5a86c4391013e0b0791fa8d74e925f8f">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt32x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a79e5972bf85473593165a557c7ac1ded">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt32x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1895112a229f0e1129328368f8124361">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt32x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a3e9853322f7173158dba8bea26cfeefc">tvm::script::ir_builder::tir</a>
+</li>
 <li>UInt64()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#addcd399b813b5989ff7c45a50b9a0925">tvm::script::ir_builder::tir</a>
 </li>
+<li>UInt64x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a998c1aa94e4462047190261120acdae9">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt64x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6b7b72765526b8f96cf3291f5e1c083b">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt64x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aaef8e2bd7738e488d4fac10c757a3acf">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt64x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4b6ead30ca701c211d3eac598d86b25a">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt64x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a2fcd410ad9a6e3132821db76bf7eb537">tvm::script::ir_builder::tir</a>
+</li>
 <li>UInt8()
 : <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a79bce011a3c96be3481e02fa595026e0">tvm::script::ir_builder::tir</a>
 </li>
+<li>UInt8x16()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4c909574d4809116f228e6212b13ec56">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt8x32()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa9ab96e8f14b6ee6b140bd3b7261fdd9">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt8x4()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab796b555e2ec6855db23676cdde3bb2d">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt8x64()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a297d6deaea7f8520c75b70828bb017cb">tvm::script::ir_builder::tir</a>
+</li>
+<li>UInt8x8()
+: <a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ada38005ba6aef4e9dbae3028c1e40dd4">tvm::script::ir_builder::tir</a>
+</li>
 <li>UnCPS()
 : <a class="el" href="namespacetvm_1_1relay.html#a1677d450d58078811f52fd70d67db515">tvm::relay</a>
 </li>
@@ -80,7 +140,7 @@ $(function() {
 : <a class="el" href="namespacetvm_1_1tir_1_1builtin.html#a77a72a2e21fe0ea2118479924b4fb877">tvm::tir::builtin</a>
 </li>
 <li>UndefinedVars()
-: <a class="el" href="namespacetvm_1_1tir.html#a99de316b20c7af2e8b4f06773ee69a5a">tvm::tir</a>
+: <a class="el" href="namespacetvm_1_1tir.html#ae110e02855d8bc12eb8b6f92ed391844">tvm::tir</a>
 </li>
 <li>UnifiedStaticMemoryPlanner()
 : <a class="el" href="namespacetvm_1_1tir_1_1transform.html#aca44076eb1085d664877596a8b8587d4">tvm::tir::transform</a>
diff --git a/docs/reference/api/doxygen/namespacetvm_1_1script_1_1ir__builder_1_1tir.html b/docs/reference/api/doxygen/namespacetvm_1_1script_1_1ir__builder_1_1tir.html
index 4cc91eef03..df9f1e61c3 100644
--- a/docs/reference/api/doxygen/namespacetvm_1_1script_1_1ir__builder_1_1tir.html
+++ b/docs/reference/api/doxygen/namespacetvm_1_1script_1_1ir__builder_1_1tir.html
@@ -259,9 +259,9 @@ Functions</h2></td></tr>
 <tr class="memitem:aa9787864f45dc62b7c3b6833003f96ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateFrame.html">AllocateFrame</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa9787864f45dc62b7c3b6833003f96ea">Allocate</a> (<a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html" [...]
 <tr class="memdesc:aa9787864f45dc62b7c3b6833003f96ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">The allocate node.  <a href="#aa9787864f45dc62b7c3b6833003f96ea">More...</a><br /></td></tr>
 <tr class="separator:aa9787864f45dc62b7c3b6833003f96ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acc2998389db5bc4d1d62610e908e5581"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrame.html">AllocateConstFrame</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acc2998389db5bc4d1d62610e908e5581">AllocateConst</a> (<a class="el" href="classtvm_1_1runtime_1_1NDArray.html">NDArray</a> data, <a class="el" href="names [...]
-<tr class="memdesc:acc2998389db5bc4d1d62610e908e5581"><td class="mdescLeft">&#160;</td><td class="mdescRight">The allocate constant node.  <a href="#acc2998389db5bc4d1d62610e908e5581">More...</a><br /></td></tr>
-<tr class="separator:acc2998389db5bc4d1d62610e908e5581"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83286f6aa614fd519daa19573df13885"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AllocateConstFrame.html">AllocateConstFrame</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a83286f6aa614fd519daa19573df13885">AllocateConst</a> (<a class="el" href="classtvm_1_1runtime_1_1NDArray.html">NDArray</a> data, <a class="el" href="names [...]
+<tr class="memdesc:a83286f6aa614fd519daa19573df13885"><td class="mdescLeft">&#160;</td><td class="mdescRight">The allocate constant node.  <a href="#a83286f6aa614fd519daa19573df13885">More...</a><br /></td></tr>
+<tr class="separator:a83286f6aa614fd519daa19573df13885"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7a8f20d29de99ce15b603c5e6ace3ca0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1AttrFrame.html">AttrFrame</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a7a8f20d29de99ce15b603c5e6ace3ca0">Attr</a> (<a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> node, <a class="el" href="classtvm_1_1runtime_1_1Strin [...]
 <tr class="memdesc:a7a8f20d29de99ce15b603c5e6ace3ca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an attribute.  <a href="#a7a8f20d29de99ce15b603c5e6ace3ca0">More...</a><br /></td></tr>
 <tr class="separator:a7a8f20d29de99ce15b603c5e6ace3ca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -298,22 +298,6 @@ Functions</h2></td></tr>
 <tr class="memitem:a8e12c34d610496c0053a9491b0f04b32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8e12c34d610496c0053a9491b0f04b32">Ptr</a> (<a class="el" href="classtvm_1_1runtime_1_1DataType.html">runtime::DataType</a> dtype, <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a> storage_ [...]
 <tr class="memdesc:a8e12c34d610496c0053a9491b0f04b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">The pointer declaration function.  <a href="#a8e12c34d610496c0053a9491b0f04b32">More...</a><br /></td></tr>
 <tr class="separator:a8e12c34d610496c0053a9491b0f04b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa8e3f67af7d6676f0980fa5fa6406ee7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa8e3f67af7d6676f0980fa5fa6406ee7">Int8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" hr [...]
-<tr class="separator:aa8e3f67af7d6676f0980fa5fa6406ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a71a8950ee36a0cc96b08f6a38a67beb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a71a8950ee36a0cc96b08f6a38a67beb8">Int16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" h [...]
-<tr class="separator:a71a8950ee36a0cc96b08f6a38a67beb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af90ae386a2b910cc52c17ebb6390404e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af90ae386a2b910cc52c17ebb6390404e">Int32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" h [...]
-<tr class="separator:af90ae386a2b910cc52c17ebb6390404e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7e3533536d109d1a5dd037c356ac2662"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a7e3533536d109d1a5dd037c356ac2662">Int64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" h [...]
-<tr class="separator:a7e3533536d109d1a5dd037c356ac2662"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a79bce011a3c96be3481e02fa595026e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a79bce011a3c96be3481e02fa595026e0">UInt8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" h [...]
-<tr class="separator:a79bce011a3c96be3481e02fa595026e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac18cfb33b4b074bebb62a0022e3fddd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac18cfb33b4b074bebb62a0022e3fddd9">UInt16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
-<tr class="separator:ac18cfb33b4b074bebb62a0022e3fddd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa7dab1502059beec51115d2fc80d7467"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa7dab1502059beec51115d2fc80d7467">UInt32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
-<tr class="separator:aa7dab1502059beec51115d2fc80d7467"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:addcd399b813b5989ff7c45a50b9a0925"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#addcd399b813b5989ff7c45a50b9a0925">UInt64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
-<tr class="separator:addcd399b813b5989ff7c45a50b9a0925"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8f02a339b55424163e97c46f1c9f7976"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8f02a339b55424163e97c46f1c9f7976">Float8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
 <tr class="separator:a8f02a339b55424163e97c46f1c9f7976"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aaf6b6dcbbd344633ac7549017151b1f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aaf6b6dcbbd344633ac7549017151b1f4">Float16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
@@ -322,12 +306,142 @@ Functions</h2></td></tr>
 <tr class="separator:a8878f384c4a2861add3f43da4aa7e080"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6ff858a2cfb49c10fc00ae68a1728086"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6ff858a2cfb49c10fc00ae68a1728086">Float64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
 <tr class="separator:a6ff858a2cfb49c10fc00ae68a1728086"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79bce011a3c96be3481e02fa595026e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a79bce011a3c96be3481e02fa595026e0">UInt8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" h [...]
+<tr class="separator:a79bce011a3c96be3481e02fa595026e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac18cfb33b4b074bebb62a0022e3fddd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac18cfb33b4b074bebb62a0022e3fddd9">UInt16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
+<tr class="separator:ac18cfb33b4b074bebb62a0022e3fddd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7dab1502059beec51115d2fc80d7467"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa7dab1502059beec51115d2fc80d7467">UInt32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
+<tr class="separator:aa7dab1502059beec51115d2fc80d7467"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addcd399b813b5989ff7c45a50b9a0925"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#addcd399b813b5989ff7c45a50b9a0925">UInt64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
+<tr class="separator:addcd399b813b5989ff7c45a50b9a0925"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8e3f67af7d6676f0980fa5fa6406ee7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa8e3f67af7d6676f0980fa5fa6406ee7">Int8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" hr [...]
+<tr class="separator:aa8e3f67af7d6676f0980fa5fa6406ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71a8950ee36a0cc96b08f6a38a67beb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a71a8950ee36a0cc96b08f6a38a67beb8">Int16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" h [...]
+<tr class="separator:a71a8950ee36a0cc96b08f6a38a67beb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af90ae386a2b910cc52c17ebb6390404e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af90ae386a2b910cc52c17ebb6390404e">Int32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" h [...]
+<tr class="separator:af90ae386a2b910cc52c17ebb6390404e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e3533536d109d1a5dd037c356ac2662"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a7e3533536d109d1a5dd037c356ac2662">Int64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" h [...]
+<tr class="separator:a7e3533536d109d1a5dd037c356ac2662"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d6a011a6d9a84e818bbed17821fca43"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9d6a011a6d9a84e818bbed17821fca43">Float8x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a9d6a011a6d9a84e818bbed17821fca43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d984cfc2c4f432a5e2bb16ed9723c9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8d984cfc2c4f432a5e2bb16ed9723c9c">Float8x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a8d984cfc2c4f432a5e2bb16ed9723c9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5b707e9c9bd8ff20640e9aa5609f7ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac5b707e9c9bd8ff20640e9aa5609f7ad">Float8x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:ac5b707e9c9bd8ff20640e9aa5609f7ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c1842297c526585f5e7ecd5cf9fa835"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a0c1842297c526585f5e7ecd5cf9fa835">Float8x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a0c1842297c526585f5e7ecd5cf9fa835"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9493b11608cc2420b3e3780726556f0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9493b11608cc2420b3e3780726556f0c">Float8x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a9493b11608cc2420b3e3780726556f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6843af0b415dd3c3555b176cd3233b6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6843af0b415dd3c3555b176cd3233b6b">Float16x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a6843af0b415dd3c3555b176cd3233b6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f72082ac88788080f123bf8c93500e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1f72082ac88788080f123bf8c93500e6">Float16x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a1f72082ac88788080f123bf8c93500e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af233b18ee0522a900568b14b6f9ef8d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af233b18ee0522a900568b14b6f9ef8d6">Float16x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:af233b18ee0522a900568b14b6f9ef8d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5311856f8b8b4df884170d8c4c513c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad5311856f8b8b4df884170d8c4c513c8">Float16x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:ad5311856f8b8b4df884170d8c4c513c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac42c4020fca22350e8159b86cefb4031"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac42c4020fca22350e8159b86cefb4031">Float16x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:ac42c4020fca22350e8159b86cefb4031"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc23e87468bd379cef2e436dec7380ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#afc23e87468bd379cef2e436dec7380ec">Float32x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:afc23e87468bd379cef2e436dec7380ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6706e8560ac719f2957e0186de014b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae6706e8560ac719f2957e0186de014b3">Float32x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:ae6706e8560ac719f2957e0186de014b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb206b62b60473442d995a4f868f57f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acb206b62b60473442d995a4f868f57f1">Float32x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:acb206b62b60473442d995a4f868f57f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad859865f93db0e8b124464203253fdab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad859865f93db0e8b124464203253fdab">Float32x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:ad859865f93db0e8b124464203253fdab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad363b06dcc7a557663219774aae3ae59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ad363b06dcc7a557663219774aae3ae59">Float32x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:ad363b06dcc7a557663219774aae3ae59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4051e0d30c5fe712f65fffb8eee90d29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4051e0d30c5fe712f65fffb8eee90d29">Float64x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a4051e0d30c5fe712f65fffb8eee90d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4bb3d4dabf70259c2820a0f36c9e5661"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4bb3d4dabf70259c2820a0f36c9e5661">Float64x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a4bb3d4dabf70259c2820a0f36c9e5661"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acccc0b5d430d1205b3d1a782cab67aae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#acccc0b5d430d1205b3d1a782cab67aae">Float64x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:acccc0b5d430d1205b3d1a782cab67aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae07732bbb9fea30ff6b9c03a7150beeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae07732bbb9fea30ff6b9c03a7150beeb">Float64x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:ae07732bbb9fea30ff6b9c03a7150beeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2aebc810c46e788e51c8e01a9eb7536"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab2aebc810c46e788e51c8e01a9eb7536">Float64x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class=" [...]
+<tr class="separator:ab2aebc810c46e788e51c8e01a9eb7536"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab796b555e2ec6855db23676cdde3bb2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab796b555e2ec6855db23676cdde3bb2d">UInt8x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:ab796b555e2ec6855db23676cdde3bb2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada38005ba6aef4e9dbae3028c1e40dd4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ada38005ba6aef4e9dbae3028c1e40dd4">UInt8x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:ada38005ba6aef4e9dbae3028c1e40dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c909574d4809116f228e6212b13ec56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4c909574d4809116f228e6212b13ec56">UInt8x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a4c909574d4809116f228e6212b13ec56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9ab96e8f14b6ee6b140bd3b7261fdd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa9ab96e8f14b6ee6b140bd3b7261fdd9">UInt8x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:aa9ab96e8f14b6ee6b140bd3b7261fdd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a297d6deaea7f8520c75b70828bb017cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a297d6deaea7f8520c75b70828bb017cb">UInt8x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a297d6deaea7f8520c75b70828bb017cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31de2e593c18ff9cff149cc1c5f7ebb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a31de2e593c18ff9cff149cc1c5f7ebb8">UInt16x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a31de2e593c18ff9cff149cc1c5f7ebb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0110fa08ba2f1b0d29292e4dc6d6f41d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a0110fa08ba2f1b0d29292e4dc6d6f41d">UInt16x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a0110fa08ba2f1b0d29292e4dc6d6f41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5505117dc914ce1bfe08fe140134dbc9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a5505117dc914ce1bfe08fe140134dbc9">UInt16x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a5505117dc914ce1bfe08fe140134dbc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a22c54a2af8641b558a1ad2895acb3005"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a22c54a2af8641b558a1ad2895acb3005">UInt16x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a22c54a2af8641b558a1ad2895acb3005"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afcd528fd1230b26fce48701ce44619e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#afcd528fd1230b26fce48701ce44619e3">UInt16x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:afcd528fd1230b26fce48701ce44619e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79e5972bf85473593165a557c7ac1ded"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a79e5972bf85473593165a557c7ac1ded">UInt32x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a79e5972bf85473593165a557c7ac1ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e9853322f7173158dba8bea26cfeefc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a3e9853322f7173158dba8bea26cfeefc">UInt32x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a3e9853322f7173158dba8bea26cfeefc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1a1aa826e5d680ad549247c55437325"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ab1a1aa826e5d680ad549247c55437325">UInt32x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:ab1a1aa826e5d680ad549247c55437325"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a86c4391013e0b0791fa8d74e925f8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a5a86c4391013e0b0791fa8d74e925f8f">UInt32x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a5a86c4391013e0b0791fa8d74e925f8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1895112a229f0e1129328368f8124361"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1895112a229f0e1129328368f8124361">UInt32x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a1895112a229f0e1129328368f8124361"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaef8e2bd7738e488d4fac10c757a3acf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aaef8e2bd7738e488d4fac10c757a3acf">UInt64x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:aaef8e2bd7738e488d4fac10c757a3acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2fcd410ad9a6e3132821db76bf7eb537"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a2fcd410ad9a6e3132821db76bf7eb537">UInt64x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a2fcd410ad9a6e3132821db76bf7eb537"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a998c1aa94e4462047190261120acdae9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a998c1aa94e4462047190261120acdae9">UInt64x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a998c1aa94e4462047190261120acdae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b7b72765526b8f96cf3291f5e1c083b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6b7b72765526b8f96cf3291f5e1c083b">UInt64x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a6b7b72765526b8f96cf3291f5e1c083b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b6ead30ca701c211d3eac598d86b25a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4b6ead30ca701c211d3eac598d86b25a">UInt64x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="e [...]
+<tr class="separator:a4b6ead30ca701c211d3eac598d86b25a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8324f437b88e52d038fb35b35ee094a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8324f437b88e52d038fb35b35ee094a0">Int8x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
+<tr class="separator:a8324f437b88e52d038fb35b35ee094a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac575b8dc0c148ea90512e7443fde3073"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ac575b8dc0c148ea90512e7443fde3073">Int8x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
+<tr class="separator:ac575b8dc0c148ea90512e7443fde3073"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4738b9544893c5f7992efefd8959af1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4738b9544893c5f7992efefd8959af1d">Int8x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:a4738b9544893c5f7992efefd8959af1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8092c0c7d3e9c111c2c247cae4eda1e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a8092c0c7d3e9c111c2c247cae4eda1e9">Int8x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:a8092c0c7d3e9c111c2c247cae4eda1e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6750fab4bf57aeb380dabe6fce99c5a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a6750fab4bf57aeb380dabe6fce99c5a4">Int8x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:a6750fab4bf57aeb380dabe6fce99c5a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee6b73b52838f0921c9dae3a6820b9a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aee6b73b52838f0921c9dae3a6820b9a6">Int16x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:aee6b73b52838f0921c9dae3a6820b9a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42335d7e171d3a46711e43ffd241e68d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a42335d7e171d3a46711e43ffd241e68d">Int16x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:a42335d7e171d3a46711e43ffd241e68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a384760861c5679c8f3228fb069c4525b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a384760861c5679c8f3228fb069c4525b">Int16x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a384760861c5679c8f3228fb069c4525b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a535df06d8e6eec52c711be076ca919da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a535df06d8e6eec52c711be076ca919da">Int16x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a535df06d8e6eec52c711be076ca919da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af817e48b37ce691b1538708ee4a96ae4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#af817e48b37ce691b1538708ee4a96ae4">Int16x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:af817e48b37ce691b1538708ee4a96ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1d7bdb8458778293ced5af6ad9378283"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a1d7bdb8458778293ced5af6ad9378283">Int32x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
 <tr class="separator:a1d7bdb8458778293ced5af6ad9378283"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae89c85eabf166d4efddff53988ff57b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#ae89c85eabf166d4efddff53988ff57b5">Int32x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
 <tr class="separator:ae89c85eabf166d4efddff53988ff57b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4945336e84e5ce9b60b583ac0adb28d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a4945336e84e5ce9b60b583ac0adb28d6">Int32x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
 <tr class="separator:a4945336e84e5ce9b60b583ac0adb28d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f621b090a72a31cf4b80978d88ccf76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a9f621b090a72a31cf4b80978d88ccf76">Int32x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a9f621b090a72a31cf4b80978d88ccf76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57b983ed9d4d5000d0372e64e526f9e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a57b983ed9d4d5000d0372e64e526f9e0">Int32x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a57b983ed9d4d5000d0372e64e526f9e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa84d61b0037299683391cfb1792064f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#aa84d61b0037299683391cfb1792064f9">Int64x4</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:aa84d61b0037299683391cfb1792064f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a972550fc782bca80bfc88281e88d6022"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a972550fc782bca80bfc88281e88d6022">Int64x8</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
+<tr class="separator:a972550fc782bca80bfc88281e88d6022"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c2d6fdb8690f5593c1d43b0cdf43d4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a3c2d6fdb8690f5593c1d43b0cdf43d4e">Int64x16</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a3c2d6fdb8690f5593c1d43b0cdf43d4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e047daab47ebe417cdda5e3209607af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a7e047daab47ebe417cdda5e3209607af">Int64x32</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a7e047daab47ebe417cdda5e3209607af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61b20548797f6cbb80de229afe1cce53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a61b20548797f6cbb80de229afe1cce53">Int64x64</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el [...]
+<tr class="separator:a61b20548797f6cbb80de229afe1cce53"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a95b135dca5d84261342b70d3d8a34acc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a95b135dca5d84261342b70d3d8a34acc">Boolean</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el" [...]
 <tr class="separator:a95b135dca5d84261342b70d3d8a34acc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a07e14252128fe48c5e9bbd33c1e460fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tir.html#a07e14252128fe48c5e9bbd33c1e460fc">Handle</a> (<a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt; expr=<a class="el"  [...]
@@ -395,8 +509,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="acc2998389db5bc4d1d62610e908e5581"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acc2998389db5bc4d1d62610e908e5581">&#9670;&nbsp;</a></span>AllocateConst()</h2>
+<a id="a83286f6aa614fd519daa19573df13885"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83286f6aa614fd519daa19573df13885">&#9670;&nbsp;</a></span>AllocateConst()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -422,8 +536,8 @@ Functions</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &gt;&#160;</td>
-          <td class="paramname"><em>annotations</em> = <code><a class="el" href="namespacetvm.html#ab6c242e8ac09beb463fba306948b7f15">NullValue</a>&lt;&#160;<a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt;&#160;<a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>,&#160;<a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&#160;&gt;&gt;()</code>&#160;</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &gt;&gt;&#160;</td>
+          <td class="paramname"><em>annotations</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1135,8 +1249,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a8878f384c4a2861add3f43da4aa7e080"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8878f384c4a2861add3f43da4aa7e080">&#9670;&nbsp;</a></span>Float32()</h2>
+<a id="af233b18ee0522a900568b14b6f9ef8d6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af233b18ee0522a900568b14b6f9ef8d6">&#9670;&nbsp;</a></span>Float16x16()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1145,7 +1259,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float32 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float16x16 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1161,8 +1275,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a6ff858a2cfb49c10fc00ae68a1728086"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6ff858a2cfb49c10fc00ae68a1728086">&#9670;&nbsp;</a></span>Float64()</h2>
+<a id="ad5311856f8b8b4df884170d8c4c513c8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5311856f8b8b4df884170d8c4c513c8">&#9670;&nbsp;</a></span>Float16x32()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1171,7 +1285,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float64 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float16x32 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1187,8 +1301,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a8f02a339b55424163e97c46f1c9f7976"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8f02a339b55424163e97c46f1c9f7976">&#9670;&nbsp;</a></span>Float8()</h2>
+<a id="a6843af0b415dd3c3555b176cd3233b6b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6843af0b415dd3c3555b176cd3233b6b">&#9670;&nbsp;</a></span>Float16x4()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1197,7 +1311,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float8 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float16x4 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1213,114 +1327,112 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a8dee79c7df5e244c728406bad1db7002"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8dee79c7df5e244c728406bad1db7002">&#9670;&nbsp;</a></span>FuncAttrs()</h2>
+<a id="ac42c4020fca22350e8159b86cefb4031"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac42c4020fca22350e8159b86cefb4031">&#9670;&nbsp;</a></span>Float16x64()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">void tvm::script::ir_builder::tir::FuncAttrs </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float16x64 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &gt;&#160;</td>
-          <td class="paramname"><em>attrs</em></td><td>)</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
 </div><div class="memdoc">
 
-<p>The PrimFunc annotation statement. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">attrs</td><td>The annotations of the PrimFunc. </td></tr>
-  </table>
-  </dd>
-</dl>
-
 </div>
 </div>
-<a id="a6abb6566a443b59385ec26213336f1c0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6abb6566a443b59385ec26213336f1c0">&#9670;&nbsp;</a></span>FuncName()</h2>
+<a id="a1f72082ac88788080f123bf8c93500e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f72082ac88788080f123bf8c93500e6">&#9670;&nbsp;</a></span>Float16x8()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">void tvm::script::ir_builder::tir::FuncName </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float16x8 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>&#160;</td>
-          <td class="paramname"><em>name</em></td><td>)</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
 </div><div class="memdoc">
 
-<p>The PrimFunc naming statement. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">name</td><td>The name of the PrimFunc. </td></tr>
-  </table>
-  </dd>
-</dl>
-
 </div>
 </div>
-<a id="a4d377c370c4d836034937d558f6fba11"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4d377c370c4d836034937d558f6fba11">&#9670;&nbsp;</a></span>FuncRet()</h2>
+<a id="a8878f384c4a2861add3f43da4aa7e080"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8878f384c4a2861add3f43da4aa7e080">&#9670;&nbsp;</a></span>Float32()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Type.html">Type</a> tvm::script::ir_builder::tir::FuncRet </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float32 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1Type.html">Type</a>&#160;</td>
-          <td class="paramname"><em>ret_type</em></td><td>)</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
 </div><div class="memdoc">
 
-<p>The PrimFunc return type statement. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">ret_type</td><td>The return type of the PrimFunc. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The return type. </dd></dl>
-
 </div>
 </div>
-<a id="a0e2f9aeceb779e5186af2e9b55fbabca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0e2f9aeceb779e5186af2e9b55fbabca">&#9670;&nbsp;</a></span>Grid()</h2>
+<a id="acb206b62b60473442d995a4f868f57f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb206b62b60473442d995a4f868f57f1">&#9670;&nbsp;</a></span>Float32x16()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrame.html">ForFrame</a> tvm::script::ir_builder::tir::Grid </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float32x16 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
-          <td class="paramname"><em>extents</em></td><td>)</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
 </div><div class="memdoc">
 
-<p>The grid For statement. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">extents</td><td>The extents of the iteration. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrame.html" title="Managed reference to ForFrameNode. ">ForFrame</a>. </dd></dl>
-
 </div>
 </div>
-<a id="a07e14252128fe48c5e9bbd33c1e460fc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a07e14252128fe48c5e9bbd33c1e460fc">&#9670;&nbsp;</a></span>Handle()</h2>
+<a id="ad859865f93db0e8b124464203253fdab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad859865f93db0e8b124464203253fdab">&#9670;&nbsp;</a></span>Float32x32()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1329,7 +1441,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Handle </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float32x32 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1345,55 +1457,60 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a31e99fdb505e94750f9c45bf35399371"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a31e99fdb505e94750f9c45bf35399371">&#9670;&nbsp;</a></span>If()</h2>
+<a id="afc23e87468bd379cef2e436dec7380ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afc23e87468bd379cef2e436dec7380ec">&#9670;&nbsp;</a></span>Float32x4()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrame.html">IfFrame</a> tvm::script::ir_builder::tir::If </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float32x4 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td>
-          <td class="paramname"><em>condition</em></td><td>)</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
 </div><div class="memdoc">
 
-<p>Create an if statement. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">condition</td><td>The condition of if statement. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1IfFrame.html" title="Managed reference to IfFrameNode. ">IfFrame</a>. </dd></dl>
-
 </div>
 </div>
-<a id="abd98d9f9b1651dfb649d590adf9335cd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abd98d9f9b1651dfb649d590adf9335cd">&#9670;&nbsp;</a></span>Init()</h2>
+<a id="ad363b06dcc7a557663219774aae3ae59"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad363b06dcc7a557663219774aae3ae59">&#9670;&nbsp;</a></span>Float32x64()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrame.html">BlockInitFrame</a> tvm::script::ir_builder::tir::Init </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float32x64 </td>
           <td>(</td>
-          <td class="paramname"></td><td>)</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
 </div><div class="memdoc">
 
-<p>The block initialization statement. </p>
-<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1BlockInitFrame.html" title="Managed reference to BlockInitFrameNode. ">BlockInitFrame</a>. </dd></dl>
-
 </div>
 </div>
-<a id="a71a8950ee36a0cc96b08f6a38a67beb8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a71a8950ee36a0cc96b08f6a38a67beb8">&#9670;&nbsp;</a></span>Int16()</h2>
+<a id="ae6706e8560ac719f2957e0186de014b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6706e8560ac719f2957e0186de014b3">&#9670;&nbsp;</a></span>Float32x8()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1402,7 +1519,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Int16 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float32x8 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1418,8 +1535,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="af90ae386a2b910cc52c17ebb6390404e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af90ae386a2b910cc52c17ebb6390404e">&#9670;&nbsp;</a></span>Int32()</h2>
+<a id="a6ff858a2cfb49c10fc00ae68a1728086"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6ff858a2cfb49c10fc00ae68a1728086">&#9670;&nbsp;</a></span>Float64()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1428,7 +1545,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Int32 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float64 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1444,8 +1561,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a4945336e84e5ce9b60b583ac0adb28d6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4945336e84e5ce9b60b583ac0adb28d6">&#9670;&nbsp;</a></span>Int32x16()</h2>
+<a id="acccc0b5d430d1205b3d1a782cab67aae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acccc0b5d430d1205b3d1a782cab67aae">&#9670;&nbsp;</a></span>Float64x16()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1454,7 +1571,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Int32x16 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float64x16 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1470,8 +1587,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a1d7bdb8458778293ced5af6ad9378283"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1d7bdb8458778293ced5af6ad9378283">&#9670;&nbsp;</a></span>Int32x4()</h2>
+<a id="ae07732bbb9fea30ff6b9c03a7150beeb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae07732bbb9fea30ff6b9c03a7150beeb">&#9670;&nbsp;</a></span>Float64x32()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1480,7 +1597,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Int32x4 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float64x32 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1496,8 +1613,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="ae89c85eabf166d4efddff53988ff57b5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae89c85eabf166d4efddff53988ff57b5">&#9670;&nbsp;</a></span>Int32x8()</h2>
+<a id="a4051e0d30c5fe712f65fffb8eee90d29"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4051e0d30c5fe712f65fffb8eee90d29">&#9670;&nbsp;</a></span>Float64x4()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1506,7 +1623,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Int32x8 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float64x4 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1522,8 +1639,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a7e3533536d109d1a5dd037c356ac2662"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7e3533536d109d1a5dd037c356ac2662">&#9670;&nbsp;</a></span>Int64()</h2>
+<a id="ab2aebc810c46e788e51c8e01a9eb7536"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab2aebc810c46e788e51c8e01a9eb7536">&#9670;&nbsp;</a></span>Float64x64()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1532,7 +1649,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Int64 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float64x64 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1548,8 +1665,8 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="aa8e3f67af7d6676f0980fa5fa6406ee7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa8e3f67af7d6676f0980fa5fa6406ee7">&#9670;&nbsp;</a></span>Int8()</h2>
+<a id="a4bb3d4dabf70259c2820a0f36c9e5661"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4bb3d4dabf70259c2820a0f36c9e5661">&#9670;&nbsp;</a></span>Float64x8()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1558,7 +1675,7 @@ Functions</h2></td></tr>
   <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Int8 </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float64x8 </td>
           <td>(</td>
           <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
           <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
@@ -1574,614 +1691,2093 @@ Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="a1b6a75a0308366b04fee2fe37a22a297"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1b6a75a0308366b04fee2fe37a22a297">&#9670;&nbsp;</a></span>LaunchThread()</h2>
+<a id="a8f02a339b55424163e97c46f1c9f7976"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f02a339b55424163e97c46f1c9f7976">&#9670;&nbsp;</a></span>Float8()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> tvm::script::ir_builder::tir::LaunchThread </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float8 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1tir_1_1Var.html">Var</a>&#160;</td>
-          <td class="paramname"><em>var</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td>
-          <td class="paramname"><em>extent</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
 </div><div class="memdoc">
 
-<p>Launch a thread. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">var</td><td>The iteration variable. </td></tr>
-    <tr><td class="paramname">extent</td><td>The extent of environment thread. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The result <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrame.html" title="Managed reference to LaunchThreadFrameNode. ">LaunchThreadFrame</a>. </dd></dl>
-
 </div>
 </div>
-<a id="a6e3d4fbea2aa5cf1f7c18dfa9fac094f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6e3d4fbea2aa5cf1f7c18dfa9fac094f">&#9670;&nbsp;</a></span>Let()</h2>
+<a id="ac5b707e9c9bd8ff20640e9aa5609f7ad"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5b707e9c9bd8ff20640e9aa5609f7ad">&#9670;&nbsp;</a></span>Float8x16()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LetFrame.html">LetFrame</a> tvm::script::ir_builder::tir::Let </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float8x16 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1tir_1_1Var.html">Var</a>&#160;</td>
-          <td class="paramname"><em>var</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td>
-          <td class="paramname"><em>value</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
 </div><div class="memdoc">
 
-<p>The let binding. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">var</td><td>The variable to bind. </td></tr>
-    <tr><td class="paramname">value</td><td>The value to be bound. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>The created <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LetFrame.html" title="Managed reference to LetFrameNode. ">LetFrame</a>. </dd></dl>
-
 </div>
 </div>
-<a id="aeed7efeb604129dd83dc6862fd857992"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeed7efeb604129dd83dc6862fd857992">&#9670;&nbsp;</a></span>MatchBuffer()</h2>
+<a id="a0c1842297c526585f5e7ecd5cf9fa835"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c1842297c526585f5e7ecd5cf9fa835">&#9670;&nbsp;</a></span>Float8x32()</h2>
 
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a> tvm::script::ir_builder::tir::MatchBuffer </td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float8x32 </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a>&#160;</td>
-          <td class="paramname"><em>param</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
-          <td class="paramname"><em>shape</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">DataType</a>&#160;</td>
-          <td class="paramname"><em>dtype</em> = <code><a class="el" href="classtvm_1_1runtime_1_1DataType.html#a237a714a6a16e14aa01fa4ac52426551">DataType::Float</a>(32)</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1tir_1_1Var.html">Var</a> &gt;&#160;</td>
-          <td class="paramname"><em>data</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
-          <td class="paramname"><em>strides</em> = <code>{}</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td>
-          <td class="paramname"><em>elem_offset</em> = <code><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>()</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>&#160;</td>
-          <td class="paramname"><em>storage_scope</em> = <code>&quot;global&quot;</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>align</em> = <code>-1</code>, </td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9d6a011a6d9a84e818bbed17821fca43"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9d6a011a6d9a84e818bbed17821fca43">&#9670;&nbsp;</a></span>Float8x4()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float8x4 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>offset_factor</em> = <code>0</code>, </td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9493b11608cc2420b3e3780726556f0c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9493b11608cc2420b3e3780726556f0c">&#9670;&nbsp;</a></span>Float8x64()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float8x64 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>&#160;</td>
-          <td class="paramname"><em>buffer_type</em> = <code>&quot;default&quot;</code>, </td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8d984cfc2c4f432a5e2bb16ed9723c9c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8d984cfc2c4f432a5e2bb16ed9723c9c">&#9670;&nbsp;</a></span>Float8x8()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> tvm::script::ir_builder::tir::Float8x8 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>expr</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1IntImm.html">IntImm</a> &gt;&#160;</td>
-          <td class="paramname"><em>axis_separators</em> = <code>{}</code>&#160;</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8dee79c7df5e244c728406bad1db7002"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8dee79c7df5e244c728406bad1db7002">&#9670;&nbsp;</a></span>FuncAttrs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
+          <td class="memname">void tvm::script::ir_builder::tir::FuncAttrs </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &gt;&#160;</td>
+          <td class="paramname"><em>attrs</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>The buffer match statement. </p>
+<p>The PrimFunc annotation statement. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">param</td><td>The parameter of the PrimFunc to match. </td></tr>
-    <tr><td class="paramname">shape</td><td>The type of the buffer prior to flattening. </td></tr>
-    <tr><td class="paramname">dtype</td><td>The data type in the content of the buffer. </td></tr>
-    <tr><td class="paramname">data</td><td>The pointer to the head of the data. </td></tr>
-    <tr><td class="paramname">strides</td><td>The strides of each dimension. </td></tr>
-    <tr><td class="paramname">elem_offset</td><td>The offset in terms of number of dtype elements (including lanes). </td></tr>
-    <tr><td class="paramname">storage_scope</td><td>The optional storage scope of buffer data pointer. </td></tr>
-    <tr><td class="paramname">align</td><td>The alignment requirement of data pointer in bytes. </td></tr>
-    <tr><td class="paramname">offset_factor</td><td>The factor of elem_offset field. </td></tr>
-    <tr><td class="paramname">buffer_type</td><td>The buffer type. </td></tr>
-    <tr><td class="paramname">axis_separators</td><td>The separators between input axes when generating flattened output axes. </td></tr>
+    <tr><td class="paramname">attrs</td><td>The annotations of the PrimFunc. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>The matched buffer. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2workspace_2include_2tvm_2script_2ir_builder_2base_8h-example.html#a0">/workspace/include/tvm/script/ir_builder/base.h</a>.</dd>
-</dl>
+
 </div>
 </div>
-<a id="af443e6c0816e4e4ff97881df7a11a6db"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af443e6c0816e4e4ff97881df7a11a6db">&#9670;&nbsp;</a></span>Parallel()</h2>
+<a id="a6abb6566a443b59385ec26213336f1c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6abb6566a443b59385ec26213336f1c0">&#9670;&nbsp;</a></span>FuncName()</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrame.html">ForFrame</a> tvm::script::ir_builder::tir::Parallel </td>
+          <td class="memname">void tvm::script::ir_builder::tir::FuncName </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td>
-          <td class="paramname"><em>start</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td>
-          <td class="paramname"><em>stop</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Optional.html">Optional</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a>&lt; <a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>, <a class="el" href="classtvm_1_1runtime_1_1ObjectRef.html">ObjectRef</a> &gt;&gt;&#160;</td>
-          <td class="paramname"><em>annotations</em> = <code><a class="el" href="namespacetvm.html#aae7034e3e41c18e7fb78ff32bfc6a318">NullOpt</a></code>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1String.html">String</a>&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>The parallel For statement. </p>
+<p>The PrimFunc naming statement. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">start</td><td>The minimum value of iteration. </td></tr>
-    <tr><td class="paramname">stop</td><td>The maximum value of iteration. </td></tr>
-    <tr><td class="paramname">annotations</td><td>The optional annotations of the For statement. </td></tr>
+    <tr><td class="paramname">name</td><td>The name of the PrimFunc. </td></tr>
   </table>
   </dd>
 </dl>
-<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrame.html" title="Managed reference to ForFrameNode. ">ForFrame</a>. </dd></dl>
 
 </div>
 </div>
-<a id="aeb707d56c770edb33ebf73da27ebc1b9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeb707d56c770edb33ebf73da27ebc1b9">&#9670;&nbsp;</a></span>Prefetch()</h2>
+<a id="a4d377c370c4d836034937d558f6fba11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d377c370c4d836034937d558f6fba11">&#9670;&nbsp;</a></span>FuncRet()</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void tvm::script::ir_builder::tir::Prefetch </td>
+          <td class="memname"><a class="el" href="classtvm_1_1Type.html">Type</a> tvm::script::ir_builder::tir::FuncRet </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a>&#160;</td>
-          <td class="paramname"><em>buffer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1Range.html">Range</a> &gt;&#160;</td>
-          <td class="paramname"><em>bounds</em>&#160;</td>
-        </tr>
-        <tr>
+          <td class="paramtype"><a class="el" href="classtvm_1_1Type.html">Type</a>&#160;</td>
+          <td class="paramname"><em>ret_type</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>The prefetch hint for a buffer. </p>
+<p>The PrimFunc return type statement. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">buffer</td><td>The buffer to be prefetched. </td></tr>
-    <tr><td class="paramname">bounds</td><td>The bounds to be prefetched. </td></tr>
+    <tr><td class="paramname">ret_type</td><td>The return type of the PrimFunc. </td></tr>
   </table>
   </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>The return type. </dd></dl>
 
 </div>
 </div>
-<a id="acdcdf58de7c6aec49464cfe166351a64"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acdcdf58de7c6aec49464cfe166351a64">&#9670;&nbsp;</a></span>PreflattenedBuffer()</h2>
+<a id="a0e2f9aeceb779e5186af2e9b55fbabca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0e2f9aeceb779e5186af2e9b55fbabca">&#9670;&nbsp;</a></span>Grid()</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void tvm::script::ir_builder::tir::PreflattenedBuffer </td>
+          <td class="memname"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1ForFrame.html">ForFrame</a> tvm::script::ir_builder::tir::Grid </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1tir_1_1Buffer.html">Buffer</a>&#160;</td>
-          <td class="paramname"><em>postflattened_buffer</em>, </td>
+          <td class="paramtype"><a class="el" href="classtvm_1_1runtime_1_1Array.html">Array</a>&lt; <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> &gt;&#160;</td>
+          <td class="paramname"><em>extents</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The grid For statement. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">extents</td><td>The extents of the iteration. </td></tr>
+  </table>
+  </dd>
+</dl>
... 6142 lines suppressed ...